diff --git a/package.json b/package.json index 184cead0..d4c36d93 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,19 @@ "test": "jest", "docs": "typedoc" }, + "resolutions": { + "@polkadot/api": "^2.8.1" + }, "devDependencies": { "@types/jest": "^26.0.0", - "@typescript-eslint/eslint-plugin": "^4.8.1", - "@typescript-eslint/parser": "^4.8.1", - "eslint": "^7.13.0", + "@typescript-eslint/eslint-plugin": "^4.8.2", + "@typescript-eslint/parser": "^4.8.2", + "eslint": "^7.14.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-simple-import-sort": "^6.0.1", "jest": "^26.6.3", - "prettier": "^2.0.5", + "prettier": "^2.2.0", "standard-version": "^9.0.0", "ts-jest": "^26.4.4", "ts-node": "^9.0.0", diff --git a/packages/examples/package.json b/packages/examples/package.json index c09e3e9d..133dc95b 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -12,7 +12,7 @@ "polkadot": "../../node_modules/.bin/ts-node src/polkadot.ts" }, "dependencies": { - "@polkadot/api": "^2.4.1", + "@polkadot/api": "^2.8.1", "@substrate/txwrapper-polkadot": "^0.0.0", "ts-node": "9.0.0" } diff --git a/packages/txwrapper-core/package.json b/packages/txwrapper-core/package.json index bb8ec287..168d25dc 100644 --- a/packages/txwrapper-core/package.json +++ b/packages/txwrapper-core/package.json @@ -18,7 +18,7 @@ "test": "jest" }, "dependencies": { - "@polkadot/api": "^2.4.1", + "@polkadot/api": "^2.8.1", "@types/memoizee": "^0.4.3" } } diff --git a/packages/txwrapper-core/src/core/decode/decode.spec.ts b/packages/txwrapper-core/src/core/decode/decode.spec.ts index 1451a6a4..6d11909e 100644 --- a/packages/txwrapper-core/src/core/decode/decode.spec.ts +++ b/packages/txwrapper-core/src/core/decode/decode.spec.ts @@ -20,13 +20,11 @@ describe('decode', () => { TEST_BASE_TX_INFO, POLKADOT_25_TEST_OPTIONS ); - const signingPayload = construct.signingPayload( unsigned, POLKADOT_25_TEST_OPTIONS ); const signature = await signWithAlice(signingPayload); - const signedTx = construct.signedTx( unsigned, signature, diff --git a/packages/txwrapper-polkadot/src/index.ts b/packages/txwrapper-polkadot/src/index.ts index deb54806..7405da45 100644 --- a/packages/txwrapper-polkadot/src/index.ts +++ b/packages/txwrapper-polkadot/src/index.ts @@ -1,4 +1,8 @@ -import { balances, utility } from '@substrate/txwrapper-substrate/src/methods'; +import { + balances, + proxy, + utility, +} from '@substrate/txwrapper-substrate/src/methods'; // Export methods of pallets included in the Polkadot/ Kusama/ Westend runtimes. // Note: in the future this may also include methods defined within this package @@ -6,12 +10,16 @@ import { balances, utility } from '@substrate/txwrapper-substrate/src/methods'; export const methods = { balances, utility, + proxy, }; + // Rexport all of txwrapper-core so users have access to utilities, construct functions, // decode function, and types. export * from '@substrate/txwrapper-core'; + // SS58 is not exported at the top level since most txwrapper-core users don't need it, // so we have to reach in and grab it export { PolkadotSS58Format } from '@substrate/txwrapper-core/src/polkadot'; -// getRegistry{Polkadot, Westend, Kusama} + +// exports getRegistry{Polkadot, Westend, Kusama} export * from './getRegistry'; diff --git a/packages/txwrapper-substrate/src/methods/index.ts b/packages/txwrapper-substrate/src/methods/index.ts index f8b921df..334de522 100644 --- a/packages/txwrapper-substrate/src/methods/index.ts +++ b/packages/txwrapper-substrate/src/methods/index.ts @@ -1,3 +1,4 @@ // Name exports to create namespaces that map to pallets export * as balances from './balances'; +export * as proxy from './proxy'; export * as utility from './utility'; diff --git a/packages/txwrapper-substrate/src/methods/proxy/addProxy.spec.ts b/packages/txwrapper-substrate/src/methods/proxy/addProxy.spec.ts new file mode 100644 index 00000000..4978043f --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/addProxy.spec.ts @@ -0,0 +1,24 @@ +import { + itHasCorrectBaseTxInfo, + POLKADOT_25_TEST_OPTIONS, + TEST_BASE_TX_INFO, +} from '@substrate/txwrapper-core/src/test-helpers'; + +import { TEST_METHOD_ARGS } from '../../test-helpers'; +import { addProxy } from './addProxy'; + +describe('proxy::addProxy', () => { + it('should work', () => { + const unsigned = addProxy( + TEST_METHOD_ARGS.proxy.addProxy, + TEST_BASE_TX_INFO, + POLKADOT_25_TEST_OPTIONS + ); + + itHasCorrectBaseTxInfo(unsigned); + + expect(unsigned.method).toBe( + '0x1d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480039300000' + ); + }); +}); diff --git a/packages/txwrapper-substrate/src/methods/proxy/addProxy.ts b/packages/txwrapper-substrate/src/methods/proxy/addProxy.ts new file mode 100644 index 00000000..b6532aad --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/addProxy.ts @@ -0,0 +1,48 @@ +import { + Args, + BaseTxInfo, + defineMethod, + OptionsWithMeta, + UnsignedTransaction, +} from '@substrate/txwrapper-core'; + +export interface ProxyAddProxy extends Args { + /** + * The account that the `caller` would like to make a proxy. + */ + delegate: string; + /** + * The permissions for this proxy account. See the chain's runtime for the `call` filters. + */ + proxyType: string; + /** + * The number of blocks that an announcement must be in place for before the corresponding call + * may be dispatched. If zero, then no announcement is needed. + */ + delay: number | string; +} + +/** + * Register a proxy account for the sender that is able to make calls on its behalf. + * + * @param args - Arguments specific to this method. + * @param info - Information required to construct the transaction. + * @param options - Registry and metadata used for constructing the method. + */ +export function addProxy( + args: ProxyAddProxy, + info: BaseTxInfo, + options: OptionsWithMeta +): UnsignedTransaction { + return defineMethod( + { + method: { + args, + name: 'addProxy', + pallet: 'proxy', + }, + ...info, + }, + options + ); +} diff --git a/packages/txwrapper-substrate/src/methods/proxy/announce.spec.ts b/packages/txwrapper-substrate/src/methods/proxy/announce.spec.ts new file mode 100644 index 00000000..fb816292 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/announce.spec.ts @@ -0,0 +1,24 @@ +import { + itHasCorrectBaseTxInfo, + POLKADOT_25_TEST_OPTIONS, + TEST_BASE_TX_INFO, +} from '@substrate/txwrapper-core/src/test-helpers'; + +import { TEST_METHOD_ARGS } from '../../test-helpers'; +import { announce } from './announce'; + +describe('proxy::announce', () => { + it('should work', () => { + const unsigned = announce( + TEST_METHOD_ARGS.proxy.announce, + TEST_BASE_TX_INFO, + POLKADOT_25_TEST_OPTIONS + ); + + itHasCorrectBaseTxInfo(unsigned); + + expect(unsigned.method).toBe( + '0x1d068eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48474235772ae94433aee7d1befac0bfcc35fd0b5dfcf0cfc14bba7d5bbe35b778' + ); + }); +}); diff --git a/packages/txwrapper-substrate/src/methods/proxy/announce.ts b/packages/txwrapper-substrate/src/methods/proxy/announce.ts new file mode 100644 index 00000000..69879fb3 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/announce.ts @@ -0,0 +1,56 @@ +import { + Args, + BaseTxInfo, + defineMethod, + OptionsWithMeta, + UnsignedTransaction, +} from '@substrate/txwrapper-core'; + +interface ProxyAnnounceArgs extends Args { + /** + * The account that the proxy will make a call on behalf of. + */ + real: string; + /** + * The hash of the call to be made by the `real` account. + */ + callHash: string; +} + +/** + * Publish the hash of a proxy-call that will be made in the future. + * + * This must be called `ProxyDefinition.delay` blocks before the corresponding + * `proxy` is attempted if the delay associated with the proxy relationship is + * greater than zero. When a `ProxyDefinition.delay` is 0 `announce` is not neccesary + * and `proxy` can be called at any time. + * + * No more than `MaxPending` announcements may be made at any one time. On Kusama and Polkadot + * `MaxPending` is set to 32. + * + * This will take a deposit of `AnnouncementDepositFactor` as well as + * `AnnouncementDepositBase` if there are no other pending announcements. + * + * The dispatch origin for this call must be _Signed_ and a proxy of `real`. + * + * @param args - Arguments specific to this method. + * @param info - Information required to construct the transaction. + * @param options - Registry and metadata used for constructing the method. + */ +export function announce( + args: ProxyAnnounceArgs, + info: BaseTxInfo, + options: OptionsWithMeta +): UnsignedTransaction { + return defineMethod( + { + method: { + args, + name: 'announce', + pallet: 'proxy', + }, + ...info, + }, + options + ); +} diff --git a/packages/txwrapper-substrate/src/methods/proxy/index.ts b/packages/txwrapper-substrate/src/methods/proxy/index.ts new file mode 100644 index 00000000..f0f46739 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/index.ts @@ -0,0 +1,7 @@ +export * from './addProxy'; +export * from './announce'; +export * from './proxy'; +export * from './proxyAnnounced'; +export * from './rejectAnnouncement'; +export * from './removeProxies'; +export * from './removeProxy'; diff --git a/packages/txwrapper-substrate/src/methods/proxy/proxy.spec.ts b/packages/txwrapper-substrate/src/methods/proxy/proxy.spec.ts new file mode 100644 index 00000000..e46d1e81 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/proxy.spec.ts @@ -0,0 +1,24 @@ +import { + itHasCorrectBaseTxInfo, + POLKADOT_25_TEST_OPTIONS, + TEST_BASE_TX_INFO, +} from '@substrate/txwrapper-core/src/test-helpers'; + +import { TEST_METHOD_ARGS } from '../../test-helpers'; +import { proxy } from './proxy'; + +describe('proxy::proxy', () => { + it('should work', () => { + const unsigned = proxy( + TEST_METHOD_ARGS.proxy.proxy, + TEST_BASE_TX_INFO, + POLKADOT_25_TEST_OPTIONS + ); + + itHasCorrectBaseTxInfo(unsigned); + + expect(unsigned.method).toBe( + '0x1d008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480100050030672121' + ); + }); +}); diff --git a/packages/txwrapper-substrate/src/methods/proxy/proxy.ts b/packages/txwrapper-substrate/src/methods/proxy/proxy.ts new file mode 100644 index 00000000..69d4cfe6 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/proxy.ts @@ -0,0 +1,49 @@ +import { + Args, + BaseTxInfo, + defineMethod, + OptionsWithMeta, + UnsignedTransaction, +} from '@substrate/txwrapper-core'; + +export interface ProxyProxy extends Args { + /** + * Dispatch the given `call` from an account that the sender is authorized for + * through, `add_proxy`. + */ + real: string; + /** + * Specify the exact proxy type to be used and checked for this call. + */ + forceProxyType: string; + /** + * The call to be made by the `real` account. + * To take advantage of txwrapper methods, this could be UnsignedTransaction.method. + */ + call: { callIndex?: string; args?: string } | string; +} + +/** + * Dispatch the given `call` from an account for which the sender is authorized. + * + * @param args - Arguments specific to this method. + * @param info - Information required to construct the transaction. + * @param options - Registry and metadata used for constructing the method. + */ +export function proxy( + args: ProxyProxy, + info: BaseTxInfo, + options: OptionsWithMeta +): UnsignedTransaction { + return defineMethod( + { + method: { + args, + name: 'proxy', + pallet: 'proxy', + }, + ...info, + }, + options + ); +} diff --git a/packages/txwrapper-substrate/src/methods/proxy/proxyAnnounced.spec.ts b/packages/txwrapper-substrate/src/methods/proxy/proxyAnnounced.spec.ts new file mode 100644 index 00000000..6190ac6d --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/proxyAnnounced.spec.ts @@ -0,0 +1,24 @@ +import { + itHasCorrectBaseTxInfo, + POLKADOT_25_TEST_OPTIONS, + TEST_BASE_TX_INFO, +} from '@substrate/txwrapper-core/src/test-helpers'; + +import { TEST_METHOD_ARGS } from '../../test-helpers'; +import { proxyAnnounced } from './proxyAnnounced'; + +describe('proxy::proxyAnnounced', () => { + it('should work', () => { + const unsigned = proxyAnnounced( + TEST_METHOD_ARGS.proxy.proxyAnnounced, + TEST_BASE_TX_INFO, + POLKADOT_25_TEST_OPTIONS + ); + + itHasCorrectBaseTxInfo(unsigned); + + expect(unsigned.method).toBe( + '0x1d09d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480100050030672121' + ); + }); +}); diff --git a/packages/txwrapper-substrate/src/methods/proxy/proxyAnnounced.ts b/packages/txwrapper-substrate/src/methods/proxy/proxyAnnounced.ts new file mode 100644 index 00000000..0de32de1 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/proxyAnnounced.ts @@ -0,0 +1,57 @@ +import { + Args, + BaseTxInfo, + defineMethod, + OptionsWithMeta, + UnsignedTransaction, +} from '@substrate/txwrapper-core'; + +export interface ProxyProxyAnnouncedArgs extends Args { + /** + * The account that previously announced the call. + */ + delegate: string; + /** + * The account that the proxy will make a call on behalf of. + */ + real: string; + /** + * Specify the exact proxy type to be used and checked for this call. + */ + forceProxyType: string; + /** + * The call to be made by the `real` account. + * To take advantage of txwrapper methods, this could be UnsignedTransaction.method. + */ + call: { callIndex?: string; args?: string } | string; +} + +/** + * Dispatch the given `call` from an account that the sender is authorised for through + * `add_proxy`. + * + * Removes any corresponding announcement(s). + * + * The dispatch origin for this call must be _Signed_. + * + * @param args + * @param info + * @param options + */ +export function proxyAnnounced( + args: ProxyProxyAnnouncedArgs, + info: BaseTxInfo, + options: OptionsWithMeta +): UnsignedTransaction { + return defineMethod( + { + method: { + args, + name: 'proxyAnnounced', + pallet: 'proxy', + }, + ...info, + }, + options + ); +} diff --git a/packages/txwrapper-substrate/src/methods/proxy/rejectAnnouncement.spec.ts b/packages/txwrapper-substrate/src/methods/proxy/rejectAnnouncement.spec.ts new file mode 100644 index 00000000..478d49f9 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/rejectAnnouncement.spec.ts @@ -0,0 +1,24 @@ +import { + itHasCorrectBaseTxInfo, + POLKADOT_25_TEST_OPTIONS, + TEST_BASE_TX_INFO, +} from '@substrate/txwrapper-core/src/test-helpers'; + +import { TEST_METHOD_ARGS } from '../../test-helpers'; +import { rejectAnnouncement } from './rejectAnnouncement'; + +describe('proxy::rejectAnnouncement', () => { + it('should work', () => { + const unsigned = rejectAnnouncement( + TEST_METHOD_ARGS.proxy.rejectAnnouncement, + TEST_BASE_TX_INFO, + POLKADOT_25_TEST_OPTIONS + ); + + itHasCorrectBaseTxInfo(unsigned); + + expect(unsigned.method).toBe( + '0x1d088eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48474235772ae94433aee7d1befac0bfcc35fd0b5dfcf0cfc14bba7d5bbe35b778' + ); + }); +}); diff --git a/packages/txwrapper-substrate/src/methods/proxy/rejectAnnouncement.ts b/packages/txwrapper-substrate/src/methods/proxy/rejectAnnouncement.ts new file mode 100644 index 00000000..d46aa79f --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/rejectAnnouncement.ts @@ -0,0 +1,43 @@ +import { + Args, + BaseTxInfo, + defineMethod, + OptionsWithMeta, + UnsignedTransaction, +} from '@substrate/txwrapper-core'; + +export interface ProxyRejectAnnouncementArgs extends Args { + /** + * The account that previously announced the call. + */ + delegate: string; + /** + * The hash of the call that the proxy wants to execute. + */ + callHash: string; +} + +/** + * Remove the given announcement of a delegate and return the deposit. Made by the proxied account. + * + * @param args - Arguments specific to this method. + * @param info - Information required to construct the transaction. + * @param options - Registry and metadata used for constructing the method. + */ +export function rejectAnnouncement( + args: ProxyRejectAnnouncementArgs, + info: BaseTxInfo, + options: OptionsWithMeta +): UnsignedTransaction { + return defineMethod( + { + method: { + args, + name: 'rejectAnnouncement', + pallet: 'proxy', + }, + ...info, + }, + options + ); +} diff --git a/packages/txwrapper-substrate/src/methods/proxy/removeProxies.spec.ts b/packages/txwrapper-substrate/src/methods/proxy/removeProxies.spec.ts new file mode 100644 index 00000000..7996aad3 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/removeProxies.spec.ts @@ -0,0 +1,21 @@ +import { + itHasCorrectBaseTxInfo, + POLKADOT_25_TEST_OPTIONS, + TEST_BASE_TX_INFO, +} from '@substrate/txwrapper-core/src/test-helpers'; + +import { removeProxies } from './removeProxies'; + +describe('proxy::removeProxies', () => { + it('should work', () => { + const unsigned = removeProxies( + {}, + TEST_BASE_TX_INFO, + POLKADOT_25_TEST_OPTIONS + ); + + itHasCorrectBaseTxInfo(unsigned); + + expect(unsigned.method).toBe('0x1d03'); + }); +}); diff --git a/packages/txwrapper-substrate/src/methods/proxy/removeProxies.ts b/packages/txwrapper-substrate/src/methods/proxy/removeProxies.ts new file mode 100644 index 00000000..9729b5c4 --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/removeProxies.ts @@ -0,0 +1,31 @@ +import { + BaseTxInfo, + defineMethod, + OptionsWithMeta, + UnsignedTransaction, +} from '@substrate/txwrapper-core'; + +/** + * Unregister all proxy accounts for the sender. + * + * @param args - Arguments specific to this method. + * @param info - Information required to construct the transaction. + * @param options - Registry and metadata used for constructing the method. + */ +export function removeProxies( + args: {}, + info: BaseTxInfo, + options: OptionsWithMeta +): UnsignedTransaction { + return defineMethod( + { + method: { + args, + name: 'removeProxies', + pallet: 'proxy', + }, + ...info, + }, + options + ); +} diff --git a/packages/txwrapper-substrate/src/methods/proxy/removeProxy.spec.ts b/packages/txwrapper-substrate/src/methods/proxy/removeProxy.spec.ts new file mode 100644 index 00000000..be3405cc --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/removeProxy.spec.ts @@ -0,0 +1,24 @@ +import { + itHasCorrectBaseTxInfo, + POLKADOT_25_TEST_OPTIONS, + TEST_BASE_TX_INFO, +} from '@substrate/txwrapper-core/src/test-helpers'; + +import { TEST_METHOD_ARGS } from '../../test-helpers'; +import { removeProxy } from './removeProxy'; + +describe('proxy::removeProxy', () => { + it('should work', () => { + const unsigned = removeProxy( + TEST_METHOD_ARGS.proxy.addProxy, + TEST_BASE_TX_INFO, + POLKADOT_25_TEST_OPTIONS + ); + + itHasCorrectBaseTxInfo(unsigned); + + expect(unsigned.method).toBe( + '0x1d028eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a480039300000' + ); + }); +}); diff --git a/packages/txwrapper-substrate/src/methods/proxy/removeProxy.ts b/packages/txwrapper-substrate/src/methods/proxy/removeProxy.ts new file mode 100644 index 00000000..976c836d --- /dev/null +++ b/packages/txwrapper-substrate/src/methods/proxy/removeProxy.ts @@ -0,0 +1,33 @@ +import { + BaseTxInfo, + defineMethod, + OptionsWithMeta, + UnsignedTransaction, +} from '@substrate/txwrapper-core'; + +import { ProxyAddProxy } from './addProxy'; + +/** + * Unregister a proxy account for the sender. + * + * @param args - Arguments specific to this method. + * @param info - Information required to construct the transaction. + * @param options - Registry and metadata used for constructing the method. + */ +export function removeProxy( + args: ProxyAddProxy, + info: BaseTxInfo, + options: OptionsWithMeta +): UnsignedTransaction { + return defineMethod( + { + method: { + args, + name: 'removeProxy', + pallet: 'proxy', + }, + ...info, + }, + options + ); +} diff --git a/packages/txwrapper-substrate/src/test-helpers/TEST_METHOD_ARGS.ts b/packages/txwrapper-substrate/src/test-helpers/TEST_METHOD_ARGS.ts index 145480d5..79541e8f 100644 --- a/packages/txwrapper-substrate/src/test-helpers/TEST_METHOD_ARGS.ts +++ b/packages/txwrapper-substrate/src/test-helpers/TEST_METHOD_ARGS.ts @@ -8,4 +8,34 @@ export const TEST_METHOD_ARGS = { value: 12, }, }, + proxy: { + addProxy: { + delegate: '14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3', // seed "//Bob", + proxyType: 'Any', + delay: 12345, + }, + rejectAnnouncement: { + delegate: '14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3', // seed "//Bob", + callHash: + '0x474235772ae94433aee7d1befac0bfcc35fd0b5dfcf0cfc14bba7d5bbe35b778', + }, + announce: { + real: '14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3', // seed "//Bob", + callHash: + '0x474235772ae94433aee7d1befac0bfcc35fd0b5dfcf0cfc14bba7d5bbe35b778', + }, + proxyAnnounced: { + delegate: 'HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F', // seed "//Alice" + real: '14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3', // seed "//Bob", + forceProxyType: 'Any', + call: + '0x0500306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc200f00a0be1c448399', + }, + proxy: { + real: '14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3', // seed "//Bob", + forceProxyType: 'Any', + call: + '0x0500306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc200f00a0be1c448399', + }, + }, }; diff --git a/tsconfig.json b/tsconfig.json index d1ca541c..2b7d839b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,5 +8,4 @@ "baseUrl": ".", "skipLibCheck": true, }, - } diff --git a/yarn.lock b/yarn.lock index 2116f51e..34139b87 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,18 +10,18 @@ "@babel/highlight" "^7.10.4" "@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" + "@babel/generator" "^7.12.5" "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" @@ -31,7 +31,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.12.1", "@babel/generator@^7.12.5": +"@babel/generator@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== @@ -57,11 +57,11 @@ "@babel/types" "^7.10.4" "@babel/helper-member-expression-to-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" - integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== dependencies: - "@babel/types" "^7.12.1" + "@babel/types" "^7.12.7" "@babel/helper-module-imports@^7.12.1": version "7.12.5" @@ -86,11 +86,11 @@ lodash "^4.17.19" "@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz#7f94ae5e08721a49467346aa04fd22f750033b9c" + integrity sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.12.7" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": version "7.10.4" @@ -126,7 +126,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== -"@babel/helpers@^7.12.1": +"@babel/helpers@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== @@ -144,10 +144,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" - integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056" + integrity sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -240,34 +240,34 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.4", "@babel/template@^7.3.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== +"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" - integrity sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f" + integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw== dependencies: "@babel/code-frame" "^7.10.4" "@babel/generator" "^7.12.5" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.5" - "@babel/types" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.12.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" - integrity sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA== +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13" + integrity sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ== dependencies: "@babel/helper-validator-identifier" "^7.10.4" lodash "^4.17.19" @@ -510,132 +510,132 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@polkadot/api-derive@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-2.7.1.tgz#d4927e2e9579074466da8613953fd460b1f33466" - integrity sha512-tQboJ7VgbHU2lMGxxbsWVZjzS5735cFQKRB036d7or1m4sgyD8cPWopPOo3jyytPmHfuYF0Ni44ZppQeapDxGg== +"@polkadot/api-derive@2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-2.8.1.tgz#e997625e95dce217087ff14199116d3520c7bf19" + integrity sha512-5oJ7V7yRHHSSnWQ/l3MQQ8+ki/g+v4NbqgI/FTOIUQl7Ja1lPwjKYpqXgP7EGob+pcdFj6VRqywzAOkVA730tw== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/api" "2.7.1" - "@polkadot/rpc-core" "2.7.1" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - bn.js "^5.1.3" + "@polkadot/api" "2.8.1" + "@polkadot/rpc-core" "2.8.1" + "@polkadot/types" "2.8.1" + "@polkadot/util" "^4.2.1" + "@polkadot/util-crypto" "^4.2.1" + bn.js "^4.11.9" memoizee "^0.4.14" rxjs "^6.6.3" -"@polkadot/api@2.7.1", "@polkadot/api@^2.4.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-2.7.1.tgz#3eb0ae7eecd342a68a68ed6cf082d6c73d0b6281" - integrity sha512-xgaLsv/qRTjRfSvFBgm9h9+gXK5pYn2iqlWPndvYSM/IaUZWAQPVWL1uGnrEbEFjHvpi6Fe28wsw+QCM8rBxew== +"@polkadot/api@2.8.1", "@polkadot/api@^2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-2.8.1.tgz#1259260b54723788fb48a2ea4e1d25cd6b9c4b38" + integrity sha512-IvR8aTUzd3759tJVkHEsnpXqdvv72mTkST3poO2/v30GusqTH6KQDWhQy7MhgYjElk9hLIPZRsmA62WVOlSG2Q== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/api-derive" "2.7.1" - "@polkadot/keyring" "^4.1.1" - "@polkadot/metadata" "2.7.1" - "@polkadot/rpc-core" "2.7.1" - "@polkadot/rpc-provider" "2.7.1" - "@polkadot/types" "2.7.1" - "@polkadot/types-known" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - bn.js "^5.1.3" + "@polkadot/api-derive" "2.8.1" + "@polkadot/keyring" "^4.2.1" + "@polkadot/metadata" "2.8.1" + "@polkadot/rpc-core" "2.8.1" + "@polkadot/rpc-provider" "2.8.1" + "@polkadot/types" "2.8.1" + "@polkadot/types-known" "2.8.1" + "@polkadot/util" "^4.2.1" + "@polkadot/util-crypto" "^4.2.1" + bn.js "^4.11.9" eventemitter3 "^4.0.7" rxjs "^6.6.3" -"@polkadot/keyring@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-4.1.1.tgz#bc5e66a42df4146bb67581665afee637df7fba12" - integrity sha512-qKNdaqaohIFwarJEU9XIium5ObzbFCi4Y5cO4JmVfWf+hwcAkeVOEFcz/cGkpIVUQhEHDlvEEoqesd5c1+LC4A== +"@polkadot/keyring@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-4.2.1.tgz#34bf18ae8cb5822f2ea522c8db62dd0086725ffa" + integrity sha512-8kH8jXSIA3I2Gn96o7KjGoLBa7fmc2iB/VKOmEEcMCgJR32HyE8YbeXwc/85OQCheQjG4rJA3RxPQ4CsTsjO7w== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/util" "4.1.1" - "@polkadot/util-crypto" "4.1.1" + "@polkadot/util" "4.2.1" + "@polkadot/util-crypto" "4.2.1" -"@polkadot/metadata@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-2.7.1.tgz#ad2daf41e2efc21c6c83b2a15469ac40ccb896e7" - integrity sha512-lrBYZApKW9iCrZjrfrcuVjM857YIHdmHwJa/Z6QgS7MTGR+8modEKBKs+4hoyMN+NumYAYrHBwzcE2B3mINDyA== +"@polkadot/metadata@2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-2.8.1.tgz#2cb64aa99d7cc99efebf5c25344c0e5d748af575" + integrity sha512-tJ+hTXsvve1f2pziPGp/nELK+W/xvMsc2xGgoVwccxv1mPFNSny8RPDl7Wgmli0PPztXG6eBnLvWt4FXYnp7vA== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/types" "2.7.1" - "@polkadot/types-known" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - bn.js "^5.1.3" + "@polkadot/types" "2.8.1" + "@polkadot/types-known" "2.8.1" + "@polkadot/util" "^4.2.1" + "@polkadot/util-crypto" "^4.2.1" + bn.js "^4.11.9" -"@polkadot/networks@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-4.1.1.tgz#26a10d58117a2a9e0e538a040446056e43352424" - integrity sha512-OqV4YCiWmUZIm82TdKDbjAhTF+paxko5k7bw0OGRIizmA00CNNRLR2q9SI9ux1InvYuL+zZsTOJAoJ5FxMHzgA== +"@polkadot/networks@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-4.2.1.tgz#b0ca69807ed60189f1c958bb27cfeb3cb1c6b12b" + integrity sha512-T1tg0V0uG09Vdce2O4KfEcWO3/fZh4VYt0bmJ6iPwC+x6yv939X2BKvuFTDDVNT3fqBpGzWQlwiTXYQ15o9bGA== dependencies: "@babel/runtime" "^7.12.5" -"@polkadot/rpc-core@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-2.7.1.tgz#4a51f2099019faeaf8d710d02a7855ec58f3f378" - integrity sha512-5TA+EZ1sWDwgrfFoMc4SsEwHo9ivO/wfPZsxNixHw1wL68y+3G4pG1YLztcKF//Qp35nOz4JGyX+lNuU3BPXdw== +"@polkadot/rpc-core@2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-2.8.1.tgz#f569be6e73bb17cbb61d7b79b12c300095bf2535" + integrity sha512-tMSH2D5wu28UMhLIjWxZ7br0HRC0T7crYu/BSBE8m3GzLJU4mwsygn2VLDVxQOz4DvHvWh+xQzd2QFc/z02SQw== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/metadata" "2.7.1" - "@polkadot/rpc-provider" "2.7.1" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" + "@polkadot/metadata" "2.8.1" + "@polkadot/rpc-provider" "2.8.1" + "@polkadot/types" "2.8.1" + "@polkadot/util" "^4.2.1" memoizee "^0.4.14" rxjs "^6.6.3" -"@polkadot/rpc-provider@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-2.7.1.tgz#dd2515648a70665ecd2b56adcc30e8804ed225d4" - integrity sha512-AOS9RfYm8aFuvYo1Bd/SX9eHQJlWbW9IYwNqHLOfXmLRxbIkfVzsc49tCsr+Zy1Ctt/d5bA86P5cUdH0LI0acg== +"@polkadot/rpc-provider@2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-2.8.1.tgz#c2be0def70d7850deb077813b3d6790c440706e2" + integrity sha512-PtLZcbNMx6+sN04f4T+j3fqJPYG3qsPX+k1DU5FFDUZ3GVRphfyXmswjbwmH9nkCyr04eBGLb1M1EipsqiP8Ig== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" - "@polkadot/x-fetch" "^4.1.1" - "@polkadot/x-ws" "^4.1.1" - bn.js "^5.1.3" + "@polkadot/types" "2.8.1" + "@polkadot/util" "^4.2.1" + "@polkadot/util-crypto" "^4.2.1" + "@polkadot/x-fetch" "^4.2.1" + "@polkadot/x-ws" "^4.2.1" + bn.js "^4.11.9" eventemitter3 "^4.0.7" -"@polkadot/types-known@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-2.7.1.tgz#bb6edef252a6ab83cf4088848d68fa56d004902c" - integrity sha512-cnrRJ7HV/ICWwoxNv0cKZZ5EVmPMOnLrcoC1SQYANkOjpxVdloxPdkr+1i6trPJhXntxwRvdFIYqKiAtsfMrGw== +"@polkadot/types-known@2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-2.8.1.tgz#e1645154218af19837f9c82c3f0f35730258f555" + integrity sha512-aTriYfu5l8Fz73Ti8rT0q2DfwMIk4eLTqb3VBDR21XcAbjVxZHc24jdhnnnbc6RxvGOg2ertrN9fTz3xhvtPyg== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/types" "2.7.1" - "@polkadot/util" "^4.1.1" - bn.js "^5.1.3" + "@polkadot/types" "2.8.1" + "@polkadot/util" "^4.2.1" + bn.js "^4.11.9" -"@polkadot/types@2.7.1": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-2.7.1.tgz#f3cac7bba7fa7d1d3d7bd3e474b4ef776526e82f" - integrity sha512-v7vHozNZxz+pSlQnjogtUwzsNU3E5sZ7+oQipFS/S2zXz2Q8K1QOUE08thZTqR5M4cyPDbbD5sHBaSNOMk5X1Q== +"@polkadot/types@2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-2.8.1.tgz#8904c757b56b0f85569c11d16fedfa465a39dafd" + integrity sha512-D7K2wG7xytkMJ0s6W/JwzU4LPiQdFThqmRY+kXdbXrYF1UdiUkiS5MMjUUG9CseRITYUigtF6D6B/PiOv9zupQ== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/metadata" "2.7.1" - "@polkadot/util" "^4.1.1" - "@polkadot/util-crypto" "^4.1.1" + "@polkadot/metadata" "2.8.1" + "@polkadot/util" "^4.2.1" + "@polkadot/util-crypto" "^4.2.1" "@types/bn.js" "^4.11.6" - bn.js "^5.1.3" + bn.js "^4.11.9" memoizee "^0.4.14" rxjs "^6.6.3" -"@polkadot/util-crypto@4.1.1", "@polkadot/util-crypto@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-4.1.1.tgz#b3f9a03c7ad785e72d7a777cdfd76193635f290a" - integrity sha512-LuA75GZqT1Lpx+RwMljoqNl0lPrfyDt9hUByGhzHQ0OjcaOzrcrzsmDYqFgz0ec8dg9KpNcbZM9CMI7r7mZ9cg== +"@polkadot/util-crypto@4.2.1", "@polkadot/util-crypto@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-4.2.1.tgz#a342cd6b400c69ed61cd929917030ed2f43c59d1" + integrity sha512-U1rCdzBQxVTA854HRpt2d4InDnPCfHD15JiWAwIzjBvq7i59EcTbVSqV02fcwet/KpmT3XYa25xoiff+alzCBA== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/networks" "4.1.1" - "@polkadot/util" "4.1.1" + "@polkadot/networks" "4.2.1" + "@polkadot/util" "4.2.1" "@polkadot/wasm-crypto" "^2.0.1" - "@polkadot/x-randomvalues" "4.1.1" + "@polkadot/x-randomvalues" "4.2.1" base-x "^3.0.8" blakejs "^1.1.0" - bn.js "^5.1.3" + bn.js "^4.11.9" create-hash "^1.2.0" elliptic "^6.5.3" hash.js "^1.1.7" @@ -644,16 +644,16 @@ tweetnacl "^1.0.3" xxhashjs "^0.2.2" -"@polkadot/util@4.1.1", "@polkadot/util@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-4.1.1.tgz#76668d5f0e00c396d6b6f4ba652348d287ad49c2" - integrity sha512-bmXMXq4WKKkowgzgRzCgkWNzu8tT/F4P+cBBlVReOH1UD1AmUG80coD/uIL+kUhLpQVN3xXtdXHIxFQcfK3qKA== +"@polkadot/util@4.2.1", "@polkadot/util@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-4.2.1.tgz#1845d03be7e418a14ec2ef929d6288f326f2145d" + integrity sha512-eO/IFbSDjqVPPWPnARDFydy2Kt992Th+8ByleTkCRqWk0aNYaseO1pGKNdwrYbLfUR3JlyWqvJ60lITeS+qAfQ== dependencies: "@babel/runtime" "^7.12.5" - "@polkadot/x-textdecoder" "4.1.1" - "@polkadot/x-textencoder" "4.1.1" + "@polkadot/x-textdecoder" "4.2.1" + "@polkadot/x-textencoder" "4.2.1" "@types/bn.js" "^4.11.6" - bn.js "^5.1.3" + bn.js "^4.11.9" camelcase "^5.3.1" ip-regex "^4.2.0" @@ -662,40 +662,40 @@ resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-2.0.1.tgz#cf7384385f832f6389520cc00e52a87fda6f29b6" integrity sha512-Vb0q4NToCRHXYJwhLWc4NTy77+n1dtJmkiE1tt8j1pmY4IJ4UL25yBxaS8NCS1LGqofdUYK1wwgrHiq5A78PFA== -"@polkadot/x-fetch@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-4.1.1.tgz#b03083d926da42596fb01871f17912308a34529e" - integrity sha512-pja/3bVqppEh/c/Dv9fXTeVDpsRPr7Il8ADw8qyHKQzYhE3qfrcnje1XV78xiaeCwBJMXL33KbaI/Vs0hc/eSw== +"@polkadot/x-fetch@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-4.2.1.tgz#6cd157da6f98f97395c3f01849ccdd3de23ee44f" + integrity sha512-dfVYvCQQXo2AgoWPi4jQp47eIMjAi6glQQ8Y1OsK4sCqmX7BSkNl9ONUKQuH27oi0BkJ/BL7fwDg55JeB5QrKg== dependencies: "@babel/runtime" "^7.12.5" "@types/node-fetch" "^2.5.7" node-fetch "^2.6.1" -"@polkadot/x-randomvalues@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-4.1.1.tgz#cbcd5b591a3d5c7dc3853e51edc5e20239bf3b25" - integrity sha512-q1UCOYmYSOIjp97qH+Jw6mtaoaqb65I2R/aKOtd5NDyls0lLq4ctv5YQ8jLTvNrGum8aEKE8ZmYuBuZSQXICPw== +"@polkadot/x-randomvalues@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-4.2.1.tgz#91fd272f8bb79a59b20055a4514f944888a6ee76" + integrity sha512-eOfz/KnHYFVl9l0zlhlwomKMzFASgolaQV6uXSN38np+99/+F38wlbOSXFbfZ5H3vmMCt4y/UUTLtoGV/44yLg== dependencies: "@babel/runtime" "^7.12.5" -"@polkadot/x-textdecoder@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-4.1.1.tgz#9bdc94ca962b6f7d931c827e8316cd09fc751aff" - integrity sha512-I0u3ymy2wAoi3zaycmBu8HqGudp4nMGKqSGasSB1ko9SKtB++JsWKH99it721rpeSdFXJOpBERQjvapCQXK6sQ== +"@polkadot/x-textdecoder@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-4.2.1.tgz#c2fe9f5da9498d982f8fd9244a52e039c0f0dacc" + integrity sha512-B5t20PryMKr7kdd7q+kmzJPU01l28ZDD06cQ/ZFkybI7avI6PIz/U33ctXxiHOatbBRO6Ez8uzrWd3JmaQ2bGQ== dependencies: "@babel/runtime" "^7.12.5" -"@polkadot/x-textencoder@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-4.1.1.tgz#828e08895fbb7c29db7ce81d63e2d93ca7750660" - integrity sha512-yhDwo2Dy835+OYk5clNVJ0VGGtu6zC9Uw0tDp9BSDSVrb1gZGrhAEGTtvTG8JM4qPJ/XBTaaN9Ul2rnk0VIiOA== +"@polkadot/x-textencoder@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-4.2.1.tgz#cf6b92d7de0fb2dde8314e0f359dd83dc9f25036" + integrity sha512-EHc6RS9kjdP28q6EYlSgHF2MrJCdOTc5EVlqHL7V1UKLh3vD6QaWGYBwbzXNFPXO3RYPO/DKYCu4RxAVSM1OOg== dependencies: "@babel/runtime" "^7.12.5" -"@polkadot/x-ws@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-4.1.1.tgz#b5ba15d5f0cd36d1a8cc03c15d4ce661633c55be" - integrity sha512-SgNOgxOLsxCUC5g/G7j11rJfHuFkHR3LIMniB1GvkS87SWkbhftwPPgWOwdGOxxy2L3Ud7t4/4wnlUV+cmRcDA== +"@polkadot/x-ws@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-4.2.1.tgz#f160a0c61227419b1d7da623a72ce21063ef69ee" + integrity sha512-7L1ve2rshBFI/00/0zkX1k0OP/rSD6Tp0Mj/GSg2UvnsmUb2Bb3OpwUJ4aTDr1En6OVGWj9c0fNO0tZR7rtoYA== dependencies: "@babel/runtime" "^7.12.5" "@types/websocket" "^1.0.1" @@ -813,9 +813,9 @@ form-data "^3.0.0" "@types/node@*": - version "14.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.9.tgz#04afc9a25c6ff93da14deabd65dc44485b53c8d6" - integrity sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw== + version "14.14.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" + integrity sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -851,61 +851,61 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.8.1.tgz#b362abe0ee478a6c6d06c14552a6497f0b480769" - integrity sha512-d7LeQ7dbUrIv5YVFNzGgaW3IQKMmnmKFneRWagRlGYOSfLJVaRbj/FrBNOBC1a3tVO+TgNq1GbHvRtg1kwL0FQ== +"@typescript-eslint/eslint-plugin@^4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.8.2.tgz#cf9102ec800391caa574f589ffe0623cca1d9308" + integrity sha512-gQ06QLV5l1DtvYtqOyFLXD9PdcILYqlrJj2l+CGDlPtmgLUzc1GpqciJFIRvyfvgLALpnxYINFuw+n9AZhPBKQ== dependencies: - "@typescript-eslint/experimental-utils" "4.8.1" - "@typescript-eslint/scope-manager" "4.8.1" + "@typescript-eslint/experimental-utils" "4.8.2" + "@typescript-eslint/scope-manager" "4.8.2" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.8.1.tgz#27275c20fa4336df99ebcf6195f7d7aa7aa9f22d" - integrity sha512-WigyLn144R3+lGATXW4nNcDJ9JlTkG8YdBWHkDlN0lC3gUGtDi7Pe3h5GPvFKMcRz8KbZpm9FJV9NTW8CpRHpg== +"@typescript-eslint/experimental-utils@4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.8.2.tgz#8909a5732f19329cf5ef0c39766170476bff5e50" + integrity sha512-hpTw6o6IhBZEsQsjuw/4RWmceRyESfAiEzAEnXHKG1X7S5DXFaZ4IO1JO7CW1aQ604leQBzjZmuMI9QBCAJX8Q== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.8.1" - "@typescript-eslint/types" "4.8.1" - "@typescript-eslint/typescript-estree" "4.8.1" + "@typescript-eslint/scope-manager" "4.8.2" + "@typescript-eslint/types" "4.8.2" + "@typescript-eslint/typescript-estree" "4.8.2" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.8.1.tgz#4fe2fbdbb67485bafc4320b3ae91e34efe1219d1" - integrity sha512-QND8XSVetATHK9y2Ltc/XBl5Ro7Y62YuZKnPEwnNPB8E379fDsvzJ1dMJ46fg/VOmk0hXhatc+GXs5MaXuL5Uw== +"@typescript-eslint/parser@^4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.8.2.tgz#78dccbe5124de2b8dea2d4c363dee9f769151ca8" + integrity sha512-u0leyJqmclYr3KcXOqd2fmx6SDGBO0MUNHHAjr0JS4Crbb3C3d8dwAdlazy133PLCcPn+aOUFiHn72wcuc5wYw== dependencies: - "@typescript-eslint/scope-manager" "4.8.1" - "@typescript-eslint/types" "4.8.1" - "@typescript-eslint/typescript-estree" "4.8.1" + "@typescript-eslint/scope-manager" "4.8.2" + "@typescript-eslint/types" "4.8.2" + "@typescript-eslint/typescript-estree" "4.8.2" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.8.1.tgz#e343c475f8f1d15801b546cb17d7f309b768fdce" - integrity sha512-r0iUOc41KFFbZdPAdCS4K1mXivnSZqXS5D9oW+iykQsRlTbQRfuFRSW20xKDdYiaCoH+SkSLeIF484g3kWzwOQ== +"@typescript-eslint/scope-manager@4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.8.2.tgz#a18388c63ae9c17adde519384f539392f2c4f0d9" + integrity sha512-qHQ8ODi7mMin4Sq2eh/6eu03uVzsf5TX+J43xRmiq8ujng7ViQSHNPLOHGw/Wr5dFEoxq/ubKhzClIIdQy5q3g== dependencies: - "@typescript-eslint/types" "4.8.1" - "@typescript-eslint/visitor-keys" "4.8.1" + "@typescript-eslint/types" "4.8.2" + "@typescript-eslint/visitor-keys" "4.8.2" -"@typescript-eslint/types@4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.8.1.tgz#23829c73c5fc6f4fcd5346a7780b274f72fee222" - integrity sha512-ave2a18x2Y25q5K05K/U3JQIe2Av4+TNi/2YuzyaXLAsDx6UZkz1boZ7nR/N6Wwae2PpudTZmHFXqu7faXfHmA== +"@typescript-eslint/types@4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.8.2.tgz#c862dd0e569d9478eb82d6aee662ea53f5661a36" + integrity sha512-z1/AVcVF8ju5ObaHe2fOpZYEQrwHyZ7PTOlmjd3EoFeX9sv7UekQhfrCmgUO7PruLNfSHrJGQvrW3Q7xQ8EoAw== -"@typescript-eslint/typescript-estree@4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.8.1.tgz#7307e3f2c9e95df7daa8dc0a34b8c43b7ec0dd32" - integrity sha512-bJ6Fn/6tW2g7WIkCWh3QRlaSU7CdUUK52shx36/J7T5oTQzANvi6raoTsbwGM11+7eBbeem8hCCKbyvAc0X3sQ== +"@typescript-eslint/typescript-estree@4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.8.2.tgz#eeec34707d8577600fb21661b5287226cc8b3bed" + integrity sha512-HToGNwI6fekH0dOw3XEVESUm71Onfam0AKin6f26S2FtUmO7o3cLlWgrIaT1q3vjB3wCTdww3Dx2iGq5wtUOCg== dependencies: - "@typescript-eslint/types" "4.8.1" - "@typescript-eslint/visitor-keys" "4.8.1" + "@typescript-eslint/types" "4.8.2" + "@typescript-eslint/visitor-keys" "4.8.2" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -913,12 +913,12 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.8.1.tgz#794f68ee292d1b2e3aa9690ebedfcb3a8c90e3c3" - integrity sha512-3nrwXFdEYALQh/zW8rFwP4QltqsanCDz4CwWMPiIZmwlk9GlvBeueEIbq05SEq4ganqM0g9nh02xXgv5XI3PeQ== +"@typescript-eslint/visitor-keys@4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.8.2.tgz#62cd3fbbbf65f8eccfbe6f159eb1b84a243a3f77" + integrity sha512-Vg+/SJTMZJEKKGHW7YC21QxgKJrSbxoYYd3MEUGtW7zuytHuEcksewq0DUmo4eh/CTNrVJGSdIY9AtRb6riWFw== dependencies: - "@typescript-eslint/types" "4.8.1" + "@typescript-eslint/types" "4.8.2" eslint-visitor-keys "^2.0.0" JSONStream@^1.0.4: @@ -1221,16 +1221,11 @@ blakejs@^1.1.0: resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= -bn.js@^4.4.0: +bn.js@^4.11.9, bn.js@^4.4.0: version "4.11.9" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2089,10 +2084,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.13.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.13.0.tgz#7f180126c0dcdef327bfb54b211d7802decc08da" - integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ== +eslint@^7.14.0: + version "7.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.14.0.tgz#2d2cac1d28174c510a97b377f122a5507958e344" + integrity sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA== dependencies: "@babel/code-frame" "^7.0.0" "@eslint/eslintrc" "^0.2.1" @@ -4510,10 +4505,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.0.5: - version "2.1.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" - integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== +prettier@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.0.tgz#8a03c7777883b29b37fb2c4348c66a78e980418b" + integrity sha512-yYerpkvseM4iKD/BXLYUkQV5aKt4tQPqaGW6EsZjzyu0r7sVZZNPJW4Y8MyKmicp6t42XUPcBVA+H6sB3gqndw== pretty-format@^26.0.0, pretty-format@^26.6.2: version "26.6.2" @@ -5640,9 +5635,9 @@ typescript@^4.1.2: integrity sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ== uglify-js@^3.1.4: - version "3.11.6" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.6.tgz#144b50d3e05eadd3ad4dd047c60ca541a8cd4e9c" - integrity sha512-oASI1FOJ7BBFkSCNDZ446EgkSuHkOZBuqRFrwXIKWCoXw8ZXQETooTQjkAcBS03Acab7ubCKsXnwuV2svy061g== + version "3.12.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.12.0.tgz#b943f129275c41d435eb54b643bbffee71dccf57" + integrity sha512-8lBMSkFZuAK7gGF8LswsXmir8eX8d2AAMOnxSDWjKBx/fBR6MypQjs78m6ML9zQVp1/hD4TBdfeMZMC7nW1TAA== union-value@^1.0.0: version "1.0.1"