From e3400f7206aae60e6b77b8d1d1115b6390f0cd6b Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Fri, 24 Apr 2020 20:30:08 +0200 Subject: [PATCH] Multisig support (#2623) * Multisig support * Testing, sorting with timepoints * Re-add * lint (import fix) * case-sensitive import --- package.json | 12 +- .../apps/public/locales/en/app-accounts.json | 11 +- .../apps/public/locales/en/react-signer.json | 5 +- packages/apps/public/locales/en/ui.json | 14 +- packages/page-accounts/package.json | 2 +- packages/page-accounts/src/Accounts/index.tsx | 14 + .../src/Accounts/modals/Multisig.tsx | 161 ++++++++++++ packages/page-contracts/package.json | 2 +- packages/react-api/package.json | 2 +- packages/react-components/package.json | 8 +- packages/react-components/src/CryptoType.tsx | 4 +- packages/react-hooks/src/types.ts | 1 + packages/react-hooks/src/useAccountInfo.ts | 4 +- packages/react-signer/package.json | 2 +- packages/react-signer/src/Modal.tsx | 150 +++++++---- packages/react-signer/src/Unlock.tsx | 8 +- yarn.lock | 242 +++++++++--------- 17 files changed, 455 insertions(+), 187 deletions(-) create mode 100644 packages/page-accounts/src/Accounts/modals/Multisig.tsx diff --git a/package.json b/package.json index 06d61ede50..855ea22f96 100644 --- a/package.json +++ b/package.json @@ -8,12 +8,12 @@ "packages/*" ], "resolutions": { - "@polkadot/api": "^1.12.0-beta.4", - "@polkadot/api-contract": "^1.12.0-beta.4", - "@polkadot/keyring": "^2.8.1", - "@polkadot/types": "^1.12.0-beta.4", - "@polkadot/util": "^2.8.1", - "@polkadot/util-crypto": "^2.8.1", + "@polkadot/api": "^1.12.0-beta.6", + "@polkadot/api-contract": "^1.12.0-beta.6", + "@polkadot/keyring": "^2.9.0-beta.1", + "@polkadot/types": "^1.12.0-beta.6", + "@polkadot/util": "^2.9.0-beta.1", + "@polkadot/util-crypto": "^2.9.0-beta.1", "babel-core": "^7.0.0-bridge.0", "typescript": "^3.8.3" }, diff --git a/packages/apps/public/locales/en/app-accounts.json b/packages/apps/public/locales/en/app-accounts.json index 6a4c90086f..93a5dfaa1b 100644 --- a/packages/apps/public/locales/en/app-accounts.json +++ b/packages/apps/public/locales/en/app-accounts.json @@ -188,5 +188,14 @@ "registrar index": "registrar index", "invalid/unknown registrar account": "invalid/unknown registrar account", "judgement": "judgement", - "Judge": "Judge" + "Judge": "Judge", + "Multisig": "Multisig", + "created multisig": "created multisig", + "Add multisig": "Add multisig", + "Name given to this multisig. You can edit it it any later point in time.": "Name given to this multisig. You can edit it it any later point in time.", + "multisig name": "multisig name", + "The threshold for this multisig": "The threshold for this multisig", + "signatory {{index}}/{{length}}": "signatory {{index}}/{{length}}", + "Less": "Less", + "More": "More" } diff --git a/packages/apps/public/locales/en/react-signer.json b/packages/apps/public/locales/en/react-signer.json index 85a4671b98..68e9c2719c 100644 --- a/packages/apps/public/locales/en/react-signer.json +++ b/packages/apps/public/locales/en/react-signer.json @@ -37,5 +37,8 @@ "Set to 0 to make transaction immortal": "Set to 0 to make transaction immortal", "Signed transaction": "Signed transaction", "Authorize transaction": "Authorize transaction", - "Sending transaction": "Sending transaction" + "Sending transaction": "Sending transaction", + "Sign for multisig": "Sign for multisig", + "The multisig signatory for this transaction.": "The multisig signatory for this transaction.", + "signatory": "signatory" } diff --git a/packages/apps/public/locales/en/ui.json b/packages/apps/public/locales/en/ui.json index a41f079ca6..30c76d51b1 100644 --- a/packages/apps/public/locales/en/ui.json +++ b/packages/apps/public/locales/en/ui.json @@ -1108,5 +1108,17 @@ "Low quality": "", "No judgments": "", "website": "", - "Add identity judgment": "" + "Add identity judgment": "", + "Multisig": "", + "created multisig": "", + "Add multisig": "", + "Name given to this multisig. You can edit it it any later point in time.": "", + "multisig name": "", + "The threshold for this multisig": "", + "signatory {{index}}/{{length}}": "", + "Less": "", + "More": "", + "Sign for multisig": "", + "The multisig signatory for this transaction.": "", + "signatory": "" } diff --git a/packages/page-accounts/package.json b/packages/page-accounts/package.json index 5cfd112930..5c29cdb45f 100644 --- a/packages/page-accounts/package.json +++ b/packages/page-accounts/package.json @@ -13,7 +13,7 @@ "dependencies": { "@babel/runtime": "^7.9.2", "@polkadot/react-components": "0.42.0-beta.27", - "@polkadot/react-qr": "^0.52.1", + "@polkadot/react-qr": "^0.53.0-beta.1", "@polkadot/vanitygen": "^0.11.1", "detect-browser": "^5.0.0", "file-saver": "^2.0.2" diff --git a/packages/page-accounts/src/Accounts/index.tsx b/packages/page-accounts/src/Accounts/index.tsx index 9ca2e30a33..01f6cac295 100644 --- a/packages/page-accounts/src/Accounts/index.tsx +++ b/packages/page-accounts/src/Accounts/index.tsx @@ -18,6 +18,7 @@ import { Button, Input, Table } from '@polkadot/react-components'; import { useTranslation } from '../translate'; import CreateModal from './modals/Create'; import ImportModal from './modals/Import'; +import Multisig from './modals/Multisig'; import QrModal from './modals/Qr'; import Account from './Account'; import Banner from './Banner'; @@ -94,6 +95,7 @@ function Overview ({ className, onStatusChange }: Props): React.ReactElement({ accounts: {} }); @@ -166,6 +168,12 @@ function Overview ({ className, onStatusChange }: Props): React.ReactElement )} + {isMultisigOpen && ( + + )} {isQrOpen && ( )} + +