Skip to content
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

Method in the gateway to apply the validator changelog #276

Closed
aakoshh opened this issue Oct 5, 2023 · 0 comments
Closed

Method in the gateway to apply the validator changelog #276

aakoshh opened this issue Oct 5, 2023 · 0 comments

Comments

@aakoshh
Copy link
Contributor

aakoshh commented Oct 5, 2023

This is a successor to #208

At the time that issue was implemented we were dealing with full Membership as the atomic change. Now we have consensus-shipyard/ipc-solidity-actors#225 which introduces the concept of a changelog.

This requires the creation of a method in Solidity that we call during the checkpoint transition to apply the validator change requests which were stashed since the last checkpoint.

The method should:

  • Apply all changes to a data structure that is identical to one in the parent with the two priority queues
  • Return the configuration number from the last change

If there are no changes, it should signal it to the caller so that it can skip trying to generate a diff to give to CometBFT, by:

  • returning 0 for configuration number - any change would be a non-zero value, because 0 is for genesis, or
  • return a (has_changed, configuration_number) tuple, or
  • return the new active validator set, with an empty set for no change, or
  • return a combo of a flag and a validator set...
  • return the updates, ie. the diff itself, where an empty is a valid value; along with the new configuration number

The simplest I reckon is to return 0, and then Fendermint can run another query to get the active validators if the value is non-zero, and do the diff with CometBFT on its own.

@aakoshh aakoshh closed this as completed Oct 12, 2023
@jsoares jsoares transferred this issue from consensus-shipyard/fendermint Dec 19, 2023
@jsoares jsoares closed this as not planned Won't fix, can't repro, duplicate, stale Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants