This repository was archived by the owner on Nov 15, 2023. It is now read-only.
pallet Collective: fix genesis member sort order#13988
Merged
liamaharon merged 3 commits intomasterfrom Apr 27, 2023
Merged
Conversation
bkchr
approved these changes
Apr 24, 2023
ggwpez
approved these changes
Apr 25, 2023
Member
Adding more and more |
gpestana
pushed a commit
that referenced
this pull request
May 4, 2023
#13988) * insert members in sorted order * improve variable name * enforce genesis members length constraint
15 tasks
nathanwhit
pushed a commit
to nathanwhit/substrate
that referenced
this pull request
Jul 19, 2023
paritytech#13988) * insert members in sorted order * improve variable name * enforce genesis members length constraint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Collective pallet currently does not check that genesis members are sorted or sort them before setting them as expected by the pallet:
substrate/frame/collective/src/lib.rs
Lines 281 to 285 in 9370f42
kitchen-sink-runtimeinvariants are currently broken due to this bug.This PR adds sorting logic into the
initialize_members, ensuring genesis members are inserted in sorted order.Props to @Szegoo for adding the Collective try-state hooks (#13645) that caught this!
Open question: what's the likelihood there're other pallets that suffer from a similar bug? Should an issue need to be opened to investigate that?