You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[tesseract]: greedily select rotation proofs the destination can verify
A stored rotation proof keyed K is a BEEFY commitment signed by the outgoing
set (validatorSetId = K-1) whose leaf reveals K+1. A destination only accepts a
commitment signed by its on-chain current or next set, so a destination that has
skipped a set (next > current+1, e.g. BSC current=5071/next=5073) cannot verify
keyed-(next) — it is signed by next-1, which it never saw — and reverts with
UnknownAuthoritySet.
Replace the single-offset anchor with a greedy walk of the destination state:
applying keyed-K to {cur,nxt} yields {nxt,K+1}, so pick keyed-(cur+1) when
contiguous (advance by one, no skip) and keyed-(nxt+1) when gapped (signed by
nxt; advances, stepping over sets that can no longer be installed). Stop when the
next needed proof hasn't been produced on HB yet and continue on a later tick.
rotation_proofs_from now returns all stored proofs above `from` and no longer
errors on a missing immediate-next entry; the caller decides what it needs.
0 commit comments