-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create Checkpoint actor to accumulate signatures #207
Comments
As per #209 this method should take as input parameters the past validator set, because the contract will not keep the history of the power table. Fendermint shall retrieve the validators from CometBFT based on the height indicated in the signature, and then the contract can check whether the signatory can legally submit signatures, it should remember whether it has submitted one already, adjust the power, check for quorum, etc. Some of these checks can be done in Fendermint too, but since the same checks need to be done in Solidity on the parent, why not do it in Solidity here too. |
Then, we can garbage collect old signatures set from that map. @aakoshh Is my understanding correct? |
I don't know why you would complicate things with a membership hash here. We need a list of checkpoints. True, at any height there can be at most one checkpoint, so you can store them indexed by height. But there is only one membership eligible to sign a checkpoints, so there's no reason to sub-index by its hash. Just store the actual checkpoint, which is a
Yes that sounds right.
I don't think there is any need for this hashing.
I think that should be more like an append, not overwriting with the single input signature.
I am not sure at which point we can garbage collect signatures, I'd say we can postpone that for now. First let's get all the other stories completed. |
IMO start with the definition of a |
As a Fendermint interpreter, I want to be able to use a smart contract (actor) to store the checkpoints about our own subnet, while the validator signatures are being accumulated. I want the contract to be able to emit events to which relayers can subscribe.
I don't know if a Solidity or a built-in actor is better for this. The Solidity API can be used for subscriptions, but so can the Tendermint RPC. The checkpoint itself will either go as "full fat" Solidity message to Lotus, or a "low fat" message with a CID if the parent is Fendermint.
The text was updated successfully, but these errors were encountered: