-
Notifications
You must be signed in to change notification settings - Fork 716
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
fix: export only active consensus validators #3445
base: main
Are you sure you want to change the base?
Conversation
Otherwise the genesis import will fail because the provider module will tell it to expect only those validators
892f3af
to
3c5e8d6
Compare
return validators[i].Power > validators[j].Power | ||
}) | ||
// we have to trim this to only active consensus validators | ||
maxVals := app.ProviderKeeper.GetMaxProviderConsensusValidators(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would delete validators that are allowed to validate consumer chains but are not in the active validator set of the hub.
Would you mind expanding on the issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. This assertion fails when you're importing a chain right now. This is because the provider keeper only answered with the consensus validators.
Would the validators actually be deleted? I was expecting them to still be in the app_state for staking
so that once the chain starts up they get added back to the set, but I may be wrong
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This command if for exporting when creating a new genesis.json
if I'm not mistaken.
In that case, yes, they would be deleted and not available in the new chain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll do some testing next week and come back to this
Description
The genesis import will ask each module which validators to take as active. The provider will answer with only the active consensus validators. If the genesis export file contains a different set of validators, the import will fail.
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
to the type prefix if API, client, or state breaking change (i.e., requires minor or major version bump).changelog
(for details, see contributing guidelines)Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
!
in the type prefix if API or client breaking change