MESH-2006 multisig improvements part 2#1690
Merged
adamdossa merged 15 commits intoMESH-1955-multisig-improvementsfrom Aug 13, 2024
Merged
MESH-2006 multisig improvements part 2#1690adamdossa merged 15 commits intoMESH-1955-multisig-improvementsfrom
adamdossa merged 15 commits intoMESH-1955-multisig-improvementsfrom
Conversation
69d8dd7 to
a4740dd
Compare
1a4a195 to
344c16c
Compare
a4740dd to
c0e77f6
Compare
…linked DID or it's creator DID.
344c16c to
ec20cb7
Compare
Neopallium
commented
Aug 6, 2024
HenriqueNogara
approved these changes
Aug 6, 2024
adamdossa
approved these changes
Aug 13, 2024
Neopallium
added a commit
that referenced
this pull request
Aug 13, 2024
* Refactor ProposalDetails and ProposalStatus. * Convert multisig pallet to frame v2. * Refactor Multisig events. * Don't use Concat based hashing on the Proposal in storage map ProposalIds. * Don't use Context::current_identity in multisig pallet. Use the MS's linked DID or it's creator DID. * Fix bridge controller's CreatorDID. * Allow a primary key to use custom permissions when making a multisig a secondary key. * Add tests for 'make_multisig_secondary'. * Support adding/removing multiple MS signers. * Emit one event when adding/removing many signers. * Add execution reentry guard to multisig proposal execution. * Fix benchmark for approve and create_proposal. * Use bounded vec for multisig signers. * Fix multisig unit tests. * Make MaxSigners a constant in the metadata.
Neopallium
added a commit
that referenced
this pull request
Aug 14, 2024
* Refactor ProposalDetails and ProposalStatus. * Convert multisig pallet to frame v2. * Refactor Multisig events. * Don't use Concat based hashing on the Proposal in storage map ProposalIds. * Don't use Context::current_identity in multisig pallet. Use the MS's linked DID or it's creator DID. * Fix bridge controller's CreatorDID. * Allow a primary key to use custom permissions when making a multisig a secondary key. * Add tests for 'make_multisig_secondary'. * Support adding/removing multiple MS signers. * Emit one event when adding/removing many signers. * Add execution reentry guard to multisig proposal execution. * Fix benchmark for approve and create_proposal. * Use bounded vec for multisig signers. * Fix multisig unit tests. * Make MaxSigners a constant in the metadata.
Neopallium
added a commit
that referenced
this pull request
Aug 15, 2024
* Remove old _as_identity extrinsics. * Fix multisig benchmarks. * Remove use of Signatory type from MultiSig pallet. * Fix JS integration tests. * Add migration for MultiSig Signatory storage. * Don't use scheduler to execute MS proposals. * Add MultiSig secondary key permissions tests. * Rust integration tests needs more memory. * Remove auto_close flag from MultiSig and always close proposals when they have been rejected. * Fix Rust integration test build. * Rename MultiSigToIdentity to CreatorDid. * Disable CI cache for Rust integration tests. * Don't migrate the Votes storage, it will be cleared. * MESH-2006 multisig improvements part 2 (#1690) * Refactor ProposalDetails and ProposalStatus. * Convert multisig pallet to frame v2. * Refactor Multisig events. * Don't use Concat based hashing on the Proposal in storage map ProposalIds. * Don't use Context::current_identity in multisig pallet. Use the MS's linked DID or it's creator DID. * Fix bridge controller's CreatorDID. * Allow a primary key to use custom permissions when making a multisig a secondary key. * Add tests for 'make_multisig_secondary'. * Support adding/removing multiple MS signers. * Emit one event when adding/removing many signers. * Add execution reentry guard to multisig proposal execution. * Fix benchmark for approve and create_proposal. * Use bounded vec for multisig signers. * Fix multisig unit tests. * Make MaxSigners a constant in the metadata. * Remove bridge part 1 (#1691) * Remove Bridge extrinsics, events, errors. Only keep the storage. * MESH-2006 multisig improvements part 3 (#1693) * Remove multisig.create_or_approve_proposal extrinsic and multisig.ProposalIds storage. * Prune multisig proposal when it is executed/rejected. * Rename MultiSigTxDone to NextProposalId. * MESH-2209 multisig improvements part 4 (#1697) * Rename MS creator to admin and add paying DID support. * Split a long running test into smaller tests. * Restrict the total number of signers on a multisig. * Always use the Multisig's DID for adding new signers. * Multisig nesting is not allowed. * Fix test build. * Allow a multisig to remove it's paying DID to pay their own fees. * Add join identity support to MultiSig. * The approve_join_identity call is paid by the joining DIDs primary key. * Add some missing events. * Use wasm based weights. * Add tests for remove_payer. * Remove use of Context::current_identity (#1698) * Remove use of Context::current_identity * Add some more TODOs. * Remove Context::set_current_identity() calls from unit tests. * Remove some more current_identity from unit tests. * Use controller not stash for Unbonded event. * Fix remove_authorization for unlinked keys. * Use GC_DID in treasury event. * Lint fix. * Finish TODOs. * Remove all Context::current_identity code. * Remove identity CurrentDid storage.
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
changelog
new features
multisig.add_multisig_signersandmultisig.remove_multisig_signers.modified external API
ProposalDetailstorage into two storage itemsProposalVoteCountsandProposalStates.ProposalVoteCountsonly stores the approval/rejection vote counts.ProposalStatesonly store the state and expirey.Proposalvalue in double mapMultiSig.ProposalIdsfromBlake2_128ConcattoBlake2_128.multisig.make_multisig_secondarytake an optional set of permissions. Only the creator's primary key can set custom permissions.multisig.add_multisig_signerhas been replaced withmultisig.add_multisig_signersto allow adding multiple signers.multisig.remove_multisig_signerhas been replaced withmultisig.remove_multisig_signersto allow removing multiple signers.BoundedVec<AccountId, T::MaxSigners>for signers list when creating/adding/removing multisig signers. Multisigs can still have more thanT::MaxSigners, the limit is just used for a single call.modified events
MultiSig.ProposalExecutedevent is now emitted for both successful and failed executions. Theresultfield is used to see if the execution failed and get the error.MultiSig.ProposalFailedToExecutehas been removed, since the error is available in theProposalExecutedevent.MultiSigSignerAuthorizedtoMultiSigSignersAuthorizedand change thesignerfield tosignersas a bounded vec. Now only one event is emitted when adding multiple signers.MultiSigSignerRemovedtoMultiSigSignersRemovedand change thesignerfield tosignersas a bounded vec. Now only one event is emitted when removing multiple signers.new events
MultiSig.ProposalApprovalVoteevent to signal an approval vote instead of eventProposalApproved. TheProposalApprovedevent is now only emitted when the proposal has received enough votes to be executed.data migration
MultiSig.ProposalDetailstorage.