For the above batch, the committee root is not matched with the calculated merkle root based on the operator infos, same resule in range of batch 4874 ~ 4940.
The reason of this mismatching is related to the sequencer logic, the sequencer is getting the operator infos from the block state which update tx is executed. If there is any delegation change tx from Eigenlayer side after the update tx in one block, it will affect the operator voting power, as a result the calculated merkle root will be changed.
Actions
To figure out this issue, we need to refactor the sequencer to get the exact intermediate state which update tx is referred. For it, we need to sync DelegationChange events from Eigenlayer DM contracts and replay them to get the exact operator shares.
To prevent those unexpected issues, we need to setup the cross-verification process to detect the issue early.
Context
For CHAIN_ID="10" BATCH_NUMBER="4875"
For the above batch, the committee root is not matched with the calculated merkle root based on the operator infos, same resule in range of batch 4874 ~ 4940.
The reason of this mismatching is related to the sequencer logic, the sequencer is getting the operator infos from the block state which
update
tx is executed. If there is any delegation change tx from Eigenlayer side after theupdate
tx in one block, it will affect the operator voting power, as a result the calculated merkle root will be changed.Actions
To figure out this issue, we need to refactor the sequencer to get the exact intermediate state which
update
tx is referred. For it, we need to syncDelegationChange
events from Eigenlayer DM contracts and replay them to get the exact operator shares.To prevent those unexpected issues, we need to setup the cross-verification process to detect the issue early.
Tasks