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
Hash the checkpoint and validate all signatures against it, recovering the public keys from them
Check that all public keys (or FVM addresses derived from them) are part of the currently expected validator set
Check that the total power of all signatories is sufficient for a quorum.
Check that the checkpointed height is the expected one
Reward the relayer for their service - see the other story for notes
If this is the first time the checkpoint is submitted, execute the messages, or put them in the execution queue.
Update the next expected configuration number
Mark the checkpoint as relayed but not executed
So basically it should validate and register the checkpoint, but it won't have messages to execute. Notably it will not try to validate the CID against the messages because Fendermint will do that by the virtue of trying to resolve it. The BottomUpCheckpoint has to make cross_messages_hash wide enough to accept a CID as well as a 32 byte hash.
Then, Fendermint will do the CID resolution and propose the checkpoint for execution when the data is available.
It will use the mechanism in #212 to execute when the majority of validators agree that the data is ready. In Fendermint, they will execute these messages implicitly by passing them as a batch to Solidity, (or telling Solidity how much gas it can spend on executing messages from a queue in the current block), delegating the responsibility of charging for it to Solidity, but removing the need for the relayer to foot the bill.
The text was updated successfully, but these errors were encountered:
This is a variant of #278 for the use case when Fendermint is used to run the parent subnet.
The differences are:
The idea is that we need a method like this on the SubnetActor:
The method should:
So basically it should validate and register the checkpoint, but it won't have messages to execute. Notably it will not try to validate the CID against the messages because Fendermint will do that by the virtue of trying to resolve it. The
BottomUpCheckpoint
has to makecross_messages_hash
wide enough to accept a CID as well as a 32 byte hash.Then, Fendermint will do the CID resolution and propose the checkpoint for execution when the data is available.
It will use the mechanism in #212 to execute when the majority of validators agree that the data is ready. In Fendermint, they will execute these messages implicitly by passing them as a batch to Solidity, (or telling Solidity how much gas it can spend on executing messages from a queue in the current block), delegating the responsibility of charging for it to Solidity, but removing the need for the relayer to foot the bill.
The text was updated successfully, but these errors were encountered: