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
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.
The text was updated successfully, but these errors were encountered:
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:
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:
(has_changed, configuration_number)
tuple, orThe 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.
The text was updated successfully, but these errors were encountered: