This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
pallet Collective: fix genesis member sort order #13988
Merged
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-runtime
invariants 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?