The core trustHeader hook an already-anchored build hands the verifier.
It answers per header rather than per call: each anchored endpoint reports
its own verdict, so a rule that reads an attestation at a hop other than the
one the caller had in mind gets that hop's answer instead of another's. A
header no endpoint here anchored is a question this hook cannot answer, and
it throws rather than guessing.
The key is the hash and the height together, because the value says hash at
height and nothing weaker. An anchor establishes that this hash is the block
at that height, so answering the same verdict for the same hash presented at
another height would hand back an attestation of a pair nobody attested to.
The core hook is synchronous and cannot await an attesting round trip, which
is why the anchoring runs first and this reports what it found.
The core
trustHeaderhook an already-anchored build hands the verifier.It answers per header rather than per call: each anchored endpoint reports its own verdict, so a rule that reads an attestation at a hop other than the one the caller had in mind gets that hop's answer instead of another's. A header no endpoint here anchored is a question this hook cannot answer, and it throws rather than guessing.
The key is the hash and the height together, because the value says hash at height and nothing weaker. An anchor establishes that this hash is the block at that height, so answering the same verdict for the same hash presented at another height would hand back an attestation of a pair nobody attested to.
The core hook is synchronous and cannot await an attesting round trip, which is why the anchoring runs first and this reports what it found.