From 797b21e04588e2c0a0a23f5453636a28083b8b5a Mon Sep 17 00:00:00 2001
From: vzxh <93637628+vzxh@users.noreply.github.com>
Date: Wed, 26 Jan 2022 16:17:39 +0800
Subject: [PATCH 01/51] Develop (#120)
* chore: update polkadot version
* chore: refine babel config
* chore: fix call param display in table
* chore: show correct approve status in confimed
---
package-lock.json | 1555 ++++-----------------------
package.json | 5 +-
src/components/Args.tsx | 2 +-
src/components/Entries.tsx | 31 +-
src/components/ExtrinsicRecords.tsx | 36 +-
src/components/HeadAccounts.tsx | 22 +-
src/config/network.ts | 6 +-
src/config/query.ts | 1 +
src/hooks/multisig.ts | 7 +-
src/index.scss | 5 +
src/model/tx.ts | 4 +-
11 files changed, 254 insertions(+), 1420 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 36ca3ad6..bffd2ef5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3082,21 +3082,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -3261,36 +3246,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/types": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-7.5.1.tgz",
- "integrity": "sha512-71KY3Ia8AZywb0wWP0F588qFJbQMcgZqqP/dw6RP1A5ja2pR5SnqRP/zcaSena1cm9f24rAxgxiluOzzJxrfsA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types-augment": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/types-create": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "rxjs": "^7.5.2"
- }
- },
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -3453,68 +3408,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/rpc-core": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-7.5.1.tgz",
- "integrity": "sha512-/UN7fQSqGnyjd5W0fFZ2RDBxAYoS8UreIea0eu+Zz4t6D2Fjp1syHNkw710wuv6ALhaRUjW6USO8XNSHDBIz+w==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/rpc-augment": "7.5.1",
- "@polkadot/rpc-provider": "7.5.1",
- "@polkadot/types": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "rxjs": "^7.5.2"
- }
- },
- "@polkadot/rpc-provider": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-7.5.1.tgz",
- "integrity": "sha512-6t5PyEDFBYJiK1/oegQkET4DnKdfk/mskELOVflDd4sLN+mXSAUW4DvS+KiVldHfUBtMQqX/w3p7x26xmWjmqQ==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types": "7.5.1",
- "@polkadot/types-support": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "@polkadot/x-fetch": "^8.3.3",
- "@polkadot/x-global": "^8.3.3",
- "@polkadot/x-ws": "^8.3.3",
- "eventemitter3": "^4.0.7",
- "mock-socket": "^9.1.0",
- "nock": "^13.2.2"
- }
- },
- "@polkadot/types": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-7.5.1.tgz",
- "integrity": "sha512-71KY3Ia8AZywb0wWP0F588qFJbQMcgZqqP/dw6RP1A5ja2pR5SnqRP/zcaSena1cm9f24rAxgxiluOzzJxrfsA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types-augment": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/types-create": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "rxjs": "^7.5.2"
- }
- },
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -3568,17 +3461,6 @@
"@polkadot/x-global": "8.3.3"
}
},
- "@polkadot/x-fetch": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-8.3.3.tgz",
- "integrity": "sha512-+ScnWnt0i1IF+fM9IC+OnjkTi5NonK+ji8q861hwkNCtK2ziibibcD3mGavCA6wZvij4wUTovWEsTc5Su0+KTA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3",
- "@types/node-fetch": "^2.5.12",
- "node-fetch": "^2.6.7"
- }
- },
"@polkadot/x-global": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.3.3.tgz",
@@ -3614,17 +3496,6 @@
"@polkadot/x-global": "8.3.3"
}
},
- "@polkadot/x-ws": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-8.3.3.tgz",
- "integrity": "sha512-Dd0kscZSb7MULVqo5isPZyqvErvgE7lYIwZ4IA0rNdgUWi3mrJWeeWrzVMxC6nbg6q1ahIEGxxZLMVzeI3u/Ew==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3",
- "@types/websocket": "^1.0.4",
- "websocket": "^1.0.34"
- }
- },
"bn.js": {
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
@@ -3719,21 +3590,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -3891,21 +3747,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -4158,100 +3999,6 @@
"resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.3.4.tgz",
"integrity": "sha512-ZVRouDO5mbdCiDg4zCd3ZZABduRtpy4tCnB33Gh9upHe9tRzpiqbRSN1VTjrj/2g8u2c6MBi0YLNnNQpBYOiWg=="
},
- "@polkadot/api": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-7.5.1.tgz",
- "integrity": "sha512-/3AI4Kbznt289+swtiFEYiX+XR9d+qzHhL8XxEzcqQudw2ElrfpLTAx3RzTUEEeEfwwPGmNVWPWaG4egUPsosQ==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/api-augment": "7.5.1",
- "@polkadot/api-base": "7.5.1",
- "@polkadot/api-derive": "7.5.1",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/rpc-augment": "7.5.1",
- "@polkadot/rpc-core": "7.5.1",
- "@polkadot/rpc-provider": "7.5.1",
- "@polkadot/types": "7.5.1",
- "@polkadot/types-augment": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/types-create": "7.5.1",
- "@polkadot/types-known": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "eventemitter3": "^4.0.7",
- "rxjs": "^7.5.2"
- },
- "dependencies": {
- "@polkadot/types-known": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-7.5.1.tgz",
- "integrity": "sha512-mECocUHbvb/ly5KOu+nKfqXAEKzYxkflO4xQflaEpcCIxtqBmy8AXSvyD8Dl5LFrBwHqnRbtXaPETCOYn1LWPg==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/networks": "^8.3.3",
- "@polkadot/types": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/types-create": "7.5.1",
- "@polkadot/util": "^8.3.3"
- }
- },
- "@polkadot/util-crypto": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
- "integrity": "sha512-kXaT2VTEbJq1wNiV0Dz5qJuVWy7pK+x1QLcyWC+6OFERYO+BCp1Y2bTOcLUeF/gyyR/ZaRMMdTyu0ZbHrwH0xg==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@noble/hashes": "0.5.7",
- "@noble/secp256k1": "1.3.4",
- "@polkadot/networks": "8.3.3",
- "@polkadot/util": "8.3.3",
- "@polkadot/wasm-crypto": "^4.5.1",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-randomvalues": "8.3.3",
- "ed2curve": "^0.3.0",
- "micro-base": "^0.10.2",
- "tweetnacl": "^1.0.3"
- }
- }
- }
- },
- "@polkadot/api-derive": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-7.5.1.tgz",
- "integrity": "sha512-O4x/DG+sSWgbXYGuYm4d3iYMTv5WTzoX5HX/xAIG+H+g7ob5RDdyLW9oQowrOX9ZOKt1cHPbHi0dLj+hDOD1CQ==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/api": "7.5.1",
- "@polkadot/api-augment": "7.5.1",
- "@polkadot/api-base": "7.5.1",
- "@polkadot/rpc-core": "7.5.1",
- "@polkadot/types": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "rxjs": "^7.5.2"
- },
- "dependencies": {
- "@polkadot/util-crypto": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
- "integrity": "sha512-kXaT2VTEbJq1wNiV0Dz5qJuVWy7pK+x1QLcyWC+6OFERYO+BCp1Y2bTOcLUeF/gyyR/ZaRMMdTyu0ZbHrwH0xg==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@noble/hashes": "0.5.7",
- "@noble/secp256k1": "1.3.4",
- "@polkadot/networks": "8.3.3",
- "@polkadot/util": "8.3.3",
- "@polkadot/wasm-crypto": "^4.5.1",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-randomvalues": "8.3.3",
- "ed2curve": "^0.3.0",
- "micro-base": "^0.10.2",
- "tweetnacl": "^1.0.3"
- }
- }
- }
- },
"@polkadot/keyring": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-8.3.3.tgz",
@@ -4339,101 +4086,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/rpc-core": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-7.5.1.tgz",
- "integrity": "sha512-/UN7fQSqGnyjd5W0fFZ2RDBxAYoS8UreIea0eu+Zz4t6D2Fjp1syHNkw710wuv6ALhaRUjW6USO8XNSHDBIz+w==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/rpc-augment": "7.5.1",
- "@polkadot/rpc-provider": "7.5.1",
- "@polkadot/types": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "rxjs": "^7.5.2"
- }
- },
- "@polkadot/rpc-provider": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-7.5.1.tgz",
- "integrity": "sha512-6t5PyEDFBYJiK1/oegQkET4DnKdfk/mskELOVflDd4sLN+mXSAUW4DvS+KiVldHfUBtMQqX/w3p7x26xmWjmqQ==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types": "7.5.1",
- "@polkadot/types-support": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "@polkadot/x-fetch": "^8.3.3",
- "@polkadot/x-global": "^8.3.3",
- "@polkadot/x-ws": "^8.3.3",
- "eventemitter3": "^4.0.7",
- "mock-socket": "^9.1.0",
- "nock": "^13.2.2"
- },
- "dependencies": {
- "@polkadot/util-crypto": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
- "integrity": "sha512-kXaT2VTEbJq1wNiV0Dz5qJuVWy7pK+x1QLcyWC+6OFERYO+BCp1Y2bTOcLUeF/gyyR/ZaRMMdTyu0ZbHrwH0xg==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@noble/hashes": "0.5.7",
- "@noble/secp256k1": "1.3.4",
- "@polkadot/networks": "8.3.3",
- "@polkadot/util": "8.3.3",
- "@polkadot/wasm-crypto": "^4.5.1",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-randomvalues": "8.3.3",
- "ed2curve": "^0.3.0",
- "micro-base": "^0.10.2",
- "tweetnacl": "^1.0.3"
- }
- },
- "@polkadot/x-global": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.3.3.tgz",
- "integrity": "sha512-7DWjcNhTDIpYNiQmLq56o6xYOONr0i6WXdoPUxYrToxZWeWyj/FWaYMfttedLydABPcy87lmvIy8ECp7qCcnyw==",
- "requires": {
- "@babel/runtime": "^7.16.7"
- }
- }
- }
- },
- "@polkadot/types": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-7.5.1.tgz",
- "integrity": "sha512-71KY3Ia8AZywb0wWP0F588qFJbQMcgZqqP/dw6RP1A5ja2pR5SnqRP/zcaSena1cm9f24rAxgxiluOzzJxrfsA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types-augment": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/types-create": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "rxjs": "^7.5.2"
- },
- "dependencies": {
- "@polkadot/util-crypto": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
- "integrity": "sha512-kXaT2VTEbJq1wNiV0Dz5qJuVWy7pK+x1QLcyWC+6OFERYO+BCp1Y2bTOcLUeF/gyyR/ZaRMMdTyu0ZbHrwH0xg==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@noble/hashes": "0.5.7",
- "@noble/secp256k1": "1.3.4",
- "@polkadot/networks": "8.3.3",
- "@polkadot/util": "8.3.3",
- "@polkadot/wasm-crypto": "^4.5.1",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-randomvalues": "8.3.3",
- "ed2curve": "^0.3.0",
- "micro-base": "^0.10.2",
- "tweetnacl": "^1.0.3"
- }
- }
- }
- },
"@polkadot/types-known": {
"version": "4.0.4-5",
"resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-4.0.4-5.tgz",
@@ -4489,54 +4141,6 @@
}
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- },
- "dependencies": {
- "@polkadot/x-global": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.3.3.tgz",
- "integrity": "sha512-7DWjcNhTDIpYNiQmLq56o6xYOONr0i6WXdoPUxYrToxZWeWyj/FWaYMfttedLydABPcy87lmvIy8ECp7qCcnyw==",
- "requires": {
- "@babel/runtime": "^7.16.7"
- }
- },
- "@polkadot/x-textdecoder": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-8.3.3.tgz",
- "integrity": "sha512-oEvFJv/F+fQ336ciRuJJgJFtfyOX6a2Nyr/5GCkiSQjkEIdnBUuO49yXpHNmQsNI0WndLWIEitiVVa9KuDslYw==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3"
- }
- },
- "@polkadot/x-textencoder": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-8.3.3.tgz",
- "integrity": "sha512-acVsJjmlQ7aluUq8JARY2wJAbf+6dvZNoUrvgzdX/jl5MqvqeIXmX3LX71MyidLt27Z537VDgNzWw8V/524AVQ==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3"
- }
- },
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
- }
- }
- },
"@polkadot/wasm-crypto": {
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-4.5.1.tgz",
@@ -4582,35 +4186,6 @@
}
}
},
- "@polkadot/x-fetch": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-8.3.3.tgz",
- "integrity": "sha512-+ScnWnt0i1IF+fM9IC+OnjkTi5NonK+ji8q861hwkNCtK2ziibibcD3mGavCA6wZvij4wUTovWEsTc5Su0+KTA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3",
- "@types/node-fetch": "^2.5.12",
- "node-fetch": "^2.6.7"
- },
- "dependencies": {
- "@polkadot/x-global": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.3.3.tgz",
- "integrity": "sha512-7DWjcNhTDIpYNiQmLq56o6xYOONr0i6WXdoPUxYrToxZWeWyj/FWaYMfttedLydABPcy87lmvIy8ECp7qCcnyw==",
- "requires": {
- "@babel/runtime": "^7.16.7"
- }
- },
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- }
- }
- },
"@polkadot/x-global": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-6.0.5.tgz",
@@ -4640,27 +4215,6 @@
}
}
},
- "@polkadot/x-ws": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-8.3.3.tgz",
- "integrity": "sha512-Dd0kscZSb7MULVqo5isPZyqvErvgE7lYIwZ4IA0rNdgUWi3mrJWeeWrzVMxC6nbg6q1ahIEGxxZLMVzeI3u/Ew==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3",
- "@types/websocket": "^1.0.4",
- "websocket": "^1.0.34"
- },
- "dependencies": {
- "@polkadot/x-global": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.3.3.tgz",
- "integrity": "sha512-7DWjcNhTDIpYNiQmLq56o6xYOONr0i6WXdoPUxYrToxZWeWyj/FWaYMfttedLydABPcy87lmvIy8ECp7qCcnyw==",
- "requires": {
- "@babel/runtime": "^7.16.7"
- }
- }
- }
- },
"i18next": {
"version": "21.6.7",
"resolved": "https://registry.npmjs.org/i18next/-/i18next-21.6.7.tgz",
@@ -4753,6 +4307,23 @@
"ed2curve": "^0.3.0",
"micro-base": "^0.9.0",
"tweetnacl": "^1.0.3"
+ },
+ "dependencies": {
+ "@polkadot/util": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.1.2.tgz",
+ "integrity": "sha512-s1Q6J7I2sxDdk8S9SA1wVSMRUN+6YGpAUehl1zE/VKtHUzxtZfX/M7dmZgNpARi8kmk7/0J61ZuIaFb0Cq81jw==",
+ "requires": {
+ "@babel/runtime": "^7.16.3",
+ "@polkadot/x-bigint": "8.1.2",
+ "@polkadot/x-global": "8.1.2",
+ "@polkadot/x-textdecoder": "8.1.2",
+ "@polkadot/x-textencoder": "8.1.2",
+ "@types/bn.js": "^4.11.6",
+ "bn.js": "^4.12.0",
+ "ip-regex": "^4.3.0"
+ }
+ }
}
},
"@polkadot/wasm-crypto": {
@@ -4797,6 +4368,29 @@
"@babel/runtime": "^7.16.3",
"@polkadot/x-global": "8.1.2"
}
+ },
+ "@polkadot/x-textdecoder": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-8.1.2.tgz",
+ "integrity": "sha512-NuQepvIqEIeWPMdGry/ReJAEtXwWRt0qrX0xwYIoY7V1rR8vDVX66Q5YtG/i7/JLBydgabXA1GCj5k4sRpwakA==",
+ "requires": {
+ "@babel/runtime": "^7.16.3",
+ "@polkadot/x-global": "8.1.2"
+ }
+ },
+ "@polkadot/x-textencoder": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-8.1.2.tgz",
+ "integrity": "sha512-8m+RvtxPEd4/vfHWuhTQyE/RbjN3NTbbrTQ0SMAPRM04NGauKXJOVA5A7WBJYJsj6bDlSaWSavOMJSzO5NKE8w==",
+ "requires": {
+ "@babel/runtime": "^7.16.3",
+ "@polkadot/x-global": "8.1.2"
+ }
+ },
+ "bn.js": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
}
}
},
@@ -5085,29 +4679,6 @@
"ip-regex": "^4.3.0"
}
},
- "@polkadot/util-crypto": {
- "version": "6.11.1",
- "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-6.11.1.tgz",
- "integrity": "sha512-fWA1Nz17FxWJslweZS4l0Uo30WXb5mYV1KEACVzM+BSZAvG5eoiOAYX6VYZjyw6/7u53XKrWQlD83iPsg3KvZw==",
- "requires": {
- "@babel/runtime": "^7.14.6",
- "@polkadot/networks": "6.11.1",
- "@polkadot/util": "6.11.1",
- "@polkadot/wasm-crypto": "^4.0.2",
- "@polkadot/x-randomvalues": "6.11.1",
- "base-x": "^3.0.8",
- "base64-js": "^1.5.1",
- "blakejs": "^1.1.1",
- "bn.js": "^4.11.9",
- "create-hash": "^1.2.0",
- "elliptic": "^6.5.4",
- "hash.js": "^1.1.7",
- "js-sha3": "^0.8.0",
- "scryptsy": "^2.1.0",
- "tweetnacl": "^1.0.3",
- "xxhashjs": "^0.2.2"
- }
- },
"bn.js": {
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
@@ -5175,6 +4746,23 @@
"ed2curve": "^0.3.0",
"micro-base": "^0.9.0",
"tweetnacl": "^1.0.3"
+ },
+ "dependencies": {
+ "@polkadot/util": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.1.2.tgz",
+ "integrity": "sha512-s1Q6J7I2sxDdk8S9SA1wVSMRUN+6YGpAUehl1zE/VKtHUzxtZfX/M7dmZgNpARi8kmk7/0J61ZuIaFb0Cq81jw==",
+ "requires": {
+ "@babel/runtime": "^7.16.3",
+ "@polkadot/x-bigint": "8.1.2",
+ "@polkadot/x-global": "8.1.2",
+ "@polkadot/x-textdecoder": "8.1.2",
+ "@polkadot/x-textencoder": "8.1.2",
+ "@types/bn.js": "^4.11.6",
+ "bn.js": "^4.12.0",
+ "ip-regex": "^4.3.0"
+ }
+ }
}
},
"@polkadot/wasm-crypto": {
@@ -5220,6 +4808,29 @@
"@polkadot/x-global": "8.1.2"
}
},
+ "@polkadot/x-textdecoder": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-8.1.2.tgz",
+ "integrity": "sha512-NuQepvIqEIeWPMdGry/ReJAEtXwWRt0qrX0xwYIoY7V1rR8vDVX66Q5YtG/i7/JLBydgabXA1GCj5k4sRpwakA==",
+ "requires": {
+ "@babel/runtime": "^7.16.3",
+ "@polkadot/x-global": "8.1.2"
+ }
+ },
+ "@polkadot/x-textencoder": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-8.1.2.tgz",
+ "integrity": "sha512-8m+RvtxPEd4/vfHWuhTQyE/RbjN3NTbbrTQ0SMAPRM04NGauKXJOVA5A7WBJYJsj6bDlSaWSavOMJSzO5NKE8w==",
+ "requires": {
+ "@babel/runtime": "^7.16.3",
+ "@polkadot/x-global": "8.1.2"
+ }
+ },
+ "bn.js": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ },
"color": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
@@ -5328,68 +4939,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/rpc-core": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-7.5.1.tgz",
- "integrity": "sha512-/UN7fQSqGnyjd5W0fFZ2RDBxAYoS8UreIea0eu+Zz4t6D2Fjp1syHNkw710wuv6ALhaRUjW6USO8XNSHDBIz+w==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/rpc-augment": "7.5.1",
- "@polkadot/rpc-provider": "7.5.1",
- "@polkadot/types": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "rxjs": "^7.5.2"
- }
- },
- "@polkadot/rpc-provider": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-7.5.1.tgz",
- "integrity": "sha512-6t5PyEDFBYJiK1/oegQkET4DnKdfk/mskELOVflDd4sLN+mXSAUW4DvS+KiVldHfUBtMQqX/w3p7x26xmWjmqQ==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types": "7.5.1",
- "@polkadot/types-support": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "@polkadot/x-fetch": "^8.3.3",
- "@polkadot/x-global": "^8.3.3",
- "@polkadot/x-ws": "^8.3.3",
- "eventemitter3": "^4.0.7",
- "mock-socket": "^9.1.0",
- "nock": "^13.2.2"
- }
- },
- "@polkadot/types": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-7.5.1.tgz",
- "integrity": "sha512-71KY3Ia8AZywb0wWP0F588qFJbQMcgZqqP/dw6RP1A5ja2pR5SnqRP/zcaSena1cm9f24rAxgxiluOzzJxrfsA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types-augment": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/types-create": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "rxjs": "^7.5.2"
- }
- },
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -5443,17 +4992,6 @@
"@polkadot/x-global": "8.3.3"
}
},
- "@polkadot/x-fetch": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-8.3.3.tgz",
- "integrity": "sha512-+ScnWnt0i1IF+fM9IC+OnjkTi5NonK+ji8q861hwkNCtK2ziibibcD3mGavCA6wZvij4wUTovWEsTc5Su0+KTA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3",
- "@types/node-fetch": "^2.5.12",
- "node-fetch": "^2.6.7"
- }
- },
"@polkadot/x-global": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.3.3.tgz",
@@ -5489,17 +5027,6 @@
"@polkadot/x-global": "8.3.3"
}
},
- "@polkadot/x-ws": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-8.3.3.tgz",
- "integrity": "sha512-Dd0kscZSb7MULVqo5isPZyqvErvgE7lYIwZ4IA0rNdgUWi3mrJWeeWrzVMxC6nbg6q1ahIEGxxZLMVzeI3u/Ew==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-global": "8.3.3",
- "@types/websocket": "^1.0.4",
- "websocket": "^1.0.34"
- }
- },
"bn.js": {
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
@@ -5573,21 +5100,6 @@
"regenerator-runtime": "^0.13.4"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/x-bigint": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-8.3.3.tgz",
@@ -5693,25 +5205,10 @@
"@polkadot/networks": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-8.3.3.tgz",
- "integrity": "sha512-yj0DMqmzRZbvgaoZztV3/RPgYJjBhT17Dhu+FX/LUJzVbAF/RfjkzNsJT4Ta4kLDxQMYZq1avUac0ia2j9NcNw==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/util": "8.3.3"
- }
- },
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
+ "integrity": "sha512-yj0DMqmzRZbvgaoZztV3/RPgYJjBhT17Dhu+FX/LUJzVbAF/RfjkzNsJT4Ta4kLDxQMYZq1avUac0ia2j9NcNw==",
+ "requires": {
+ "@babel/runtime": "^7.16.7",
+ "@polkadot/util": "8.3.3"
}
},
"@polkadot/util-crypto": {
@@ -5866,21 +5363,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -6042,36 +5524,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/types": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-7.5.1.tgz",
- "integrity": "sha512-71KY3Ia8AZywb0wWP0F588qFJbQMcgZqqP/dw6RP1A5ja2pR5SnqRP/zcaSena1cm9f24rAxgxiluOzzJxrfsA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/keyring": "^8.3.3",
- "@polkadot/types-augment": "7.5.1",
- "@polkadot/types-codec": "7.5.1",
- "@polkadot/types-create": "7.5.1",
- "@polkadot/util": "^8.3.3",
- "@polkadot/util-crypto": "^8.3.3",
- "rxjs": "^7.5.2"
- }
- },
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/util-crypto": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-8.3.3.tgz",
@@ -6202,21 +5654,6 @@
"regenerator-runtime": "^0.13.4"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/x-bigint": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-8.3.3.tgz",
@@ -6277,21 +5714,6 @@
"regenerator-runtime": "^0.13.4"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/x-bigint": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-8.3.3.tgz",
@@ -6364,21 +5786,6 @@
"@polkadot/util": "8.3.3"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/x-bigint": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-8.3.3.tgz",
@@ -6438,21 +5845,6 @@
"regenerator-runtime": "^0.13.4"
}
},
- "@polkadot/util": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
- "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
- "requires": {
- "@babel/runtime": "^7.16.7",
- "@polkadot/x-bigint": "8.3.3",
- "@polkadot/x-global": "8.3.3",
- "@polkadot/x-textdecoder": "8.3.3",
- "@polkadot/x-textencoder": "8.3.3",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/x-bigint": {
"version": "8.3.3",
"resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-8.3.3.tgz",
@@ -6518,21 +5910,6 @@
"regenerator-runtime": "^0.13.4"
}
},
- "@polkadot/util": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.1.2.tgz",
- "integrity": "sha512-s1Q6J7I2sxDdk8S9SA1wVSMRUN+6YGpAUehl1zE/VKtHUzxtZfX/M7dmZgNpARi8kmk7/0J61ZuIaFb0Cq81jw==",
- "requires": {
- "@babel/runtime": "^7.16.3",
- "@polkadot/x-bigint": "8.1.2",
- "@polkadot/x-global": "8.1.2",
- "@polkadot/x-textdecoder": "8.1.2",
- "@polkadot/x-textencoder": "8.1.2",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/x-global": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.1.2.tgz",
@@ -6607,21 +5984,6 @@
"@babel/runtime": "^7.16.3"
}
},
- "@polkadot/util": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.1.2.tgz",
- "integrity": "sha512-s1Q6J7I2sxDdk8S9SA1wVSMRUN+6YGpAUehl1zE/VKtHUzxtZfX/M7dmZgNpARi8kmk7/0J61ZuIaFb0Cq81jw==",
- "requires": {
- "@babel/runtime": "^7.16.3",
- "@polkadot/x-bigint": "8.1.2",
- "@polkadot/x-global": "8.1.2",
- "@polkadot/x-textdecoder": "8.1.2",
- "@polkadot/x-textencoder": "8.1.2",
- "@types/bn.js": "^4.11.6",
- "bn.js": "^4.12.0",
- "ip-regex": "^4.3.0"
- }
- },
"@polkadot/x-global": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.1.2.tgz",
@@ -6693,52 +6055,61 @@
}
},
"@polkadot/util": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.1.2.tgz",
- "integrity": "sha512-s1Q6J7I2sxDdk8S9SA1wVSMRUN+6YGpAUehl1zE/VKtHUzxtZfX/M7dmZgNpARi8kmk7/0J61ZuIaFb0Cq81jw==",
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-8.3.3.tgz",
+ "integrity": "sha512-8u1NShSHrCFeFvxWL8WAyRN8y1/iPvijqYCDeeHziBxCNBrL3VKDc9GNF11skeay/EKQiCHBSBeAYyyQOpLebA==",
"requires": {
- "@babel/runtime": "^7.16.3",
- "@polkadot/x-bigint": "8.1.2",
- "@polkadot/x-global": "8.1.2",
- "@polkadot/x-textdecoder": "8.1.2",
- "@polkadot/x-textencoder": "8.1.2",
+ "@babel/runtime": "^7.16.7",
+ "@polkadot/x-bigint": "8.3.3",
+ "@polkadot/x-global": "8.3.3",
+ "@polkadot/x-textdecoder": "8.3.3",
+ "@polkadot/x-textencoder": "8.3.3",
"@types/bn.js": "^4.11.6",
"bn.js": "^4.12.0",
"ip-regex": "^4.3.0"
},
"dependencies": {
"@babel/runtime": {
- "version": "7.16.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz",
- "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
+ "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
+ "@polkadot/x-bigint": {
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-8.3.3.tgz",
+ "integrity": "sha512-2CT25f0zN/uhch3KpM38jtQfFJ1zJCNT41exg49ztsOvm4f6l+6hW91NLhNAZ313B/c6Z4Lm3DalsjAOdBZ8Nw==",
+ "requires": {
+ "@babel/runtime": "^7.16.7",
+ "@polkadot/x-global": "8.3.3"
+ }
+ },
"@polkadot/x-global": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.1.2.tgz",
- "integrity": "sha512-prHFu2okMOrOvF4JtCjuHZ742yqim2ip6SuZqSEHrkbQPewXYquC51nXkscJygheTpQgrNt3dBuk5Y8jFWjUHg==",
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-8.3.3.tgz",
+ "integrity": "sha512-7DWjcNhTDIpYNiQmLq56o6xYOONr0i6WXdoPUxYrToxZWeWyj/FWaYMfttedLydABPcy87lmvIy8ECp7qCcnyw==",
"requires": {
- "@babel/runtime": "^7.16.3"
+ "@babel/runtime": "^7.16.7"
}
},
"@polkadot/x-textdecoder": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-8.1.2.tgz",
- "integrity": "sha512-NuQepvIqEIeWPMdGry/ReJAEtXwWRt0qrX0xwYIoY7V1rR8vDVX66Q5YtG/i7/JLBydgabXA1GCj5k4sRpwakA==",
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-8.3.3.tgz",
+ "integrity": "sha512-oEvFJv/F+fQ336ciRuJJgJFtfyOX6a2Nyr/5GCkiSQjkEIdnBUuO49yXpHNmQsNI0WndLWIEitiVVa9KuDslYw==",
"requires": {
- "@babel/runtime": "^7.16.3",
- "@polkadot/x-global": "8.1.2"
+ "@babel/runtime": "^7.16.7",
+ "@polkadot/x-global": "8.3.3"
}
},
"@polkadot/x-textencoder": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-8.1.2.tgz",
- "integrity": "sha512-8m+RvtxPEd4/vfHWuhTQyE/RbjN3NTbbrTQ0SMAPRM04NGauKXJOVA5A7WBJYJsj6bDlSaWSavOMJSzO5NKE8w==",
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-8.3.3.tgz",
+ "integrity": "sha512-acVsJjmlQ7aluUq8JARY2wJAbf+6dvZNoUrvgzdX/jl5MqvqeIXmX3LX71MyidLt27Z537VDgNzWw8V/524AVQ==",
"requires": {
- "@babel/runtime": "^7.16.3",
- "@polkadot/x-global": "8.1.2"
+ "@babel/runtime": "^7.16.7",
+ "@polkadot/x-global": "8.3.3"
}
},
"bn.js": {
@@ -9003,19 +8374,6 @@
"strip-css-comments": "^4.1.0"
},
"dependencies": {
- "ajv": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
- "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
- "dev": true,
- "optional": true,
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -9025,83 +8383,6 @@
"color-convert": "^1.9.0"
}
},
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
- "dev": true
- },
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true,
- "optional": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true,
- "optional": true
- },
- "aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true,
- "optional": true
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "optional": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true,
- "optional": true
- },
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
@@ -9116,84 +8397,12 @@
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
- "dev": true
- },
- "color-convert": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
- "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.1"
- }
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
},
"color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
- "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
- "dev": true,
- "optional": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true,
- "optional": true
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true,
- "optional": true
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "optional": true,
- "requires": {
- "prr": "~1.0.1"
- }
+ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok="
},
"escape-string-regexp": {
"version": "1.0.5",
@@ -9201,343 +8410,45 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true,
- "optional": true
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true,
- "optional": true
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true,
- "optional": true
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true,
- "optional": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true,
- "optional": true
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "optional": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
}
},
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
- "dev": true,
- "optional": true
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
- "optional": true
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
- "optional": true,
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "image-size": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
- "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
- "dev": true,
- "optional": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
"is-regexp": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
- "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true,
- "optional": true
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true,
- "optional": true
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true,
- "optional": true
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true,
- "optional": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "optional": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true,
- "optional": true
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "less": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz",
- "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==",
- "dev": true,
- "requires": {
- "clone": "^2.1.2",
- "errno": "^0.1.1",
- "graceful-fs": "^4.1.2",
- "image-size": "~0.5.0",
- "mime": "^1.4.1",
- "mkdirp": "^0.5.0",
- "promise": "^7.1.1",
- "request": "^2.83.0",
- "source-map": "~0.6.0"
- }
- },
- "less-plugin-npm-import": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/less-plugin-npm-import/-/less-plugin-npm-import-2.1.0.tgz",
- "integrity": "sha1-gj5phskzGKmBccqFiEi2vq1Vvz4=",
- "dev": true,
- "requires": {
- "promise": "~7.0.1",
- "resolve": "~1.1.6"
- },
- "dependencies": {
- "promise": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.0.4.tgz",
- "integrity": "sha1-Nj6EpMNsg1a4kP7WLJHOhdAu1Tk=",
- "dev": true,
- "requires": {
- "asap": "~2.0.3"
- }
- }
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA=="
},
"mime-db": {
"version": "1.37.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
- "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
- "dev": true,
- "optional": true
- },
- "mime-types": {
- "version": "2.1.21",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
- "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
- "dev": true,
- "optional": true,
- "requires": {
- "mime-db": "~1.37.0"
- }
- },
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
},
"mkdirp": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "optional": true,
"requires": {
"minimist": "^1.2.5"
}
},
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true,
- "optional": true
- },
"postcss": {
"version": "6.0.23",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
@@ -9561,46 +8472,14 @@
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "dev": true,
- "optional": true,
"requires": {
"asap": "~2.0.3"
}
},
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true,
- "optional": true
- },
- "psl": {
- "version": "1.1.31",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
- "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
- "dev": true,
- "optional": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "optional": true
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true,
- "optional": true
- },
"request": {
"version": "2.88.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "dev": true,
- "optional": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -9627,36 +8506,17 @@
"resolve": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "optional": true
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"sshpk": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
"integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
- "dev": true,
- "optional": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -9669,15 +8529,6 @@
"tweetnacl": "~0.14.0"
}
},
- "strip-css-comments": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-4.1.0.tgz",
- "integrity": "sha512-azjRwrqk7nK21LU7QuL7DpDyPjvRROQvqPrNyyz6emdzbOh6fsNTvkSvUiThBLzC6+MN90rFu296VbPb/KV+3A==",
- "dev": true,
- "requires": {
- "is-regexp": "^2.1.0"
- }
- },
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
@@ -9691,8 +8542,6 @@
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "optional": true,
"requires": {
"psl": "^1.1.24",
"punycode": "^1.4.1"
@@ -9701,63 +8550,22 @@
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
}
}
},
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
- "optional": true,
"requires": {
"punycode": "^2.1.0"
}
- },
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true,
- "optional": true
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
}
}
},
@@ -12498,6 +11306,16 @@
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
"integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
},
+ "css": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
+ "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "source-map-resolve": "^0.5.2",
+ "urix": "^0.1.0"
+ }
+ },
"css-blank-pseudo": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz",
@@ -13522,6 +12340,11 @@
"is-obj": "^2.0.0"
}
},
+ "dotenv": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
+ "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
+ },
"dotenv-expand": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
@@ -19506,6 +18329,26 @@
}
}
},
+ "less-plugin-npm-import": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/less-plugin-npm-import/-/less-plugin-npm-import-2.1.0.tgz",
+ "integrity": "sha1-gj5phskzGKmBccqFiEi2vq1Vvz4=",
+ "dev": true,
+ "requires": {
+ "promise": "~7.0.1"
+ },
+ "dependencies": {
+ "promise": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.0.4.tgz",
+ "integrity": "sha1-Nj6EpMNsg1a4kP7WLJHOhdAu1Tk=",
+ "dev": true,
+ "requires": {
+ "asap": "~2.0.3"
+ }
+ }
+ }
+ },
"less-vars-to-js": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/less-vars-to-js/-/less-vars-to-js-1.3.0.tgz",
@@ -21291,11 +20134,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
- },
- "typescript": {
- "version": "4.5.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
- "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA=="
}
}
},
@@ -22930,11 +21768,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
- },
- "typescript": {
- "version": "4.5.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
- "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA=="
}
}
},
@@ -25505,11 +24338,6 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
"integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg=="
},
- "dotenv": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
- "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
- },
"resolve": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
@@ -26125,33 +24953,10 @@
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
"integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA="
},
- "css": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
- "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
- "requires": {
- "inherits": "^2.0.3",
- "source-map": "^0.6.1",
- "source-map-resolve": "^0.5.2",
- "urix": "^0.1.0"
- }
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
- "requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
}
}
},
@@ -26892,18 +25697,6 @@
"requires": {
"is-extendable": "^0.1.0"
}
- },
- "source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
- "requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
}
}
},
@@ -27050,6 +25843,18 @@
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
"integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug=="
},
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
"source-map-support": {
"version": "0.5.19",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
@@ -27554,6 +26359,12 @@
"babel-plugin-transform-object-rest-spread": "^6.26.0"
}
},
+ "strip-css-comments": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-4.1.0.tgz",
+ "integrity": "sha512-azjRwrqk7nK21LU7QuL7DpDyPjvRROQvqPrNyyz6emdzbOh6fsNTvkSvUiThBLzC6+MN90rFu296VbPb/KV+3A==",
+ "dev": true
+ },
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
diff --git a/package.json b/package.json
index 64394b99..6ae22696 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,7 @@
"@polkadot/types": "7.5.1",
"@polkadot/types-known": "7.5.1",
"@polkadot/api-contract": "7.5.1",
- "@polkadot/util": "8.1.2",
+ "@polkadot/util": "8.3.3",
"@polkadot/metadata": "4.17.1",
"@polkadot/apps-config": "0.102.1",
"@polkadot/extension-dapp": "0.42.2",
@@ -128,7 +128,8 @@
"tailwindcss-aspect-ratio": "^3.0.0"
},
"resolutions": {
- "@polkadot/types": "7.5.1"
+ "@polkadot/types": "7.5.1",
+ "@polkadot/util": "8.3.3"
},
"browserslist": {
"production": [
diff --git a/src/components/Args.tsx b/src/components/Args.tsx
index 9730f36c..350ddf6f 100644
--- a/src/components/Args.tsx
+++ b/src/components/Args.tsx
@@ -126,7 +126,7 @@ export function Args({ args, className }: ArgsProps) {
return value;
}
- return value;
+ return
{value}
;
},
},
];
diff --git a/src/components/Entries.tsx b/src/components/Entries.tsx
index 2b0620fa..9e810128 100644
--- a/src/components/Entries.tsx
+++ b/src/components/Entries.tsx
@@ -1,14 +1,13 @@
import BaseIdentityIcon from '@polkadot/react-identicon';
-import { Call } from '@polkadot/types/interfaces';
import { KeyringAddress, KeyringJson } from '@polkadot/ui-keyring/types';
import { Button, Collapse, Empty, Progress, Space, Table, Typography } from 'antd';
import { ColumnsType } from 'antd/lib/table';
import { intersection, isEmpty } from 'lodash';
import { useCallback } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { toShortString } from '../utils';
import { useApi, useIsInjected } from '../hooks';
-import { AddressPair, Entry, TxActionType } from '../model';
+import { AddressPair, Entry, TxActionType, Network } from '../model';
+import { toShortString } from '../utils';
import { ArgObj, Args } from './Args';
import { genExpandIcon } from './expandIcon';
import { MemberList } from './Members';
@@ -27,17 +26,17 @@ const { Title, Paragraph } = Typography;
const { Panel } = Collapse;
const CALL_DATA_LENGTH = 25;
-const renderMethod = (data: Call | undefined | null) => {
- const call = data?.toHuman();
+const renderMethod = (data: any | undefined | null) => {
+ // const call = data && data?.toHuman ? data?.toHuman() : data;
- if (call) {
- return call.section + '(' + call.method + ')';
+ if (data) {
+ return data.section + '(' + data.method + ')';
} else {
return '-';
}
};
-const renderMemberStatus = (entry: Entry, pair: KeyringJson) => {
+const renderMemberStatus = (entry: Entry, pair: KeyringJson, _network: Network) => {
const { address } = pair;
const { approvals, when } = entry;
const approved = approvals.includes(address);
@@ -47,6 +46,12 @@ const renderMemberStatus = (entry: Entry, pair: KeyringJson) => {
status.approved
) : (
+ //
status.pending
);
};
@@ -140,7 +145,7 @@ export function Entries({ source, isConfirmed, account, loading }: EntriesProps)
},
{
title: t('actions'),
- dataIndex: 'callData',
+ dataIndex: 'callDataJson',
align: 'center',
render: renderMethod,
},
@@ -176,13 +181,13 @@ export function Entries({ source, isConfirmed, account, loading }: EntriesProps)
},
{
key: 'status',
- render: (_, pair) => renderMemberStatus(entry, pair),
+ render: (_, pair) => renderMemberStatus(entry, pair, network),
},
];
- const callDataJson = entry.callData?.toJSON() ?? {};
+ // const callDataJson = entry.callData?.toJSON() ?? {};
const args: Required[] = ((entry.meta?.args ?? []) as Required[]).map((arg) => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
- const value = (callDataJson.args as any)[arg?.name ?? ''];
+ const value = (entry.callDataJson?.args as any)[arg?.name ?? ''];
return { ...arg, value };
});
@@ -252,7 +257,7 @@ export function Entries({ source, isConfirmed, account, loading }: EntriesProps)
extra={renderAction(data)}
className="overflow-hidden mb-4"
>
- renderMemberStatus(data, pair)} />
+ renderMemberStatus(data, pair, network)} />
);
diff --git a/src/components/ExtrinsicRecords.tsx b/src/components/ExtrinsicRecords.tsx
index 61ebb530..795770c4 100644
--- a/src/components/ExtrinsicRecords.tsx
+++ b/src/components/ExtrinsicRecords.tsx
@@ -20,6 +20,7 @@ interface ExecutedMultisig {
multisigAccountId: string;
timestamp: string;
extrinsicIdx: string;
+ approvals: string[];
block: {
id: string;
extrinsics: {
@@ -55,6 +56,7 @@ function Confirmed({ data, account, loading }: ConfirmedProps) {
multisigAccountId,
timestamp,
extrinsicIdx,
+ approvals,
block: {
id: blockHash,
extrinsics: { nodes: exNodes },
@@ -62,17 +64,26 @@ function Confirmed({ data, account, loading }: ConfirmedProps) {
} = node;
const target = exNodes.find((item) => item.section === 'multisig');
- const { signerId, isSuccess } = target ?? {};
+ // const { signerId, isSuccess } = target ?? {};
+ const { isSuccess } = target ?? {};
const multisigArgs = parseArgs(api, target);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const argsHash = multisigArgs.find((item: any) => item.name === 'call')?.value;
- let callData;
+ let callDataJson;
let meta;
try {
- callData = api?.registry.createType('Call', argsHash);
- meta = api?.tx[callData.section][callData?.method].meta.toJSON();
+ if (typeof argsHash === 'string') {
+ callDataJson = api?.registry.createType('Call', argsHash).toHuman();
+ // eslint-disable-next-line no-console
+ console.log('callDataJson', callDataJson);
+ } else {
+ callDataJson = argsHash;
+ }
+ meta = api?.tx[callDataJson?.section][callDataJson?.method].meta.toJSON();
} catch (err) {
- callData = null;
+ // eslint-disable-next-line no-console
+ console.log('err', err);
+ callDataJson = {};
meta = null;
}
const maybeTimepointArg = multisigArgs.find(
@@ -82,19 +93,20 @@ function Confirmed({ data, account, loading }: ConfirmedProps) {
const { height, index } = maybeTimepointArg || {};
return {
- callData,
+ callDataJson,
blockHash,
meta,
hash: blockHash,
callHash: null,
address: multisigAccountId,
extrinsicIdx,
- approvals: [
- ...multisigArgs
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- .find((item: any) => item.name === 'otherSignatories' || item.name === 'other_signatories')?.value,
- signerId,
- ],
+ approvals,
+ // approvals: [
+ // ...multisigArgs
+ // // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ // .find((item: any) => item.name === 'otherSignatories' || item.name === 'other_signatories')?.value,
+ // signerId,
+ // ],
status: isSuccess ? 'executed' : 'pending',
created_at: timestamp,
when: { height: isNumber(height) ? height : +height.replace(/,/g, ''), index: +index },
diff --git a/src/components/HeadAccounts.tsx b/src/components/HeadAccounts.tsx
index 060c1910..dfb2e922 100644
--- a/src/components/HeadAccounts.tsx
+++ b/src/components/HeadAccounts.tsx
@@ -41,7 +41,7 @@ export const HeadAccounts = () => {
content={
-
+
{accounts?.map((item) => (
))}
@@ -50,15 +50,17 @@ export const HeadAccounts = () => {
- {contacts?.map((item) => (
-
- ))}
+
+ {contacts?.map((item) => (
+
+ ))}
+
| null;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
From 8204c9fb579b22cdc1f1c7418a23b0e98814be76 Mon Sep 17 00:00:00 2001
From: vzxh <93637628+vzxh@users.noreply.github.com>
Date: Fri, 28 Jan 2022 11:59:25 +0800
Subject: [PATCH 02/51] fix: fix callData args parse error (#124)
Co-authored-by: amigo
---
src/components/Args.tsx | 2 +-
src/components/ExtrinsicRecords.tsx | 6 +++---
src/hooks/multisig.ts | 5 +++--
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/components/Args.tsx b/src/components/Args.tsx
index 350ddf6f..cb6c49df 100644
--- a/src/components/Args.tsx
+++ b/src/components/Args.tsx
@@ -111,7 +111,7 @@ export function Args({ args, className }: ArgsProps) {
}
if (isBalanceType(type || name) || isCrabValue(name)) {
- return formatBalance(value, +chain.tokens[0].decimal, { noDecimal: false }); // FIXME: decimal issue;
+ return formatBalance(value, +chain.tokens[0].decimal, { noDecimal: true, withThousandSplit: true }); // FIXME: decimal issue;
}
if (isDownloadType(value)) {
diff --git a/src/components/ExtrinsicRecords.tsx b/src/components/ExtrinsicRecords.tsx
index 795770c4..625f13a8 100644
--- a/src/components/ExtrinsicRecords.tsx
+++ b/src/components/ExtrinsicRecords.tsx
@@ -73,9 +73,9 @@ function Confirmed({ data, account, loading }: ConfirmedProps) {
let meta;
try {
if (typeof argsHash === 'string') {
- callDataJson = api?.registry.createType('Call', argsHash).toHuman();
- // eslint-disable-next-line no-console
- console.log('callDataJson', callDataJson);
+ const callData = api.registry.createType('Call', argsHash);
+ const { section, method } = api.registry.findMetaCall(callData.callIndex);
+ callDataJson = { ...callData.toJSON(), section, method };
} else {
callDataJson = argsHash;
}
diff --git a/src/hooks/multisig.ts b/src/hooks/multisig.ts
index 944365c2..7ea45114 100644
--- a/src/hooks/multisig.ts
+++ b/src/hooks/multisig.ts
@@ -50,11 +50,12 @@ export function useMultisig(acc?: string) {
try {
const callData = api.registry.createType('Call', call[0]);
- const callDataJson = callData.toHuman();
+ const { section, method } = api.registry.findMetaCall(callData.callIndex);
+ const callDataJson = { ...callData.toJSON(), section, method };
const hexCallData = u8aToHex(callData.toU8a());
const meta = api?.tx[callData?.section][callData.method].meta.toJSON();
- return { ...result[index], callDataJson, meta, hash: result[index].callHash, hexCallData };
+ return { ...result[index], callDataJson, callData, meta, hash: result[index].callHash, hexCallData };
} catch (_) {
return { ...result[index], callDataJson: {}, meta: {}, hash: result[index].callHash };
}
From a7017a088d46a85ef147ebbce438b239337b1c15 Mon Sep 17 00:00:00 2001
From: vzxh <93637628+vzxh@users.noreply.github.com>
Date: Wed, 9 Feb 2022 10:49:10 +0800
Subject: [PATCH 03/51] chore: update subql endpoints (#125)
---
src/config/network.ts | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/config/network.ts b/src/config/network.ts
index ef74c103..f66f63aa 100644
--- a/src/config/network.ts
+++ b/src/config/network.ts
@@ -16,7 +16,7 @@ export const NETWORK_CONFIG: NetworkConfig = {
// rpc: 'wss://pub.elara.patract.io/polkadot',
rpc: 'wss://rpc.polkadot.io',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig-polkadot',
+ subql: 'https://api.subquery.network/sq/itering/multisig_polkadot',
// subql: 'http://localhost:3000',
},
donate: {
@@ -40,7 +40,7 @@ export const NETWORK_CONFIG: NetworkConfig = {
// rpc: 'wss://kusama.elara.patract.io',
// rpc: 'wss://kusama-rpc.polkadot.io',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig-ksm',
+ subql: 'https://api.subquery.network/sq/itering/multisig_ksm',
},
donate: {
address: 'Fzs6WWFcAuJhxAVyZa4EN2suxggjidJjV3AzJxKbRHjh2Jc',
@@ -61,7 +61,7 @@ export const NETWORK_CONFIG: NetworkConfig = {
},
rpc: 'wss://rpc.darwinia.network',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig-darwinia__aXRlc',
+ subql: 'https://api.subquery.network/sq/itering/multisig_darwinia',
},
donate: {
address: '2rbREPAhkptwCtdvU5eSGnHgFiyPcehdkXuGqFF916oYCJ7s',
@@ -81,7 +81,7 @@ export const NETWORK_CONFIG: NetworkConfig = {
},
rpc: 'wss://pangolin-rpc.darwinia.network/',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig-pangolin',
+ subql: 'https://api.subquery.network/sq/itering/multisig_pangolin',
},
donate: {
address: '2rbREPAhkptwCtdvU5eSGnHgFiyPcehdkXuGqFF916oYCJ7s',
@@ -101,7 +101,7 @@ export const NETWORK_CONFIG: NetworkConfig = {
},
rpc: 'wss://crab-rpc.darwinia.network',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig-crab__aXRlc',
+ subql: 'https://api.subquery.network/sq/itering/multisig_crab',
},
donate: {
address: '5FVFSCANyotNxJM4Crm1LQfsmNQSw3p8H7CRbegN7d5Ex91y',
From 55565b82c48e206fc45554a8e784c3970aa8f290 Mon Sep 17 00:00:00 2001
From: fewensa <37804932+fewensa@users.noreply.github.com>
Date: Mon, 14 Feb 2022 13:04:42 +0800
Subject: [PATCH 04/51] Vercel action (#126)
* Vercel action
* Change slack channel
* chore: update package-lock.json
* fix: add node_version in vercel config
* fix: use npm in vercel
* fix: change slack channel to subscan-general
Co-authored-by: vzxh
---
.github/workflows/deploy-dev.yml | 45 ++++++++++++++++++++++++++++++++
.github/workflows/deploy-prd.yml | 43 ++++++++++++++++++++++++++++++
.github/workflows/deploy-stg.yml | 41 +++++++++++++++++++++++++++++
package-lock.json | 16 ++++++------
4 files changed, 137 insertions(+), 8 deletions(-)
create mode 100644 .github/workflows/deploy-dev.yml
create mode 100644 .github/workflows/deploy-prd.yml
create mode 100644 .github/workflows/deploy-stg.yml
diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml
new file mode 100644
index 00000000..40874f69
--- /dev/null
+++ b/.github/workflows/deploy-dev.yml
@@ -0,0 +1,45 @@
+name: Deploy develop
+
+on:
+ pull_request:
+
+jobs:
+ deploy:
+ name: Deploy
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/checkout@v2
+ with:
+ repository: itering/actions
+ path: .github/actions
+ persist-credentials: false
+ ssh-key: '${{ secrets.ITERING_ACTIONS_DEPLOY_KEY }}'
+
+ - uses: ./.github/actions/smart-vercel
+ name: Deploy to Vercel
+ id: smart-vercel
+ with:
+ node_version: 14
+ vercel_token: ${{ secrets.VERCEL_TOKEN }}
+ vercel_group: itering
+ preview_output: true
+ script_install: npm i
+ script_build: npm run build
+
+ - uses: marocchino/sticky-pull-request-comment@v2
+ with:
+ append: true
+ message: ${{ steps.smart-vercel.outputs.PREVIEW_OUTPUT }}
+
+ - name: Slack Notification
+ uses: rtCamp/action-slack-notify@v2
+ env:
+ SLACK_CHANNEL: subscan-general
+ SLACK_COLOR: ${{ job.status }}
+ SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4
+ SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}'
+ SLACK_TITLE: Preview
+ SLACK_USERNAME: Vercel
+ SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }}
diff --git a/.github/workflows/deploy-prd.yml b/.github/workflows/deploy-prd.yml
new file mode 100644
index 00000000..109f7b7d
--- /dev/null
+++ b/.github/workflows/deploy-prd.yml
@@ -0,0 +1,43 @@
+name: Deploy production
+
+on:
+ push:
+ tags:
+ - 'v*'
+
+jobs:
+ deploy:
+ name: Deploy
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/checkout@v2
+ with:
+ repository: itering/actions
+ path: .github/actions
+ persist-credentials: false
+ ssh-key: '${{ secrets.ITERING_ACTIONS_DEPLOY_KEY }}'
+
+ - uses: ./.github/actions/smart-vercel
+ name: Deploy to Vercel
+ id: smart-vercel
+ with:
+ node_version: 14
+ vercel_token: ${{ secrets.VERCEL_TOKEN }}
+ vercel_group: itering
+ preview_output: true
+ prod_mode: true
+ script_install: npm i
+ script_build: npm run build
+
+ - name: Slack Notification
+ uses: rtCamp/action-slack-notify@v2
+ env:
+ SLACK_CHANNEL: subscan-general
+ SLACK_COLOR: ${{ job.status }}
+ SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4
+ SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}'
+ SLACK_TITLE: Preview
+ SLACK_USERNAME: Vercel
+ SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }}
diff --git a/.github/workflows/deploy-stg.yml b/.github/workflows/deploy-stg.yml
new file mode 100644
index 00000000..8644eab7
--- /dev/null
+++ b/.github/workflows/deploy-stg.yml
@@ -0,0 +1,41 @@
+name: Deploy staging
+
+on:
+ push:
+ branches: [master]
+
+jobs:
+ deploy:
+ name: Deploy
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/checkout@v2
+ with:
+ repository: itering/actions
+ path: .github/actions
+ persist-credentials: false
+ ssh-key: '${{ secrets.ITERING_ACTIONS_DEPLOY_KEY }}'
+
+ - uses: ./.github/actions/smart-vercel
+ name: Deploy to Vercel
+ id: smart-vercel
+ with:
+ node_version: 14
+ vercel_token: ${{ secrets.VERCEL_TOKEN }}
+ vercel_group: itering
+ preview_output: true
+ script_install: npm i
+ script_build: npm run build
+
+ - name: Slack Notification
+ uses: rtCamp/action-slack-notify@v2
+ env:
+ SLACK_CHANNEL: subscan-general
+ SLACK_COLOR: ${{ job.status }}
+ SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4
+ SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}'
+ SLACK_TITLE: Preview
+ SLACK_USERNAME: Vercel
+ SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }}
diff --git a/package-lock.json b/package-lock.json
index bffd2ef5..f4df1116 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -27190,9 +27190,9 @@
"dev": true
},
"postcss-load-config": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.1.tgz",
- "integrity": "sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.2.tgz",
+ "integrity": "sha512-X1NVP1itP6VE5dDA4wR6NK1g9lNlkBx9A+tgDKb/8Mnx4HrvX6k+DcTXGelZvfp6p4zCBZjh4Gwyp4aptOUI9Q==",
"dev": true,
"requires": {
"lilconfig": "^2.0.4",
@@ -27212,14 +27212,14 @@
},
"dependencies": {
"postcss": {
- "version": "8.4.5",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
- "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+ "version": "8.4.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz",
+ "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==",
"dev": true,
"requires": {
- "nanoid": "^3.1.30",
+ "nanoid": "^3.2.0",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.1"
+ "source-map-js": "^1.0.2"
}
}
}
From bb00ed77ba10429e37ea9cb3dfefec00a103d696 Mon Sep 17 00:00:00 2001
From: vzxh <93637628+vzxh@users.noreply.github.com>
Date: Tue, 15 Feb 2022 16:56:59 +0800
Subject: [PATCH 05/51] Add cancel record (#128)
* feat: add cancelled record tab
* chore: unused commit
* chore: comment out slack notification
* feat: add json export/import for multisig account
* chore: change slack channel to multisig-notification
* chore: change slack channel to subscan-multisig-notification
---
.github/CODEOWNERS | 2 +-
.github/workflows/deploy-dev.yml | 20 ++---
.github/workflows/deploy-prd.yml | 2 +-
.github/workflows/deploy-stg.yml | 2 +-
craco.config.js | 1 +
package-lock.json | 42 ++++++++-
package.json | 2 +
public/locales/en/translation.json | 3 +
public/locales/zh/translation.json | 3 +
src/components/Entries.tsx | 14 +--
src/components/ExtrinsicRecords.tsx | 129 ++++++++++++++++++++--------
src/components/WalletForm.tsx | 56 +++++++++++-
src/components/Wallets.tsx | 25 +++++-
src/config/network.ts | 16 ++--
src/config/query.ts | 30 +++++--
src/model/account.ts | 9 ++
src/providers/multisig-provider.tsx | 30 +++++--
src/utils/helper/multisig.ts | 6 ++
18 files changed, 316 insertions(+), 76 deletions(-)
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 17f71fd5..bf87bb7f 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1 +1 @@
-* @sxlwar @carlhong
+* @sxlwar @carlhong @vzxh
diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml
index 40874f69..7bdd21d8 100644
--- a/.github/workflows/deploy-dev.yml
+++ b/.github/workflows/deploy-dev.yml
@@ -33,13 +33,13 @@ jobs:
append: true
message: ${{ steps.smart-vercel.outputs.PREVIEW_OUTPUT }}
- - name: Slack Notification
- uses: rtCamp/action-slack-notify@v2
- env:
- SLACK_CHANNEL: subscan-general
- SLACK_COLOR: ${{ job.status }}
- SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4
- SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}'
- SLACK_TITLE: Preview
- SLACK_USERNAME: Vercel
- SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }}
+ # - name: Slack Notification
+ # uses: rtCamp/action-slack-notify@v2
+ # env:
+ # SLACK_CHANNEL: subscan-general
+ # SLACK_COLOR: ${{ job.status }}
+ # SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4
+ # SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}'
+ # SLACK_TITLE: Preview
+ # SLACK_USERNAME: Vercel
+ # SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }}
diff --git a/.github/workflows/deploy-prd.yml b/.github/workflows/deploy-prd.yml
index 109f7b7d..385da42b 100644
--- a/.github/workflows/deploy-prd.yml
+++ b/.github/workflows/deploy-prd.yml
@@ -34,7 +34,7 @@ jobs:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
- SLACK_CHANNEL: subscan-general
+ SLACK_CHANNEL: subscan-multisig-notification
SLACK_COLOR: ${{ job.status }}
SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4
SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}'
diff --git a/.github/workflows/deploy-stg.yml b/.github/workflows/deploy-stg.yml
index 8644eab7..02fc73d2 100644
--- a/.github/workflows/deploy-stg.yml
+++ b/.github/workflows/deploy-stg.yml
@@ -32,7 +32,7 @@ jobs:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
- SLACK_CHANNEL: subscan-general
+ SLACK_CHANNEL: subscan-multisig-notification
SLACK_COLOR: ${{ job.status }}
SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4
SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}'
diff --git a/craco.config.js b/craco.config.js
index 453cbd90..bef63600 100644
--- a/craco.config.js
+++ b/craco.config.js
@@ -82,6 +82,7 @@ module.exports = {
plugins: {
add: [themePlugin],
},
+ // .
// add mjs compatibility configuration
configure: (webpackConfig) => {
webpackConfig.module.rules.push({
diff --git a/package-lock.json b/package-lock.json
index f4df1116..688080e9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7364,6 +7364,12 @@
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
"integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw=="
},
+ "@types/file-saver": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.5.tgz",
+ "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==",
+ "dev": true
+ },
"@types/glob": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz",
@@ -11312,8 +11318,16 @@
"integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
"requires": {
"inherits": "^2.0.3",
+ "source-map": "^0.6.1",
"source-map-resolve": "^0.5.2",
"urix": "^0.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
}
},
"css-blank-pseudo": {
@@ -13931,6 +13945,12 @@
}
}
},
+ "file-saver": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
+ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==",
+ "dev": true
+ },
"file-selector": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.2.4.tgz",
@@ -18335,7 +18355,8 @@
"integrity": "sha1-gj5phskzGKmBccqFiEi2vq1Vvz4=",
"dev": true,
"requires": {
- "promise": "~7.0.1"
+ "promise": "~7.0.1",
+ "resolve": "~1.1.6"
},
"dependencies": {
"promise": {
@@ -18346,6 +18367,12 @@
"requires": {
"asap": "~2.0.3"
}
+ },
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
}
}
},
@@ -26363,7 +26390,18 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-4.1.0.tgz",
"integrity": "sha512-azjRwrqk7nK21LU7QuL7DpDyPjvRROQvqPrNyyz6emdzbOh6fsNTvkSvUiThBLzC6+MN90rFu296VbPb/KV+3A==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-regexp": "^2.1.0"
+ },
+ "dependencies": {
+ "is-regexp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
+ "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
+ "dev": true
+ }
+ }
},
"strip-eof": {
"version": "1.0.0",
diff --git a/package.json b/package.json
index 6ae22696..78db02ba 100644
--- a/package.json
+++ b/package.json
@@ -89,6 +89,7 @@
"@open-wc/webpack-import-meta-loader": "^0.4.7",
"@tailwindcss/postcss7-compat": "^2.0.4",
"@types/codeflask": "^1.4.2",
+ "@types/file-saver": "^2.0.5",
"@types/less": "^3.0.3",
"@types/lodash": "^4.14.168",
"@types/owasp-password-strength-test": "^1.3.0",
@@ -111,6 +112,7 @@
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-react-hooks": "^4.2.0",
+ "file-saver": "^2.0.5",
"husky": "^4.2.3",
"i18next-scanner": "^3.0.0",
"i18next-scanner-typescript": "^1.0.6",
diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json
index 4392778c..3c9b1eaf 100644
--- a/public/locales/en/translation.json
+++ b/public/locales/en/translation.json
@@ -21,6 +21,8 @@
"Transaction information": "Transaction information",
"There is an account configured by the same member and threshold. Confirm to replace it with a new account?": "There is an account configured by the same member and threshold. Confirm to replace it with a new account?",
"View in Subscan explorer": "View in Subscan explorer",
+ "Export account config": "Export account config",
+ "import from config": "Import from config",
"about": "About",
"account": "Account",
"accounts": "Accounts",
@@ -83,6 +85,7 @@
"multisig": {
"Confirmed Extrinsic": "Confirmed Extrinsic",
"In Progress": "In Progress",
+ "Cancelled Extrinsic": "Cancelled Extrinsic",
"Members": "Members",
"Threshold": "Threshold",
"approval": "Multi-sig approval",
diff --git a/public/locales/zh/translation.json b/public/locales/zh/translation.json
index 7f97043c..91a18722 100644
--- a/public/locales/zh/translation.json
+++ b/public/locales/zh/translation.json
@@ -21,6 +21,8 @@
"Transaction information": "交易信息",
"There is an account configured by the same member and threshold. Confirm to replace it with a new account?": "已存在一个有相同成员及阈值的多签账号,确定使用新账号替换吗?",
"View in Subscan explorer": "至 Subscan 浏览器查看",
+ "Export account config": "导出多签账户配置",
+ "import account": "从配置中导入",
"about": "关于",
"account": "账户",
"accounts": "账户",
@@ -82,6 +84,7 @@
"multisig": {
"Confirmed Extrinsic": "已确认",
"In Progress": "待确认",
+ "Cancelled Extrinsic": "已取消",
"Members": "成员数",
"Threshold": "阈值",
"approval": "批准多签交易",
diff --git a/src/components/Entries.tsx b/src/components/Entries.tsx
index 9e810128..da00004a 100644
--- a/src/components/Entries.tsx
+++ b/src/components/Entries.tsx
@@ -19,6 +19,7 @@ export interface EntriesProps {
source: Entry[];
account: KeyringAddress;
isConfirmed?: boolean;
+ isCancelled?: boolean;
loading?: boolean;
}
@@ -29,7 +30,7 @@ const CALL_DATA_LENGTH = 25;
const renderMethod = (data: any | undefined | null) => {
// const call = data && data?.toHuman ? data?.toHuman() : data;
- if (data) {
+ if (data && data.section && data.method) {
return data.section + '(' + data.method + ')';
} else {
return '-';
@@ -56,7 +57,8 @@ const renderMemberStatus = (entry: Entry, pair: KeyringJson, _network: Network)
);
};
-export function Entries({ source, isConfirmed, account, loading }: EntriesProps) {
+// eslint-disable-next-line complexity
+export function Entries({ source, isConfirmed, isCancelled, account, loading }: EntriesProps) {
const { t } = useTranslation();
const isInjected = useIsInjected();
const { network } = useApi();
@@ -116,20 +118,20 @@ export function Entries({ source, isConfirmed, account, loading }: EntriesProps)
const columns: ColumnsType = [
{
- title: t(!isConfirmed ? 'call_data' : 'extrinsic_index'),
- dataIndex: !isConfirmed ? 'hexCallData' : 'extrinsicIdx',
+ title: t(isConfirmed || isCancelled ? 'extrinsic_index' : 'call_data'),
+ dataIndex: isConfirmed || isCancelled ? 'extrinsicIdx' : 'hexCallData',
width: 300,
align: 'center',
// eslint-disable-next-line complexity
render(data: string) {
let extrinsicHeight = '';
let extrinsicIndex = '';
- if (isConfirmed && data.split('-').length > 1) {
+ if ((isConfirmed || isCancelled) && data.split('-').length > 1) {
extrinsicHeight = data.split('-')[0];
extrinsicIndex = data.split('-')[1];
}
- return !isConfirmed ? (
+ return !(isConfirmed || isCancelled) ? (
<>
{!isEmpty(data)
diff --git a/src/components/ExtrinsicRecords.tsx b/src/components/ExtrinsicRecords.tsx
index 625f13a8..6ad87209 100644
--- a/src/components/ExtrinsicRecords.tsx
+++ b/src/components/ExtrinsicRecords.tsx
@@ -6,20 +6,22 @@ import { isNumber } from 'lodash';
import { useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useParams } from 'react-router-dom';
-import { EXECUTED_MULTISIGS_QUERY } from '../config';
+import { MULTISIG_RECORD_QUERY } from '../config';
import { useApi } from '../hooks';
import { useMultisigContext } from '../hooks/multisigContext';
import { IExtrinsic, parseArgs } from '../utils';
import { Entries } from './Entries';
-interface ExecutedMultisigsQueryRes {
- executedMultisigs: { totalCount: number; nodes: ExecutedMultisig[] };
+interface MultisigRecordsQueryRes {
+ multisigRecords: { totalCount: number; nodes: MultisigRecord[] };
}
-interface ExecutedMultisig {
+interface MultisigRecord {
multisigAccountId: string;
timestamp: string;
- extrinsicIdx: string;
+ createExtrinsicIdx: string;
+ confirmExtrinsicIdx: string;
+ cancelExtrinsicIdx: string;
approvals: string[];
block: {
id: string;
@@ -27,45 +29,54 @@ interface ExecutedMultisig {
nodes: IExtrinsic[];
};
};
+ confirmBlock: {
+ id: string;
+ extrinsics: {
+ nodes: IExtrinsic[];
+ };
+ };
}
const { TabPane } = Tabs;
/* -----------------------------------Confirmed extrinsic------------------------------------ */
-interface ConfirmedProps {
+interface ConfirmedOrCancelledProps {
multiAddress: string;
account: KeyringAddress | null;
- data: ExecutedMultisigsQueryRes | undefined;
+ nodes: MultisigRecord[];
+ isConfirmed: boolean;
loading: boolean;
}
-function Confirmed({ data, account, loading }: ConfirmedProps) {
+function ConfirmedOrCancelled({ nodes, account, loading, isConfirmed }: ConfirmedOrCancelledProps) {
const { api } = useApi();
const extrinsic = useMemo(() => {
- if (!data?.executedMultisigs || !api) {
+ if (!api) {
return [];
}
- const { nodes } = data?.executedMultisigs;
-
// eslint-disable-next-line complexity
return nodes.map((node) => {
const {
multisigAccountId,
timestamp,
- extrinsicIdx,
+ createExtrinsicIdx,
+ confirmExtrinsicIdx,
+ cancelExtrinsicIdx,
approvals,
block: {
- id: blockHash,
- extrinsics: { nodes: exNodes },
+ id: createBlockHash,
+ extrinsics: { nodes: createExNodes },
},
} = node;
- const target = exNodes.find((item) => item.section === 'multisig');
+ const target = isConfirmed
+ ? node.confirmBlock.extrinsics.nodes.find((item) => item.section === 'multisig')
+ : createExNodes.find((item) => item.section === 'multisig');
// const { signerId, isSuccess } = target ?? {};
- const { isSuccess } = target ?? {};
+ // const { isSuccess } = target ?? {};
const multisigArgs = parseArgs(api, target);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const argsHash = multisigArgs.find((item: any) => item.name === 'call')?.value;
@@ -82,24 +93,25 @@ function Confirmed({ data, account, loading }: ConfirmedProps) {
meta = api?.tx[callDataJson?.section][callDataJson?.method].meta.toJSON();
} catch (err) {
// eslint-disable-next-line no-console
- console.log('err', err);
+ // console.log('err', err);
callDataJson = {};
meta = null;
}
- const maybeTimepointArg = multisigArgs.find(
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- (item: any) => item.name === 'maybeTimepoint' || item.name === 'maybe_timepoint'
- )?.value;
- const { height, index } = maybeTimepointArg || {};
+ // const maybeTimepointArg = multisigArgs.find(
+ // // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ // (item: any) => item.name === 'maybeTimepoint' || item.name === 'maybe_timepoint' || item.name === 'timepoint'
+ // )?.value;
+ // const { height, index } = maybeTimepointArg || {};
+ const [height, index] = createExtrinsicIdx.split('-');
return {
callDataJson,
- blockHash,
+ blockHash: createBlockHash,
meta,
- hash: blockHash,
+ hash: createBlockHash,
callHash: null,
address: multisigAccountId,
- extrinsicIdx,
+ extrinsicIdx: isConfirmed ? confirmExtrinsicIdx : cancelExtrinsicIdx,
approvals,
// approvals: [
// ...multisigArgs
@@ -107,16 +119,22 @@ function Confirmed({ data, account, loading }: ConfirmedProps) {
// .find((item: any) => item.name === 'otherSignatories' || item.name === 'other_signatories')?.value,
// signerId,
// ],
- status: isSuccess ? 'executed' : 'pending',
+ status: isConfirmed ? 'executed' : 'cancelled',
created_at: timestamp,
when: { height: isNumber(height) ? height : +height.replace(/,/g, ''), index: +index },
depositor: '',
};
});
- }, [api, data?.executedMultisigs]);
+ }, [api, nodes, isConfirmed]);
return account ? (
-
+
) : (
);
@@ -127,16 +145,31 @@ function Confirmed({ data, account, loading }: ConfirmedProps) {
export function ExtrinsicRecords() {
const { t } = useTranslation();
const { account: multiAddress } = useParams<{ account: string }>();
- const { multisigAccount, inProgress, confirmedAccount, queryInProgress, loadingInProgress } = useMultisigContext();
+ const { multisigAccount, inProgress, confirmedAccount, cancelledAccount, queryInProgress, loadingInProgress } =
+ useMultisigContext();
const [tabKey, setTabKey] = useState('inProgress');
const {
- data,
+ data: confirmedData,
refetch: refetchConfimed,
loading: loadingConfirmed,
- } = useQuery(EXECUTED_MULTISIGS_QUERY, {
+ } = useQuery(MULTISIG_RECORD_QUERY, {
variables: {
account: multiAddress,
+ status: 'confirmed',
+ offset: 0,
+ limit: 10,
+ },
+ });
+
+ const {
+ data: cancelledData,
+ refetch: refetchCancelled,
+ loading: loadingCancelled,
+ } = useQuery(MULTISIG_RECORD_QUERY, {
+ variables: {
+ account: multiAddress,
+ status: 'cancelled',
offset: 0,
limit: 10,
},
@@ -148,17 +181,22 @@ export function ExtrinsicRecords() {
queryInProgress();
} else if (key === 'confirmed') {
refetchConfimed();
+ } else if (key === 'cancelled') {
+ refetchCancelled();
}
};
const refreshData = () => {
queryInProgress();
refetchConfimed();
+ refetchCancelled();
};
return (
-
-
+
+
+
+
-
+
+
+
+ {t('multisig.Cancelled Extrinsic')}
+ {cancelledAccount}
+
+ }
+ key="cancelled"
+ >
+
diff --git a/src/components/WalletForm.tsx b/src/components/WalletForm.tsx
index 659f4d2c..6cb5248f 100644
--- a/src/components/WalletForm.tsx
+++ b/src/components/WalletForm.tsx
@@ -18,6 +18,7 @@ import {
Tag,
Tooltip,
Checkbox,
+ Upload,
} from 'antd';
import { useForm } from 'antd/lib/form/Form';
import { format } from 'date-fns';
@@ -27,7 +28,7 @@ import { Link, useHistory } from 'react-router-dom';
import { NETWORKS, validateMessages } from '../config';
import i18n from '../config/i18n';
import { useApi, useContacts } from '../hooks';
-import { Network, ShareScope, WalletFormValue } from '../model';
+import { Network, ShareScope, WalletFormValue, MultisigAccountConfig } from '../model';
import { InjectedAccountWithMeta } from '../model/account';
import { convertToSS58, findMultiAccount, getMainColor, updateMultiAccountScope } from '../utils';
@@ -113,6 +114,7 @@ export function WalletForm() {
return composeOptions.filter(({ value }) => !selectedAccounts.includes(value)) || [];
}, [accounts, contacts, selectedAccounts]);
+
const updateSelectedAccounts = (namePath?: (string | number)[]) => {
const selected: {
name: string;
@@ -129,6 +131,48 @@ export function WalletForm() {
setSelectedAccounts(result);
};
+ const uploadProps = {
+ name: 'file',
+ headers: {
+ authorization: 'authorization-text',
+ },
+ onChange(info: any) {
+ if (info.file.status !== 'uploading') {
+ // console.log(info.file, info.fileList);
+ }
+ if (info.file.status === 'done') {
+ message.success(`${info.file.name} file uploaded successfully`);
+ } else if (info.file.status === 'error') {
+ message.error(`${info.file.name} file upload failed.`);
+ }
+ },
+ customRequest(info: any) {
+ try {
+ const reader = new FileReader();
+
+ reader.onload = (e: any) => {
+ // eslint-disable-next-line no-console
+ console.log(e.target.result);
+
+ const config = JSON.parse(e.target.result) as MultisigAccountConfig;
+ const encodeMembers = config.members.map((member) => {
+ return {
+ name: member.name,
+ address: encodeAddress(member.address, networkConfig.ss58Prefix),
+ };
+ });
+ form.setFieldsValue({ threshold: config.threshold, name: config.name, members: encodeMembers });
+ };
+ reader.readAsText(info.file);
+ } catch (err: unknown) {
+ if (err instanceof Error) {
+ // eslint-disable-next-line no-console
+ console.log('err:', err);
+ }
+ }
+ },
+ };
+
return (
+
+
+
+
+
+
+
}
diff --git a/src/components/Wallets.tsx b/src/components/Wallets.tsx
index 2a386204..8c4ab6ef 100644
--- a/src/components/Wallets.tsx
+++ b/src/components/Wallets.tsx
@@ -1,5 +1,5 @@
/* eslint-disable no-console */
-import { CaretRightOutlined, GlobalOutlined } from '@ant-design/icons';
+import { CaretRightOutlined, GlobalOutlined, ExportOutlined } from '@ant-design/icons';
import BaseIdentityIcon from '@polkadot/react-identicon';
import keyring from '@polkadot/ui-keyring';
import { KeyringAddress, KeyringJson } from '@polkadot/ui-keyring/types';
@@ -8,11 +8,13 @@ import { ColumnsType } from 'antd/lib/table';
import React, { useCallback, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Link, useHistory } from 'react-router-dom';
+import { saveAs } from 'file-saver';
import { NETWORK_CONFIG } from '../config';
import { Path } from '../config/routes';
import { useApi, useIsInjected } from '../hooks';
import { Chain } from '../providers';
import { accuracyFormat, convertToSS58, isInCurrentScope } from '../utils';
+import { getMultiAccountScope } from '../utils/helper/multisig';
import { genExpandIcon } from './expandIcon';
import { MemberList } from './Members';
import { SubscanLink } from './SubscanLink';
@@ -55,10 +57,23 @@ export function Wallets() {
const [multisigAccounts, setMultisigAccounts] = useState
([]);
const isExtensionAccount = useIsInjected();
const [isCalculating, setIsCalculating] = useState(true);
+
const renderAction = useCallback(
(row: KeyringAddress) => {
const { address } = row;
+ const exportAccountConfig = () => {
+ const config = {
+ name: row.meta.name,
+ members: row.meta.addressPair as KeyringJson[],
+ threshold: row.meta.threshold,
+ scope: getMultiAccountScope(row.publicKey),
+ };
+
+ const blob = new Blob([JSON.stringify(config)], { type: 'text/plain;charset=utf-8' });
+ saveAs(blob, `${row.address}.json`);
+ };
+
return (
{/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}
@@ -81,6 +96,14 @@ export function Wallets() {
icon={}
>
+
+
+ }
+ >
+
);
},
diff --git a/src/config/network.ts b/src/config/network.ts
index f66f63aa..71b6a345 100644
--- a/src/config/network.ts
+++ b/src/config/network.ts
@@ -16,8 +16,8 @@ export const NETWORK_CONFIG: NetworkConfig = {
// rpc: 'wss://pub.elara.patract.io/polkadot',
rpc: 'wss://rpc.polkadot.io',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig_polkadot',
- // subql: 'http://localhost:3000',
+ // subql: 'https://api.subquery.network/sq/itering/multisig_polkadot',
+ subql: 'https://api.subquery.network/sq/itering/multisig_polkadot__aXRlc',
},
donate: {
address: '14RYaXRSqb9rPqMaAVp1UZW2czQ6dMNGMbvukwfifi6m8ZgZ',
@@ -40,7 +40,8 @@ export const NETWORK_CONFIG: NetworkConfig = {
// rpc: 'wss://kusama.elara.patract.io',
// rpc: 'wss://kusama-rpc.polkadot.io',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig_ksm',
+ // subql: 'https://api.subquery.network/sq/itering/multisig_ksm',
+ subql: 'https://api.subquery.network/sq/itering/multisig_ksm__aXRlc',
},
donate: {
address: 'Fzs6WWFcAuJhxAVyZa4EN2suxggjidJjV3AzJxKbRHjh2Jc',
@@ -61,7 +62,8 @@ export const NETWORK_CONFIG: NetworkConfig = {
},
rpc: 'wss://rpc.darwinia.network',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig_darwinia',
+ // subql: 'https://api.subquery.network/sq/itering/multisig_darwinia',
+ subql: 'https://api.subquery.network/sq/itering/multisig_darwinia__aXRlc',
},
donate: {
address: '2rbREPAhkptwCtdvU5eSGnHgFiyPcehdkXuGqFF916oYCJ7s',
@@ -81,7 +83,8 @@ export const NETWORK_CONFIG: NetworkConfig = {
},
rpc: 'wss://pangolin-rpc.darwinia.network/',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig_pangolin',
+ // subql: 'https://api.subquery.network/sq/itering/multisig_pangolin',
+ subql: 'https://api.subquery.network/sq/itering/multisig_pangolin__aXRlc',
},
donate: {
address: '2rbREPAhkptwCtdvU5eSGnHgFiyPcehdkXuGqFF916oYCJ7s',
@@ -101,7 +104,8 @@ export const NETWORK_CONFIG: NetworkConfig = {
},
rpc: 'wss://crab-rpc.darwinia.network',
api: {
- subql: 'https://api.subquery.network/sq/itering/multisig_crab',
+ // subql: 'https://api.subquery.network/sq/itering/multisig_crab',
+ subql: 'https://api.subquery.network/sq/itering/multisig_crab__aXRlc',
},
donate: {
address: '5FVFSCANyotNxJM4Crm1LQfsmNQSw3p8H7CRbegN7d5Ex91y',
diff --git a/src/config/query.ts b/src/config/query.ts
index df28ce45..76968531 100644
--- a/src/config/query.ts
+++ b/src/config/query.ts
@@ -1,18 +1,20 @@
-export const EXECUTED_MULTISIGS_COUNT_QUERY = `
- query executedMultisigs($account: String!) {
- executedMultisigs(filter: { multisigAccountId: { equalTo: $account } }) {
+export const MULTISIG_RECORD_COUNT_QUERY = `
+ query multisigRecords($account: String!, $status: String!) {
+ multisigRecords(filter: { multisigAccountId: { equalTo: $account}, status: {equalTo: $status}}) {
totalCount
}
}
`;
-export const EXECUTED_MULTISIGS_QUERY = `
- query executedMultisigs($account: String!, $offset: Int, $limit: Int) {
- executedMultisigs(offset: $offset, last: $limit, filter: { multisigAccountId: { equalTo: $account } }, orderBy: TIMESTAMP_DESC) {
+export const MULTISIG_RECORD_QUERY = `
+ query multisigRecords($account: String!, $status: String!,$offset: Int, $limit: Int) {
+ multisigRecords(offset: $offset, last: $limit, filter: { multisigAccountId: { equalTo: $account }, status: {equalTo: $status}}, orderBy: TIMESTAMP_DESC) {
totalCount
nodes {
multisigAccountId
timestamp
- extrinsicIdx
+ createExtrinsicIdx
+ cancelExtrinsicIdx
+ confirmExtrinsicIdx
approvals
block {
@@ -28,6 +30,20 @@ export const EXECUTED_MULTISIGS_QUERY = `
}
}
}
+
+ confirmBlock {
+ id
+ extrinsics {
+ nodes {
+ id
+ method
+ section
+ args
+ signerId # 验证人account
+ isSuccess
+ }
+ }
+ }
}
}
}
diff --git a/src/model/account.ts b/src/model/account.ts
index b1e353ab..a987c7f7 100644
--- a/src/model/account.ts
+++ b/src/model/account.ts
@@ -41,3 +41,12 @@ export interface StoredScope {
publicKey: string;
scope: Network[];
}
+
+export interface MultisigAccountConfig {
+ name: string;
+ members: {
+ name: string;
+ address: string;
+ }[];
+ threshold: number;
+}
diff --git a/src/providers/multisig-provider.tsx b/src/providers/multisig-provider.tsx
index 8893a950..2dbbc1b9 100644
--- a/src/providers/multisig-provider.tsx
+++ b/src/providers/multisig-provider.tsx
@@ -3,7 +3,7 @@ import { Spin } from 'antd';
import { useManualQuery } from 'graphql-hooks';
import { createContext, useCallback, useEffect, useState } from 'react';
import { useParams } from 'react-router-dom';
-import { EXECUTED_MULTISIGS_COUNT_QUERY } from '../config';
+import { MULTISIG_RECORD_COUNT_QUERY } from '../config';
import { useMultisig } from '../hooks';
import { Entry } from '../model';
import { empty } from '../utils';
@@ -12,9 +12,11 @@ export const MultisigContext = createContext<{
inProgress: Entry[];
multisigAccount: KeyringAddress | null;
confirmedAccount: number;
+ cancelledAccount: number;
setMultisigAccount: React.Dispatch> | null;
queryInProgress: () => Promise;
refreshConfirmedAccount: () => void;
+ refreshCancelledAccount: () => void;
setIsPageLock: (lock: boolean) => void;
loadingInProgress: boolean;
}>({
@@ -22,9 +24,11 @@ export const MultisigContext = createContext<{
multisigAccount: null,
setMultisigAccount: null,
confirmedAccount: 0,
+ cancelledAccount: 0,
queryInProgress: () => Promise.resolve(),
setIsPageLock: empty,
refreshConfirmedAccount: empty,
+ refreshCancelledAccount: empty,
loadingInProgress: false,
});
@@ -32,20 +36,32 @@ export const EntriesProvider = ({ children }: React.PropsWithChildren)
const [isPageLocked, setIsPageLock] = useState(false);
const value = useMultisig();
const { account } = useParams<{ account: string }>();
- const [fetchData, { data }] = useManualQuery<{ executedMultisigs: { totalCount: number } }>(
- EXECUTED_MULTISIGS_COUNT_QUERY,
+ const [fetchData, { data }] = useManualQuery<{ multisigRecords: { totalCount: number } }>(
+ MULTISIG_RECORD_COUNT_QUERY,
{
- variables: { account },
+ variables: { account, status: 'confirmed' },
skipCache: true,
}
);
const refreshConfirmedAccount = useCallback(
- () => fetchData({ variables: { account }, skipCache: true }),
+ () => fetchData({ variables: { account, status: 'confirmed' }, skipCache: true }),
[account, fetchData]
);
+ const [fetchCancelledData, { data: cancelledData }] = useManualQuery<{ multisigRecords: { totalCount: number } }>(
+ MULTISIG_RECORD_COUNT_QUERY,
+ {
+ variables: { account, status: 'cancelled' },
+ skipCache: true,
+ }
+ );
+ const refreshCancelledAccount = useCallback(
+ () => fetchCancelledData({ variables: { account, status: 'cancelled' }, skipCache: true }),
+ [account, fetchCancelledData]
+ );
useEffect(() => {
refreshConfirmedAccount();
+ refreshCancelledAccount();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
@@ -54,8 +70,10 @@ export const EntriesProvider = ({ children }: React.PropsWithChildren)
value={{
...value,
setIsPageLock,
- confirmedAccount: data?.executedMultisigs.totalCount ?? 0,
+ confirmedAccount: data?.multisigRecords.totalCount ?? 0,
+ cancelledAccount: cancelledData?.multisigRecords.totalCount ?? 0,
refreshConfirmedAccount,
+ refreshCancelledAccount,
}}
>
diff --git a/src/utils/helper/multisig.ts b/src/utils/helper/multisig.ts
index c0eecabf..c94b1bf7 100644
--- a/src/utils/helper/multisig.ts
+++ b/src/utils/helper/multisig.ts
@@ -126,6 +126,12 @@ export function updateMultiAccountScope(
store.set(scopeKey(key), networks);
}
+export function getMultiAccountScope(publicKey: Uint8Array): Network[] {
+ const scope: Network[] = store.get(scopeKey(publicKey));
+
+ return scope || [];
+}
+
export function isInCurrentScope(publicKey: Uint8Array, network: Network): boolean {
const scope: Network[] = store.get(scopeKey(publicKey)) ?? null;
From cfcfd56f7f7332d51ae83f0b25e3e30a27fbc97b Mon Sep 17 00:00:00 2001
From: vzxh <93637628+vzxh@users.noreply.github.com>
Date: Wed, 16 Feb 2022 13:29:29 +0800
Subject: [PATCH 06/51] chore: refine UI from design (#129)
---
package-lock.json | 472 +++++++++++++-----------
src/App.tsx | 2 +-
src/assets/images/icon_down.svg | 13 +
src/assets/images/icon_members.svg | 13 +
src/components/Args.tsx | 3 +-
src/components/Entries.tsx | 15 +-
src/components/Members.tsx | 16 +-
src/components/SubscanLink.tsx | 33 +-
src/components/WalletState.tsx | 193 +++++++---
src/components/Wallets.tsx | 49 ++-
src/components/expandIcon.tsx | 50 ++-
src/components/modals/ConfirmDialog.tsx | 60 +++
src/index.scss | 27 ++
src/pages/Connecting.tsx | 2 +-
src/pages/Extrinsic.tsx | 8 +-
src/theme/antd/index.less | 27 +-
src/theme/network/crab.json | 3 +-
src/theme/network/dark/crab.json | 3 +-
src/theme/network/dark/darwinia.json | 3 +-
src/theme/network/dark/kusama.json | 3 +-
src/theme/network/dark/pangolin.json | 3 +-
src/theme/network/dark/polkadot.json | 3 +-
src/theme/network/darwinia.json | 3 +-
src/theme/network/kusama.json | 3 +-
src/theme/network/pangolin.json | 3 +-
src/theme/network/polkadot.json | 3 +-
tailwind.config.js | 6 +
tsconfig.json | 16 +-
28 files changed, 691 insertions(+), 344 deletions(-)
create mode 100644 src/assets/images/icon_down.svg
create mode 100644 src/assets/images/icon_members.svg
create mode 100644 src/components/modals/ConfirmDialog.tsx
diff --git a/package-lock.json b/package-lock.json
index 688080e9..f58b28e0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2237,15 +2237,6 @@
"prop-types": "^15.7.2"
}
},
- "@fullhuman/postcss-purgecss": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz",
- "integrity": "sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA==",
- "dev": true,
- "requires": {
- "purgecss": "^3.1.3"
- }
- },
"@hapi/address": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
@@ -7157,31 +7148,31 @@
}
},
"@tailwindcss/postcss7-compat": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/@tailwindcss/postcss7-compat/-/postcss7-compat-2.2.4.tgz",
- "integrity": "sha512-lFIBdD1D2w3RgHFg7kNB7U5LOlfbd+KXTzcLyC/RlQ9eVko6GjNCKpN/kdmfF9wiGxbSDT/3mousXeMZdOOuBg==",
+ "version": "2.2.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/postcss7-compat/-/postcss7-compat-2.2.17.tgz",
+ "integrity": "sha512-3h2svqQAqYHxRZ1KjsJjZOVTQ04m29LjfrLjXyZZEJuvUuJN+BCIF9GI8vhE1s0plS0mogd6E6YLg6mu4Wv/Vw==",
"dev": true,
"requires": {
- "@fullhuman/postcss-purgecss": "^3.1.3",
- "arg": "^5.0.0",
+ "arg": "^5.0.1",
"autoprefixer": "^9",
"bytes": "^3.0.0",
- "chalk": "^4.1.1",
+ "chalk": "^4.1.2",
"chokidar": "^3.5.2",
- "color": "^3.1.3",
- "cosmiconfig": "^7.0.0",
+ "color": "^4.0.1",
+ "cosmiconfig": "^7.0.1",
"detective": "^5.2.0",
- "didyoumean": "^1.2.1",
+ "didyoumean": "^1.2.2",
"dlv": "^1.1.3",
- "fast-glob": "^3.2.5",
+ "fast-glob": "^3.2.7",
"fs-extra": "^10.0.0",
- "glob-parent": "^6.0.0",
+ "glob-parent": "^6.0.1",
"html-tags": "^3.1.0",
+ "is-color-stop": "^1.1.0",
"is-glob": "^4.0.1",
"lodash": "^4.17.21",
"lodash.topath": "^4.5.2",
"modern-normalize": "^1.1.0",
- "node-emoji": "^1.8.1",
+ "node-emoji": "^1.11.0",
"normalize-path": "^3.0.0",
"object-hash": "^2.2.0",
"postcss": "^7",
@@ -7192,6 +7183,7 @@
"postcss-selector-parser": "^6.0.6",
"postcss-value-parser": "^4.1.0",
"pretty-hrtime": "^1.0.3",
+ "purgecss": "^4.0.3",
"quick-lru": "^5.1.1",
"reduce-css-calc": "^2.1.8",
"resolve": "^1.20.0",
@@ -7199,9 +7191,9 @@
},
"dependencies": {
"chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -7209,25 +7201,53 @@
}
},
"color": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz",
- "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.1.tgz",
+ "integrity": "sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==",
"dev": true,
"requires": {
- "color-convert": "^1.9.1",
- "color-string": "^1.5.4"
+ "color-convert": "^2.0.1",
+ "color-string": "^1.9.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
}
},
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"color-string": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz",
- "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz",
+ "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==",
"dev": true,
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
}
},
+ "cosmiconfig": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
"fs-extra": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
@@ -7240,40 +7260,50 @@
}
},
"glob-parent": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz",
- "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"requires": {
- "is-glob": "^4.0.1"
+ "is-glob": "^4.0.3"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ }
}
},
- "import-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
- "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
+ "parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
"dev": true,
"requires": {
- "import-from": "^3.0.0"
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
}
},
- "import-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
- "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
- "dev": true,
- "requires": {
- "resolve-from": "^5.0.0"
- }
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
},
"postcss-load-config": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz",
- "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz",
+ "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==",
"dev": true,
"requires": {
- "import-cwd": "^3.0.0",
- "lilconfig": "^2.0.3",
+ "lilconfig": "^2.0.4",
"yaml": "^1.10.2"
}
},
@@ -7282,12 +7312,6 @@
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
"dev": true
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
}
}
},
@@ -8677,9 +8701,9 @@
}
},
"arg": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz",
- "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz",
+ "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==",
"dev": true
},
"argparse": {
@@ -8923,15 +8947,15 @@
"integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg=="
},
"autoprefixer": {
- "version": "9.8.6",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
- "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
+ "version": "9.8.8",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz",
+ "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==",
"requires": {
"browserslist": "^4.12.0",
"caniuse-lite": "^1.0.30001109",
- "colorette": "^1.2.1",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
+ "picocolors": "^0.2.1",
"postcss": "^7.0.32",
"postcss-value-parser": "^4.1.0"
}
@@ -18399,9 +18423,9 @@
}
},
"lilconfig": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz",
- "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
+ "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==",
"dev": true
},
"lines-and-columns": {
@@ -18598,12 +18622,6 @@
"lodash._reinterpolate": "^3.0.0"
}
},
- "lodash.toarray": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
- "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
- "dev": true
- },
"lodash.topath": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz",
@@ -20411,12 +20429,12 @@
"optional": true
},
"node-emoji": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz",
- "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
+ "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
"dev": true,
"requires": {
- "lodash.toarray": "^4.4.0"
+ "lodash": "^4.17.21"
}
},
"node-fetch": {
@@ -21322,10 +21340,9 @@
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
},
"picomatch": {
"version": "2.3.0",
@@ -21837,65 +21854,18 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
"postcss": {
- "version": "7.0.36",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
- "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
"requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "requires": {
- "has-flag": "^3.0.0"
- }
}
}
},
@@ -22347,6 +22317,24 @@
"dev": true,
"requires": {
"postcss": "^7.0.14"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"postcss-load-config": {
@@ -22978,6 +22966,24 @@
"requires": {
"gonzales-pe": "^4.3.0",
"postcss": "^7.0.21"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"postcss-scss": {
@@ -22987,6 +22993,24 @@
"dev": true,
"requires": {
"postcss": "^7.0.6"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"postcss-selector-matches": {
@@ -23390,33 +23414,51 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"purgecss": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-3.1.3.tgz",
- "integrity": "sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz",
+ "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==",
"dev": true,
"requires": {
- "commander": "^6.0.0",
- "glob": "^7.0.0",
- "postcss": "^8.2.1",
- "postcss-selector-parser": "^6.0.2"
+ "commander": "^8.0.0",
+ "glob": "^7.1.7",
+ "postcss": "^8.3.5",
+ "postcss-selector-parser": "^6.0.6"
},
"dependencies": {
"commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "dev": true
+ },
+ "nanoid": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.0.tgz",
+ "integrity": "sha512-JzxqqT5u/x+/KOFSd7JP15DOo9nOoHpx6DYatqIHUW2+flybkm+mdcraotSQR5WcnZr+qhGVh8Ted0KdfSMxlg==",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
},
"postcss": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz",
- "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==",
+ "version": "8.4.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz",
+ "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==",
"dev": true,
"requires": {
- "colorette": "^1.2.2",
- "nanoid": "^3.1.23",
- "source-map-js": "^0.6.2"
+ "nanoid": "^3.2.0",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
}
+ },
+ "source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "dev": true
}
}
},
@@ -24892,7 +24934,6 @@
"convert-source-map": "1.7.0",
"es6-iterator": "2.0.3",
"loader-utils": "1.2.3",
- "postcss": "7.0.36",
"rework": "1.0.1",
"rework-visit": "1.0.0",
"source-map": "0.6.1"
@@ -26571,6 +26612,21 @@
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"dev": true
},
+ "autoprefixer": {
+ "version": "9.8.8",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz",
+ "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001109",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "picocolors": "^0.2.1",
+ "postcss": "^7.0.32",
+ "postcss-value-parser": "^4.1.0"
+ }
+ },
"balanced-match": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
@@ -26724,6 +26780,16 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
+ "postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ }
+ },
"postcss-safe-parser": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
@@ -26802,6 +26868,12 @@
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
"string-width": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
@@ -26879,6 +26951,24 @@
"dev": true,
"requires": {
"postcss": "^7.0.2"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
"supports-color": {
@@ -27087,12 +27177,6 @@
"tmp": "^0.2.1"
},
"dependencies": {
- "arg": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz",
- "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==",
- "dev": true
- },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -27104,9 +27188,9 @@
}
},
"color": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/color/-/color-4.2.0.tgz",
- "integrity": "sha512-hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.1.tgz",
+ "integrity": "sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==",
"dev": true,
"requires": {
"color-convert": "^2.0.1",
@@ -27138,12 +27222,6 @@
"simple-swizzle": "^0.2.2"
}
},
- "commander": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
- "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
- "dev": true
- },
"cosmiconfig": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
@@ -27188,27 +27266,6 @@
}
}
},
- "lilconfig": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
- "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==",
- "dev": true
- },
- "nanoid": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
- "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
- "dev": true
- },
- "node-emoji": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
- "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.21"
- }
- },
"parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -27228,51 +27285,20 @@
"dev": true
},
"postcss-load-config": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.2.tgz",
- "integrity": "sha512-X1NVP1itP6VE5dDA4wR6NK1g9lNlkBx9A+tgDKb/8Mnx4HrvX6k+DcTXGelZvfp6p4zCBZjh4Gwyp4aptOUI9Q==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz",
+ "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==",
"dev": true,
"requires": {
"lilconfig": "^2.0.4",
"yaml": "^1.10.2"
}
},
- "purgecss": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz",
- "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==",
- "dev": true,
- "requires": {
- "commander": "^8.0.0",
- "glob": "^7.1.7",
- "postcss": "^8.3.5",
- "postcss-selector-parser": "^6.0.6"
- },
- "dependencies": {
- "postcss": {
- "version": "8.4.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz",
- "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==",
- "dev": true,
- "requires": {
- "nanoid": "^3.2.0",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- }
- }
- },
"quick-lru": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
"dev": true
- },
- "source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "dev": true
}
}
},
diff --git a/src/App.tsx b/src/App.tsx
index 1b46cc3f..c1d0e6e5 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -105,7 +105,7 @@ function App() {
-
+
{networkStatus === 'connecting' ? (
) : (
diff --git a/src/assets/images/icon_down.svg b/src/assets/images/icon_down.svg
new file mode 100644
index 00000000..86b78758
--- /dev/null
+++ b/src/assets/images/icon_down.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/src/assets/images/icon_members.svg b/src/assets/images/icon_members.svg
new file mode 100644
index 00000000..ff6ae852
--- /dev/null
+++ b/src/assets/images/icon_members.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/src/components/Args.tsx b/src/components/Args.tsx
index cb6c49df..be39f0eb 100644
--- a/src/components/Args.tsx
+++ b/src/components/Args.tsx
@@ -103,7 +103,8 @@ export function Args({ args, className }: ArgsProps) {
const isAddr = type ? isAddressType(type) : isSS58Address(value);
if (isObject(value)) {
- return ({ name: prop, value: propValue }))} />;
+ // return ({ name: prop, value: propValue }))} />;
+ return JSON.stringify(value);
}
if (isAddr) {
diff --git a/src/components/Entries.tsx b/src/components/Entries.tsx
index da00004a..2fca9c75 100644
--- a/src/components/Entries.tsx
+++ b/src/components/Entries.tsx
@@ -23,7 +23,7 @@ export interface EntriesProps {
loading?: boolean;
}
-const { Title, Paragraph } = Typography;
+const { Paragraph } = Typography;
const { Panel } = Collapse;
const CALL_DATA_LENGTH = 25;
@@ -195,8 +195,9 @@ export function Entries({ source, isConfirmed, isCancelled, account, loading }:
});
return (
- <>
- {t('progress')}
+
+
{t('progress')}
+
-
{t('parameters')}
+
{t('parameters')}
+
- >
+
);
};
@@ -223,7 +225,8 @@ export function Entries({ source, isConfirmed, isCancelled, account, loading }:
pagination={false}
expandable={{
expandedRowRender,
- expandIcon: genExpandIcon(network),
+ expandIcon: genExpandIcon(),
+ expandIconColumnIndex: 4,
}}
className="lg:block hidden"
>
diff --git a/src/components/Members.tsx b/src/components/Members.tsx
index 4e2ffc4c..5162c2ae 100644
--- a/src/components/Members.tsx
+++ b/src/components/Members.tsx
@@ -10,11 +10,14 @@ export const Members = ({ record }: { record: KeyringAddress }) => {
const { t } = useTranslation();
const isExtensionAccount = useIsInjected();
const columnsNested: ColumnsType = [
- { dataIndex: 'name' },
+ {
+ dataIndex: 'name',
+ render: (name) => {name}
,
+ },
{
dataIndex: 'address',
render: (address) => (
-
+
@@ -27,7 +30,12 @@ export const Members = ({ record }: { record: KeyringAddress }) => {
];
return (
- <>
+
{
/>
- >
+
);
};
diff --git a/src/components/SubscanLink.tsx b/src/components/SubscanLink.tsx
index 731dc1f8..dd22621e 100644
--- a/src/components/SubscanLink.tsx
+++ b/src/components/SubscanLink.tsx
@@ -1,5 +1,8 @@
import { Typography } from 'antd';
-import { CSSProperties, PropsWithChildren } from 'react';
+import { CSSProperties, PropsWithChildren, useMemo } from 'react';
+import { CopyOutlined } from '@ant-design/icons';
+import { getMainColor } from '../utils';
+import { NETWORK_LIGHT_THEME } from '../config';
import { useApi } from '../hooks';
const { Link } = Typography;
@@ -16,13 +19,39 @@ export interface SubscanLinkProps extends PropsWithChildren {
export function SubscanLink({ address, extrinsic, children, copyable, block, ...other }: SubscanLinkProps) {
const { network } = useApi();
+ const mainColor = useMemo(() => {
+ return getMainColor(network);
+ }, [network]);
+
+ const linkColor = useMemo(() => {
+ return NETWORK_LIGHT_THEME[network]['@link-color'];
+ }, [network]);
+
if (address) {
return (
e.preventDefault()}
+ />
+ ),
+ }
+ }
className="w-full"
+ style={{
+ color: linkColor,
+ height: '20px',
+ }}
>
{address}
diff --git a/src/components/WalletState.tsx b/src/components/WalletState.tsx
index f2dcbf78..133f7289 100644
--- a/src/components/WalletState.tsx
+++ b/src/components/WalletState.tsx
@@ -1,16 +1,21 @@
-import { ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined } from '@ant-design/icons';
+import { SettingOutlined } from '@ant-design/icons';
import keyring from '@polkadot/ui-keyring';
import { KeyringJson } from '@polkadot/ui-keyring/types';
-import { Button, message, Modal, Popconfirm, Space, Statistic, Typography } from 'antd';
+import { Button, message, Modal, Space, Statistic, Typography, Menu, Dropdown, Input, Row, Col } from 'antd';
import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useHistory } from 'react-router-dom';
+import iconDown from 'src/assets/images/icon_down.svg';
+import { saveAs } from 'file-saver';
+import { getMainColor } from '../utils';
+import { getMultiAccountScope } from '../utils/helper';
import { LONG_DURATION } from '../config';
import { useApi, useIsInjected } from '../hooks';
import { useMultisigContext } from '../hooks/multisigContext';
import { ExtrinsicLaunch } from './ExtrinsicLaunch';
import { Members } from './Members';
import { SubscanLink } from './SubscanLink';
+import { ConfirmDialog } from './modals/ConfirmDialog';
const { Text } = Typography;
@@ -28,9 +33,16 @@ export function WalletState() {
refreshConfirmedAccount,
} = useMultisigContext();
const [isAccountsDisplay, setIsAccountsDisplay] = useState(false);
- const [isDeleting, setIsDeleting] = useState(false);
const [isExtrinsicDisplay, setIsExtrinsicDisplay] = useState(false);
const isExtensionAccount = useIsInjected();
+ const [renameModalVisible, setRenameModalVisible] = useState(false);
+ const [renameInput, setRenameInput] = useState('');
+ const [deleteModalVisible, setDeleteModalVisible] = useState(false);
+
+ const mainColor = useMemo(() => {
+ return getMainColor(network);
+ }, [network]);
+
const states = useMemo<{ label: string; count: number | undefined }[]>(
() => [
{
@@ -59,6 +71,7 @@ export function WalletState() {
whenEdited: Date.now(),
});
message.success(t('success'));
+ setRenameModalVisible(false);
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const { meta, ...others } = multisigAccount!;
@@ -82,7 +95,8 @@ export function WalletState() {
const deleteWallet = useCallback(() => {
try {
keyring.forgetAccount(multisigAccount?.address as string);
- message.success(t('success')).then(() => history.goBack());
+ message.success(t('success'));
+ history.push('/');
} catch (error: unknown) {
if (error instanceof Error) {
message.error(error.message);
@@ -97,40 +111,68 @@ export function WalletState() {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
+ const exportAccountConfig = () => {
+ if (!multisigAccount) {
+ return;
+ }
+ const config = {
+ name: multisigAccount.meta.name,
+ members: multisigAccount.meta.addressPair as KeyringJson[],
+ threshold: multisigAccount.meta.threshold,
+ scope: getMultiAccountScope(multisigAccount.publicKey),
+ };
+
+ const blob = new Blob([JSON.stringify(config)], { type: 'text/plain;charset=utf-8' });
+ saveAs(blob, `${multisigAccount.address}.json`);
+ };
+
+ const menu = (
+
+ );
+
return (
-
-
- {multisigAccount?.meta.name}
-
-
-
-
- {multisigAccount && (
-
setIsDeleting(false)}
- onConfirm={deleteWallet}
- className="sm:static absolute right-4"
- >
- setIsDeleting(true)}
- className="cursor-pointer opacity-30 hover:opacity-70 transition-all duration-300"
- style={{ color: '#ff0000', fontSize: 16 }}
+
+
+
+ {multisigAccount?.meta.name}
+
+
+
+ e.preventDefault()}
/>
-
- )}
+
+
+
+
+
+
{((multisigAccount?.meta.addressPair as KeyringJson[]) || []).some((pair) =>
@@ -147,7 +189,9 @@ export function WalletState() {
)}
-
+
+
+
{states.map((state, index) => (
{t(state.label)}
@@ -155,17 +199,13 @@ export function WalletState() {
))}
-
- ) : (
-
- )
- }
+ setIsAccountsDisplay(!isAccountsDisplay)}
- className="flex justify-center items-center"
- >
+ >
+

+
@@ -195,6 +235,69 @@ export function WalletState() {
}}
/>
+
+
setRenameModalVisible(false)}
+ bodyStyle={{
+ paddingLeft: '80px',
+ paddingRight: '80px',
+ paddingBottom: '60px',
+ }}
+ >
+ Rename
+
+ Name
+
+ {
+ setRenameInput(e.target.value);
+ }}
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
setDeleteModalVisible(false)}
+ title="Delete Wallet"
+ content={`Are you sure to delete “${multisigAccount?.meta.name}” ?`}
+ onConfirm={deleteWallet}
+ />
);
}
diff --git a/src/components/Wallets.tsx b/src/components/Wallets.tsx
index 8c4ab6ef..ad4e3e2c 100644
--- a/src/components/Wallets.tsx
+++ b/src/components/Wallets.tsx
@@ -1,21 +1,18 @@
/* eslint-disable no-console */
-import { CaretRightOutlined, GlobalOutlined, ExportOutlined } from '@ant-design/icons';
import BaseIdentityIcon from '@polkadot/react-identicon';
import keyring from '@polkadot/ui-keyring';
import { KeyringAddress, KeyringJson } from '@polkadot/ui-keyring/types';
-import { Badge, Button, Collapse, Space, Table, Tooltip, Typography } from 'antd';
+import { Button, Collapse, Space, Table, Typography } from 'antd';
import { ColumnsType } from 'antd/lib/table';
import React, { useCallback, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Link, useHistory } from 'react-router-dom';
-import { saveAs } from 'file-saver';
import { NETWORK_CONFIG } from '../config';
import { Path } from '../config/routes';
import { useApi, useIsInjected } from '../hooks';
import { Chain } from '../providers';
import { accuracyFormat, convertToSS58, isInCurrentScope } from '../utils';
-import { getMultiAccountScope } from '../utils/helper/multisig';
-import { genExpandIcon } from './expandIcon';
+import { genExpandMembersIcon } from './expandIcon';
import { MemberList } from './Members';
import { SubscanLink } from './SubscanLink';
@@ -60,24 +57,12 @@ export function Wallets() {
const renderAction = useCallback(
(row: KeyringAddress) => {
- const { address } = row;
-
- const exportAccountConfig = () => {
- const config = {
- name: row.meta.name,
- members: row.meta.addressPair as KeyringJson[],
- threshold: row.meta.threshold,
- scope: getMultiAccountScope(row.publicKey),
- };
-
- const blob = new Blob([JSON.stringify(config)], { type: 'text/plain;charset=utf-8' });
- saveAs(blob, `${row.address}.json`);
- };
+ // const { address } = row;
return (
{/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}
-
+ {/*
-
-
+ */}
+ {/*
}
>
-
+ */}
+
+
);
},
- [history, network, t]
+ [history]
);
const columns: ColumnsType = [
@@ -141,7 +139,8 @@ export function Wallets() {
},
},
{
- title: t('actions'),
+ // title: t('actions'),
+ title: '',
key: 'action',
render: (_1: unknown, row) => renderAction(row),
},
@@ -218,7 +217,7 @@ export function Wallets() {
columns={columns}
dataSource={multisigAccounts}
rowKey="address"
- expandable={{ expandedRowRender, expandIcon: genExpandIcon(network) }}
+ expandable={{ expandedRowRender, expandIcon: genExpandMembersIcon(), expandIconColumnIndex: 4 }}
pagination={false}
loading={isCalculating}
className="lg:block hidden overflow-x-scroll"
diff --git a/src/components/expandIcon.tsx b/src/components/expandIcon.tsx
index 829919e1..216692b8 100644
--- a/src/components/expandIcon.tsx
+++ b/src/components/expandIcon.tsx
@@ -1,18 +1,46 @@
-import { RightOutlined } from '@ant-design/icons';
-import { Button } from 'antd';
-import { Network } from '../model';
+import iconDown from 'src/assets/images/icon_down.svg';
+import iconMembers from 'src/assets/images/icon_members.svg';
export const genExpandIcon =
- (network: Network) =>
+ () =>
// eslint-disable-next-line @typescript-eslint/no-explicit-any
({ expanded, onExpand, record }: any) =>
(
-