-
Notifications
You must be signed in to change notification settings - Fork 47
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-1793 multisig primary/secondary key with balance. #1224
Merged
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
MultiSig signers are never linked directly to an identity.
Neopallium
added
the
release-notes
Tag to use if PR needs to be reflected in release notes
label
Mar 10, 2022
Neopallium
changed the title
MESH-1793 multisig secondary key
MESH-1793 multisig primary/secondary key with balance.
Mar 10, 2022
This comment was marked as resolved.
This comment was marked as resolved.
CJP10
approved these changes
Mar 14, 2022
Centril
added
the
breaking-api-changes
PR includes changes that break existing APIs
label
Mar 15, 2022
Centril
reviewed
Mar 15, 2022
Centril
approved these changes
Mar 16, 2022
Centril
pushed a commit
that referenced
this pull request
Apr 20, 2022
* Remove dead code. MultiSig signers are never linked directly to an identity. * Remove unused `MultiSig::get_key_signers()` * Rename `make_multisig_signer` to `make_multisig_secondary` * Fix MultiSig balance check. * Add test for primary key MultiSig with balance. * Change MultiSig balance restriction to 1 POLYX. * docs cleanup.
adamdossa
added a commit
that referenced
this pull request
May 18, 2022
* Add generated schema for error types. (#1167) * Bump rust nightly 2021-12-08 (#1178) * Bump rust nightly. Bump packed_simd_2 to fix nightly compile issue. * Update nightly version in Circle CI. * Fix benchmarks for nightly. * Try fixing circle ci resource usage issue. * Fixup. * Try downloading rustup. * Use defaults for rustup install. * Fixup rustup install steps. * More fixups. * Don't sudo the rustup installer. * Fix rustup setup. * Fix wasm-gc build. * Need more packages for building. * Need to install rustup first. * FIXUP * Remove extra cache folder. * add sonar-project.properties (#1180) * Fix docs build. (#1182) * Small schema fix. (#1181) * Bump nightly again to use newer docker image. (#1183) * Bump nightly again to use newer docker image. * Update circleci docker images. * Mesh 1673/integrate jest into js tests (#1146) * added jest config, and libraries * test: configure jest to for polkadot compatibility The latest polkadot versions do not play well with jest out of the box * created identity test using Jest * added --silent to Jest so comments are ignored * minor change in jest.config file so setup.ts isn't seen as a test * package.json using space instead of tab * minor formatting * minor formatting * replacing nonce with -1 * added poly transfer test * added sqlite3 * modified sqlite3 script and made minor changes in init script * changed table name and added error message * minor changes to timeout value in tests * added 2_key_management and 3_auth_join_did tests * increased timeout value of tests * added more tests * increased timeout for tests * minor changes and setting Jest to run sequentially * added --silent tag * minor changes to clean code * minor change * changed to ./test.sh * minor change * minor changes * updated types * minor change to fix ci error * Updated comment Co-authored-by: polymath-eric <86971143+polymath-eric@users.noreply.github.com> * minor change * minor change * minor changes * Update package name to include @PolymathNetwork * Set package to private Co-authored-by: Jeremias Diaz <monitz87@gmail.com> Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> Co-authored-by: polymath-eric <86971143+polymath-eric@users.noreply.github.com> Co-authored-by: Adam Dossa <adam.dossa@gmail.com> * Fix permissions complexity limits (#1189) * Add permissions complexity limits. * Update permissions limits in benchmark/tests. * Bump spec_version to be one more then mainnet. * Fix typo in MultiSig benchmarks. * Cargo fmt * Comment cleanup and add fold method to SubsetRestriction. * Add docs. A little dedup. * Add minimum complexity cost for names. Large number of pallet/extrinsic permissions cause the most cpu load from many memory allocation calls. Add a minimum complexity cost (minimum name length) to penalize short names. * Cargo fmt * Include permmisions complexity in extrinsic weight. (#1192) * Permissions benchmarks cleanup (#1193) * Some comments and cleanup. * Add docs to helper functions. * Add more comments to benchmark. * MESH 1654/ITN Rewards JS Test (#1190) * added rewards_helper file and modified itn test * renamed current itn rewards test to portfolio test * created new ITN Rewards Test * minor change to 15_portfolio test * minor change * created function to check eraElectionStatus is closed * minor change * minor change * minor change * minor change * assert if claim doesnt exist and wrong accounts used * formatting * Fix schema for InvestorZKProofData type. (#1194) * Fix multi node script (#1191) * Fix multi-node setup. * Add a third operator to the 'local' chains. * Temp fix for incorrect type definition in Polkadot.js. * Fix issue with Charlie. * Cargo fmt Co-authored-by: Adam Dossa <adam.dossa@gmail.com> * Update benchmarks (#1197) * Update benchmarks * Linting * Update benchmarks * Update cargo.lock * Update weights template. (#1195) Co-authored-by: Adam Dossa <adam.dossa@gmail.com> * Fix order of calls in identity pallet. (#1201) * MESH-1759 Remove porfolio name to number mapping after deletion (#1200) * Remove porfolio name to number mapping after deletion * Create migration * Apply suggestions from code review Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * Drop unused var Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * MESH-1773 & MESH-1777 condition cost function (#1204) * Improve ComplianceManager benchmarks. * Prevent a large number of empty asset compliance requirements from being added to an asset. * Code cleanup. * Upgrade Substrate to monthly-11 (#1188) * MESH-1787 relayer fixes (#1209) * Ensure `accept_paying_key` is called by `user_key` Improve description of errors. * Add missing weight. * Bump versions. * Refactor fee_details duplication (#1213) * refactor fee_details * fix imports * Bump simple-get from 2.8.1 to 2.8.2 in /scripts/event-listener (#1206) Bumps [simple-get](https://github.com/feross/simple-get) from 2.8.1 to 2.8.2. - [Release notes](https://github.com/feross/simple-get/releases) - [Commits](feross/simple-get@v2.8.1...v2.8.2) --- updated-dependencies: - dependency-name: simple-get dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump follow-redirects from 1.14.2 to 1.14.9 in /scripts/cli (#1215) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.2 to 1.14.9. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.14.2...v1.14.9) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump vm2 from 3.9.5 to 3.9.8 in /scripts/cli (#1216) Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.5 to 3.9.8. - [Release notes](https://github.com/patriksimek/vm2/releases) - [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md) - [Commits](patriksimek/vm2@3.9.5...3.9.8) --- updated-dependencies: - dependency-name: vm2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump shelljs from 0.8.4 to 0.8.5 in /scripts/cli (#1207) Bumps [shelljs](https://github.com/shelljs/shelljs) from 0.8.4 to 0.8.5. - [Release notes](https://github.com/shelljs/shelljs/releases) - [Changelog](https://github.com/shelljs/shelljs/blob/master/CHANGELOG.md) - [Commits](shelljs/shelljs@v0.8.4...v0.8.5) --- updated-dependencies: - dependency-name: shelljs dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MESH-1770/ Error `ConfidentialScopeClaimNotAllowed` is used for two different failure cases (#1214) * minor change to error message * updated documentation * minor change in identity_test Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * New unit testing framework (#1198) * WIP * WIP * WIP * WIP * Update pallets/runtime/tests/exec_macro/src/lib.rs Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * Update pallets/runtime/tests/src/storage.rs Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * WIP * WIP * WIP Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * Bump polkadot versions to fix schema issue. (#1219) * New spec version format and bump major version. (#1223) * Fix issue with MultiSig Proposal to id map. (#1225) * MESH-1793 multisig primary/secondary key with balance. (#1224) * Remove dead code. MultiSig signers are never linked directly to an identity. * Remove unused `MultiSig::get_key_signers()` * Rename `make_multisig_signer` to `make_multisig_secondary` * Fix MultiSig balance check. * Add test for primary key MultiSig with balance. * Change MultiSig balance restriction to 1 POLYX. * docs cleanup. * MESH-1792/ improving signer already linked errors (#1226) * modified errors * update comment Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * MESH-1767 - Add secondary key and permissions length checks to `cdd_register_did` (#1221) * modified base_cdd_register_did function * minor change * minor change * minor change and formatting * minor changes and comments Co-authored-by: Adam Dossa <adam.dossa@gmail.com> Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * Bump minimist from 1.2.5 to 1.2.6 in /scripts/cli (#1228) Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MESH-1790/Create 4 new extrinsics to wrap up pipelined batches (#1222) * WIP * fix create_group_and_add_auth * fix initiate_corporate_action_and_distribute * Update pallets/corporate-actions/src/lib.rs Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * Update pallets/corporate-actions/src/lib.rs Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * resolve comments * resolve comments * fix compile errors * format * add create_and_change_custom_group * format * move exttrinsics * use with_transaction Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> Co-authored-by: Adam Dossa <adam.dossa@gmail.com> * Mesh 1696/finish converting TS tests to Jest (#1196) * created 8_asset_minting Jest Test * created 9_bridge_transfer Jest Test * created 10_governance_management Jest Test * created 11_A_settlement & 11_B_settlement Jest Tests * created 12_external_agents Jest Test and modified createVenue function * removed old TS Tests * minor change * created 13_corporate_actions Jest Test * created 14_investment Jest Test * remove old TS Tests * updated libraries * modified jest.config, package.json, init.ts, and jest tests * created 15_portfolio, 16_relayer, and 17_itn_rewards * removed old TS tests * updated types and package.json libraries with minor changes to scripts * minor change * minor formatting * updated readme * updated types * updated types * minor changes * minor scripts change in package.json * Trigger new concourse run. Remove unused sqlite. * minor change * updated types and package.json * minor change * minor change * minor changes * minor changes Co-authored-by: Robert G. Jakabosky <rjakabosky+neopallium@neoawareness.com> Co-authored-by: Adam Dossa <adam.dossa@gmail.com> * MESH-1768 custom asset metadata (#1218) * Move `Url` to primitives crate. * Asset metadata support. * Fix unit-tests. * Add some unit-tests. * Add asset metadata events. * Add docs. * Add limit checks. * Add tests. * Add missing schema types. * Fix schema and polkadot.js issue. * Update weights. * Add asset metadata type definition example. * Add example Asset Metadata Schema. * Cargo fmt * Code cleanup. * Add Asset::register_and_set_local_metadata() call. * Update weights. Co-authored-by: Adam Dossa <adam.dossa@gmail.com> * MESH-1099 foreign transfer manager (#1159) * Add new generic statistics support. * Refactor StatType. * IdentityId instead of PortfolioId * Add new transfer compliance support. * Add some stats tests. * Fix bug with count and ownership transfer rules. * Add tests for transfer condition rules. * Add missing types to schema. * Add missing types StatUpdate to schema. * Support newer substrate. * Some tests cleanup. * Add Exempt support for Transfer Compliance rules. * Use StatClaim instead of Claim. * Claim cleanup. * Add support for 'Non'-claim transfer conditions. * Add list of CountryCode variants. * Add benchmarks. * Use BTreeSet instead of Vec. * Add events. * Cleanup. * Fix benchmarks. * Update weights. * Fixup schema. * Regen TS types. * Add new transfer compliance results to RPC asset_canTransferGranular result * Fix schema for GranularCanTransferResult type. * Migrate old TransferManagers to new system. * Permissions docs fixup. * Add new error variant, Comment cleanup. * Version RPC changes. * Add more docs. * Regen TS types. * Fix protfolio tests. * Improve comments. * Regen TS types. Co-authored-by: Adam Dossa <adam.dossa@gmail.com> * Bump ansi-regex from 3.0.0 to 3.0.1 in /scripts/event-listener (#1229) Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/chalk/ansi-regex/releases) - [Commits](chalk/ansi-regex@v3.0.0...v3.0.1) --- updated-dependencies: - dependency-name: ansi-regex dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix coverage (#1230) * Use Circleci rust image to fix build issue. * Fix sudo tests. * Use integration mode. * Enable more tests for coverage. * Bump moment from 2.24.0 to 2.29.2 in /scripts/event-listener (#1231) Bumps [moment](https://github.com/moment/moment) from 2.24.0 to 2.29.2. - [Release notes](https://github.com/moment/moment/releases) - [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md) - [Commits](moment/moment@2.24.0...2.29.2) --- updated-dependencies: - dependency-name: moment dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MESH-1803/ Add missing tests for MESH-1792 & MESH-1767 (#1227) * added test for SignerAlreadyLinkedToIdentity Error * added test for MultisigNotAllowedToLinkToItself error * adding comments * added test for permissions length limited * removed ensure_perms_limited test and added secondary_key_with_bad_permissions test Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * MESH-1806 verify did in treasury disbursement (#1233) * Add tests for bad treasury disbursement. * Update treasury disbursement test with new error. * Check for valid identities during disbursement. * Add test for treasury InsufficientBalance. * Move logic into base_ functions. * cargo fmt * Remove unused register_keyring_account_without_cdd. * Use `Currency::transfer` for disbursements. * Update pallets/treasury/src/lib.rs Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * MESH-1802/Add `AssetIdentifier::FIGI` + validate (#1234) * init impl * Update primitives/src/asset_identifier.rs Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * comments and formatting Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * MESH-1758 improve storage of key permissions (#1220) * Remove specialized `SecondaryKey<AccountId>` it isn't needed anymore. * Remove `LegacyPermissions` * Convert `KeyToIdentityIds` map. * Use `KeyRecords` instead of `KeyToIdentityIds` storage. * Fix schema. * Refactor `KeyRecord` to support MultiSig signer keys. * Fixup TS scripts. * Fix TS code. * Fix TypeScript bug. * Remove un-neede 'config()' * Replace use of old `DidRecords` storage.. * Add migration. * Rename 'DidPrimaryKey` -> `DidRecords`. * Rename *link_account_key* functions. * Add limit to RPC identity_getDidRecords. * Don't use `Signatory` type for secondary keys. * Close MESH-1804 * Update TS interface. * Update schema. * Fix primitives tests. * Increase secondary key permissions limits. * Fix integration tests. * fixup unit tests in polymesh-common-utilities. * Fix schema tabs. * Remove unneeded bounds. * Remove extra generic parameters. * Simplify RpcDidRecords type. * Add v1/v2 RPC support. * Cleanup. * Fix key to identity lookup. * Fix `SecondaryKeyWithAuth` schema type. * Regen TS types. * Cleanup identity events. * Cargo fmt * Fix bug with migration. Asset identities don't have primary keys. * Regen TS types. * FIXUP * Cargo fmt * MESH-1817/ Allow capital distributions in the base asset (#1235) * minor change removing test case * removing all cases of DistributingAsset error * minor change to test * minor changes * MESH-1813 - reject invalid distributions (#1236) * Move logic into base_ prefixed functions. * Check if distribution amount or per_share is zero. * Update docs. * Docs improvement. Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * Don't use unsafe_ prefix. * Bump transaction_version for 5.0 release. Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * Smart contracts pallet (#1217) * wip for robert * contracts: add Config impls * initial smart contracts pallet * contracts: wip chain extension * get cargo check to work * define most of chain extension logic * contracts: use drop-guard for swap-back * contracts: decided not to charge weights for now * contracts: remove need for drop_guard * contract: pass this on * contracts: propagate init/upgrade + limits and charge for in_len * contracts: add register_custom_asset_type * contracts: simplify DID swapping * contracts: use contract key instead of caller * cargo fmt * contracts: fix docs * contracts: impl From<CommonCall... * contracts: finish chain ext def + add benchmarks * contracts: minor bench fixes + docs * drive-by: simplify cfg(test)s * contracts: be consistent about kb * mv pallets/{contracts -> contracts-old} * mv contracts2 -> contracts * contracts: set dispatchable name + rerun benchs * contracts: misc tweaks * contracts: tests + other tweaks * contracts: adjust to new keys storage * contracts: rerun benchmarks * contracts2_test -> contracts_test * BaseContracts <-(swap)-> Contracts * contracts: get benchmarks running again * cargo fmt * mv benchmarking/mod.rs -> benchmarking.rs * contracts: address review comments * Mesh 1826/ remove contracts old code and examples (#1240) * removed contracts/* and pallets/contracts-old folders along with old commented out code related to contracts * formatting * minor changes * MESH-1758 backwards compatible calls (#1237) * Add backwards compatible extrinsics. * Add backwards compatible `add_secondary_keys_with_authorization`. * Regen TS types and call ./util/updateTypes.js. * Fix issue with polkadot's generate types. * FIXUP: Include missing change. * Fix TS bug. * Apply suggestions from code review Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * cargo fmt * Use ExactSizeIterator Co-authored-by: Adam Dossa <adam.dossa@gmail.com> Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> * Fix dependabot alerts (#1242) * Bump async. * Update TS deps. in event-listener. * MESH-1824: Empty perms default + MESH-1825: Contracts RPC (#1239) * mesh-1824: make empty perms the default * mesh-1825: enable rpc for contracts * mesh-1825: address review comments * Fix comment. Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> * MESH-1815 Substrate monthly-2022-05 (#1241) * Update to Substrate monthly-2022-05 * Add `storage_deposit_limit` to contracts pallet. * Remove unused REPORTING key type logic. * Wrap substrate `AccountId` to implment Default trait. * Remove unused 'light' logic from node-rpc. * More monthly-2022-05 changes. * monthly-2022-05 staking changes. * Fix tests. * Fix contracts benchmarks. * Fix staking benchmarks. * Fix wasm/benchmark build. * Fix node build. * cargo fmt * Use Rust nightly 2022-05-10. * Remove stabilized feature. * Fix non-benchmark build. * Fix benchmark scripts. * Fix CI tests build. * cargo fmt * Fix staking benchmarks. * Cleanup. * Fix Polkadot.js error handling. * Bump coverage resource class. * Fix contracts code/salt weights. * Use official blake2 crate. * Update confidential_identity dep. * Fix Substrate migrations (System, Contracts). * The Contracts migration isn't needed. Since this is our first release with `pallet_contracts`, no migrations are needed. * Fixup contracts deps. * Fix merge conflicts. * Fix Contracts weights. Need to include `gas_limit` for maximum weight. * Fix warning during benchmark build. * Add `upload_code` and `remove_code` extrinsics. * Improve weights template. * Generate weights for contracts pallet. Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com> Co-authored-by: raycar5 <raycar5@users.noreply.github.com> Co-authored-by: Joel Moore <47923231+JMoore96@users.noreply.github.com> Co-authored-by: Jeremias Diaz <monitz87@gmail.com> Co-authored-by: polymath-eric <86971143+polymath-eric@users.noreply.github.com> Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: CJP10 <cjpet10@gmail.com>
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
breaking-api-changes
PR includes changes that break existing APIs
release-notes
Tag to use if PR needs to be reflected in release notes
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.
Fix balance check when removing a MultiSig from an identity.
changelog
modified API
multisig.make_multisig_signer
->multisig.make_multisig_secondary
. The old name was confusing to users, since it adds the multisig as a secondary key to the identity that created the multisig.modified logic
1.0 POLYX
.unlink_multisig_signers_from_did()
, since the signers for a multisig are never linked to the identity.