-
Notifications
You must be signed in to change notification settings - Fork 49
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
MESH-2209 multisig improvements part 4 #1697
Merged
Neopallium
merged 13 commits into
MESH-1955-multisig-improvements
from
MESH-2209-multisig-improvements-part-4
Aug 15, 2024
Merged
MESH-2209 multisig improvements part 4 #1697
Neopallium
merged 13 commits into
MESH-1955-multisig-improvements
from
MESH-2209-multisig-improvements-part-4
Aug 15, 2024
Conversation
This file contains 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
Neopallium
changed the base branch from
develop
to
MESH-1955-multisig-improvements-part-3
August 2, 2024 11:56
Neopallium
changed the title
[WIP] MESH-2209 multisig improvements part 4
MESH-2209 multisig improvements part 4
Aug 6, 2024
Base automatically changed from
MESH-1955-multisig-improvements-part-3
to
remove_bridge_part_1
August 13, 2024 13:49
Neopallium
force-pushed
the
remove_bridge_part_1
branch
from
August 13, 2024 14:14
d5d4f94
to
0cf7b4e
Compare
Base automatically changed from
remove_bridge_part_1
to
MESH-1955-multisig-improvements
August 13, 2024 14:14
Neopallium
force-pushed
the
MESH-2209-multisig-improvements-part-4
branch
from
August 13, 2024 14:19
65165cc
to
e92962c
Compare
Neopallium
force-pushed
the
MESH-1955-multisig-improvements
branch
from
August 14, 2024 14:32
72d94dd
to
1c76b51
Compare
Neopallium
force-pushed
the
MESH-2209-multisig-improvements-part-4
branch
from
August 14, 2024 14:34
e92962c
to
2f60962
Compare
HenriqueNogara
approved these changes
Aug 14, 2024
adamdossa
approved these changes
Aug 15, 2024
* 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.
Neopallium
merged commit Aug 15, 2024
401e40a
into
MESH-1955-multisig-improvements
1 of 10 checks passed
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.
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
CreatorDid
intoAdminDid
andPayingDid
.*_via_admin
controls.*_via_admin
controls. The admin DID can also remove itself as the admin of a multisig.identity.leave_identity_as_key
) and join a new identity usingmultisig.approve_join_identity
and the transaction fees will be paid by the primary key of the joining identity.modified external API
*_via_creator
to*_via_admin
.CreatorDid
renamed toAdminDid
.PayingDid
to hold the identity that pays transaction fees.PayingDid
by default, but doesn't have admin controls.create_multisig
now adds the new multisig to the caller's identity as a secondary key. By default the multisig will have no permissions unless the caller is the primary key and has provided custom permissions.make_multisig_primary
,make_multisig_secondary
andremove_creator_controls
extrinsics.remove_creator_controls
withremove_admin_via_admin
extrinsic.new external API
multisig.add_admin(identity)
callable by the multisig to add an identity as admin.multisig.remove_admin_via_admin(multisig)
callable by the admin to remove itself as admin of a multisig.multisig.remove_payer()
callable by the multisig to remove the paying identity. The multisig will need to pay for its own transaction/protocol fees.multisig.remove_payer_via_payer(multisig)
callable by the paying identity to remove itself as the payer of fees for the multisig.multisig.approve_join_identity(auth_id)
callable by multisig signers to approve joining a new identity. The primary key of the joining identity will pay for transaction fees.multisig.join_identity(auth_id)
this is called by the proposal created inapprove_join_identity
to accept a join identity authorization.AuthToProposalId
used bymultisig.approve_join_identity
to map anauth_id
toproposal_id
.modified events
caller_did
is now optional for multisig events:ProposalAdded
,ProposalExecuted
,MultiSigSignersRequiredChanged
,ProposalApprovalVote
,ProposalRejectionVote
,ProposalApproved
, andProposalRejected
. Since the multisig could be unlinked from an identity when those events are emitted.new events
MultiSigAddedAdmin
,MultiSigRemovedAdmin
, andMultiSigRemovedPayingDid
.data migration
Multisig.LostCreatorPrivileges
.Multisig.CreatorDid
toMultisig.PayingDid
andMultisig.AdminDid
(only ifLostCreatorPrivileges
hasn't been set).