NethermindEth / near-sffl

https://nffl.nethermind.io/
MIT License
6 stars 3 forks source link

Add forceOperatorSetUpdate to SFFLRegistryRollup #195

Closed Hyodar closed 1 month ago

Hyodar commented 1 month ago

This PR adds a testnet-specific utility for managing unattested operator set updates. Currently, as we don't have a reliable delivery for operator set updates, there can be a situation in which operators don't agree on an operator set update for inactivity. Especially in an unstable testing environment this is a very much possible situation. In this case, we don't have an agreement to send to the rollup contracts. One solution for this, rollup-specific, would be accepting bridged calls and using the rollup bridge to do that. However, for now having an owner method for forcing an operator set update is a lot more convenient and doesn't really change the trust assumption, as e.g. the admin could still change the quorum threshold or update the contracts in order to achieve the same result. So, in the end, this is just a shortcut so we don't have to make a quick workaround if this ever is needed. In a mainnet scenario, this method would be either non-existent or managed by a fancier flow, such as by using a timelock or governance admin.

After approval, the rollup contracts will be upgraded to use this new implementation. The understanding is this should be used with considerable care only, and the situation which caused the consensus to not be reached (or some aggregator fault) should be investigated.

Hyodar commented 1 month ago

Sure, going to update the bindings and devnet anvil states soon. Also going to replicate the updateOperatorSet tests for this one.