From 47c9a20e83c2b7e2b84966922c639b0334091492 Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Thu, 29 Dec 2022 20:09:24 +0800 Subject: [PATCH 01/17] package --- .gitignore | 1 + packages/sdk/package.json | 14 +- packages/sdk/tsup.browser.ts | 19 + packages/sdk/tsup.config.ts | 10 - packages/sdk/tsup.node.ts | 10 + yarn.lock | 1126 +++++++++++++++++++++++++++++++++- 6 files changed, 1153 insertions(+), 27 deletions(-) create mode 100644 packages/sdk/tsup.browser.ts delete mode 100644 packages/sdk/tsup.config.ts create mode 100644 packages/sdk/tsup.node.ts diff --git a/.gitignore b/.gitignore index 665cc77..87785cd 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ dist tsconfig.tsbuildinfo .npmrc .eslintcache +browser diff --git a/packages/sdk/package.json b/packages/sdk/package.json index e8840eb..6dbb346 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -10,17 +10,14 @@ }, "type": "module", "main": "dist/index.js", - "exports": { - ".": { - "require": "./dist/index.cjs", - "import": "./dist/index.js" - } - }, + "browser": "browser/index.js", "files": [ "dist/*" ], "scripts": { - "build": "tsup", + "build": "yarn build:node && yarn build:browser", + "build:node": "tsup --config tsup.node.ts", + "build:browser": "tsup --config tsup.browser.ts", "build:proto": "scripts/build_proto.sh", "dev": "tsup --watch", "lint": "eslint --cache .", @@ -28,6 +25,7 @@ "publish": "npm publish --access public" }, "dependencies": { + "@esbuild-plugins/node-modules-polyfill": "^0.1.4", "@phala/typedefs": "^0.2.32", "@polkadot/api": "^9.8.1", "@polkadot/keyring": "^10.1.12", @@ -52,4 +50,4 @@ "engines": { "node": ">=16" } -} +} \ No newline at end of file diff --git a/packages/sdk/tsup.browser.ts b/packages/sdk/tsup.browser.ts new file mode 100644 index 0000000..188867b --- /dev/null +++ b/packages/sdk/tsup.browser.ts @@ -0,0 +1,19 @@ +import { NodeGlobalsPolyfillPlugin } from '@esbuild-plugins/node-globals-polyfill'; +import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill'; +// import nodePolyfills from 'rollup-plugin-node-polyfills'; +import { defineConfig } from 'tsup'; + +export default defineConfig({ + esbuildPlugins: [NodeModulesPolyfillPlugin(), NodeGlobalsPolyfillPlugin({ + buffer: true + })], + entry: ['src/index.ts'], + outDir: './browser', + dts: true, + format: ['cjs', 'esm'], + ignoreWatch: ['*.test.ts'], + target: 'node16', + clean: true, + platform: 'browser', + noExternal: ['crypto-browserify','protobufjs', 'randombytes'] +}) diff --git a/packages/sdk/tsup.config.ts b/packages/sdk/tsup.config.ts deleted file mode 100644 index 0ee9feb..0000000 --- a/packages/sdk/tsup.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import {defineConfig} from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - dts: true, - format: ['cjs', 'esm'], - ignoreWatch: ['*.test.ts'], - target: 'node16', - clean: true, -}) diff --git a/packages/sdk/tsup.node.ts b/packages/sdk/tsup.node.ts new file mode 100644 index 0000000..4fb6814 --- /dev/null +++ b/packages/sdk/tsup.node.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'tsup'; + +export default defineConfig({ + entry: ['src/index.ts'], + dts: true, + format: ['cjs', 'esm'], + ignoreWatch: ['*.test.ts'], + target: 'node16', + clean: true +}) diff --git a/yarn.lock b/yarn.lock index 9e411a3..26ea2b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,6 +14,13 @@ __metadata: languageName: node linkType: hard +"@antfu/utils@npm:^0.7.0": + version: 0.7.2 + resolution: "@antfu/utils@npm:0.7.2" + checksum: ada98dde0a06bc10129ad7bc9d0007c1cf7e36eeb9e8ca93ea5173bc1e1d351afee8511c9e8e182b3105b787ce0ce813afc4ab283b511374f1e56a085f60a2c6 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7": version: 7.16.7 resolution: "@babel/code-frame@npm:7.16.7" @@ -449,6 +456,18 @@ __metadata: languageName: node linkType: hard +"@esbuild-plugins/node-modules-polyfill@npm:^0.1.4": + version: 0.1.4 + resolution: "@esbuild-plugins/node-modules-polyfill@npm:0.1.4" + dependencies: + escape-string-regexp: ^4.0.0 + rollup-plugin-node-polyfills: ^0.2.1 + peerDependencies: + esbuild: "*" + checksum: 39ff2a816139d71ebfbb78914c024565b6026da3146776aa10d27ee1330938ce78c7b2aad11c2d7768c7675d0942d1d1690dabfe60fa79e07dbb31cfbe396cec + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.15.8": version: 0.15.8 resolution: "@esbuild/android-arm@npm:0.15.8" @@ -749,6 +768,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.4.13": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9, @jridgewell/trace-mapping@npm:^0.3.0": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -921,17 +947,21 @@ __metadata: version: 0.0.0-use.local resolution: "@phala/sdk@workspace:packages/sdk" dependencies: + "@esbuild-plugins/node-modules-polyfill": ^0.1.4 "@phala/typedefs": ^0.2.32 "@polkadot/api": ^9.8.1 "@polkadot/keyring": ^10.1.12 "@polkadot/util": ^10.1.12 "@polkadot/util-crypto": ^10.1.12 "@polkadot/wasm-crypto": 6.3.1 + "@types/crypto-js": ^4.1.1 "@types/node": ^16.11.59 "@typescript-eslint/eslint-plugin": ^5.42.1 "@typescript-eslint/parser": ^5.42.1 axios: ^0.27.2 crypto-browserify: ^3.12.0 + crypto-js: ^4.1.1 + esbuild-plugin-polyfill-node: ^0.1.3 eslint: ^8.23.1 eslint-config-prettier: ^8.5.0 eslint-plugin-prettier: ^4.2.1 @@ -1690,6 +1720,22 @@ __metadata: languageName: node linkType: hard +"@rollup/pluginutils@npm:^5.0.2": + version: 5.0.2 + resolution: "@rollup/pluginutils@npm:5.0.2" + dependencies: + "@types/estree": ^1.0.0 + estree-walker: ^2.0.2 + picomatch: ^2.3.1 + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: edea15e543bebc7dcac3b0ac8bc7b8e8e6dbd46e2864dbe5dd28072de1fbd5b0e10d545a610c0edaa178e8a7ac432e2a2a52e547ece1308471412caba47db8ce + languageName: node + linkType: hard + "@rtsao/csstype@npm:2.6.5-forked.0": version: 2.6.5-forked.0 resolution: "@rtsao/csstype@npm:2.6.5-forked.0" @@ -1865,6 +1911,20 @@ __metadata: languageName: node linkType: hard +"@types/crypto-js@npm:^4.1.1": + version: 4.1.1 + resolution: "@types/crypto-js@npm:4.1.1" + checksum: ea3d6a67b69f88baeb6af96004395903d2367a41bd5cd86306da23a44dd96589749495da50974a9b01bb5163c500764c8a33706831eade036bddae016417e3ea + languageName: node + linkType: hard + +"@types/estree@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/estree@npm:1.0.0" + checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.2": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -2180,6 +2240,24 @@ __metadata: languageName: node linkType: hard +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + +"abstract-leveldown@npm:~0.12.0, abstract-leveldown@npm:~0.12.1": + version: 0.12.4 + resolution: "abstract-leveldown@npm:0.12.4" + dependencies: + xtend: ~3.0.0 + checksum: e300f04bb638cc9c462f6e8fa925672e51beb24c1470c39ece709e54f2f499661ac5fe0119175c7dcb6e32c843423d6960009d4d24e72526478b261163e8070b + languageName: node + linkType: hard + "acorn-globals@npm:^6.0.0": version: 6.0.0 resolution: "acorn-globals@npm:6.0.0" @@ -2231,6 +2309,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.8.1": + version: 8.8.1 + resolution: "acorn@npm:8.8.1" + bin: + acorn: bin/acorn + checksum: 4079b67283b94935157698831967642f24a075c52ce3feaaaafe095776dfbe15d86a1b33b1e53860fc0d062ed6c83f4284a5c87c85b9ad51853a01173da6097f + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -2450,6 +2537,18 @@ __metadata: languageName: node linkType: hard +"assert@npm:^2.0.0": + version: 2.0.0 + resolution: "assert@npm:2.0.0" + dependencies: + es6-object-assign: ^1.1.0 + is-nan: ^1.2.1 + object-is: ^1.0.1 + util: ^0.12.0 + checksum: bb91f181a86d10588ee16c5e09c280f9811373974c29974cbe401987ea34e966699d7989a812b0e19377b511ea0bc627f5905647ce569311824848ede382cae8 + languageName: node + linkType: hard + "ast-types-flow@npm:^0.0.7": version: 0.0.7 resolution: "ast-types-flow@npm:0.0.7" @@ -2473,6 +2572,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + "axe-core@npm:^4.3.5": version: 4.3.5 resolution: "axe-core@npm:4.3.5" @@ -2581,6 +2687,13 @@ __metadata: languageName: node linkType: hard +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + "baseui@npm:^11.1.1": version: 11.1.1 resolution: "baseui@npm:11.1.1" @@ -2623,6 +2736,15 @@ __metadata: languageName: node linkType: hard +"bl@npm:~0.8.1": + version: 0.8.2 + resolution: "bl@npm:0.8.2" + dependencies: + readable-stream: ~1.0.26 + checksum: 18767c5c861ae1cdbb000bb346e9e8e29137225e8eef97f39db78beeb236beca609f465580c5c1b177d621505f57400834fb4a17a66d264f33a0237293ec2ac5 + languageName: node + linkType: hard + "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" @@ -2707,6 +2829,17 @@ __metadata: languageName: node linkType: hard +"browserify-fs@npm:^1.0.0": + version: 1.0.0 + resolution: "browserify-fs@npm:1.0.0" + dependencies: + level-filesystem: ^1.0.1 + level-js: ^2.1.3 + levelup: ^0.18.2 + checksum: e0c35cf42c839c0a217048b1671d91ee6e53fd05f163db4f809e46c2f6264f784768e7c850abc200b0eaca378d42e00e01876eda21fd84fc0a4280bd6200a9c3 + languageName: node + linkType: hard + "browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": version: 4.1.0 resolution: "browserify-rsa@npm:4.1.0" @@ -2734,6 +2867,15 @@ __metadata: languageName: node linkType: hard +"browserify-zlib@npm:^0.2.0": + version: 0.2.0 + resolution: "browserify-zlib@npm:0.2.0" + dependencies: + pako: ~1.0.5 + checksum: 5cd9d6a665190fedb4a97dfbad8dabc8698d8a507298a03f42c734e96d58ca35d3c7d4085e283440bbca1cd1938cff85031728079bedb3345310c58ab1ec92d6 + languageName: node + linkType: hard + "browserslist@npm:^4.17.5": version: 4.19.1 resolution: "browserslist@npm:4.19.1" @@ -2767,6 +2909,13 @@ __metadata: languageName: node linkType: hard +"buffer-es6@npm:^4.9.3": + version: 4.9.3 + resolution: "buffer-es6@npm:4.9.3" + checksum: dfc8ebb3c5c00166e6f81e6ec7ea876693ea6197a8d0b07b1a17482ffab0e5d3307bfb539f84862b1ae35cd70ad03835db0f3c7dc4e337cbd16c50bb4c7e5df7 + languageName: node + linkType: hard + "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -2781,6 +2930,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.2.1 + checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 + languageName: node + linkType: hard + "bufferutil@npm:^4.0.1": version: 4.0.3 resolution: "bufferutil@npm:4.0.3" @@ -2791,6 +2950,13 @@ __metadata: languageName: node linkType: hard +"builtin-status-codes@npm:^3.0.0": + version: 3.0.0 + resolution: "builtin-status-codes@npm:3.0.0" + checksum: 1119429cf4b0d57bf76b248ad6f529167d343156ebbcc4d4e4ad600484f6bc63002595cbb61b67ad03ce55cd1d3c4711c03bbf198bf24653b8392420482f3773 + languageName: node + linkType: hard + "bundle-require@npm:^3.1.2": version: 3.1.2 resolution: "bundle-require@npm:3.1.2" @@ -2909,7 +3075,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.5.1": +"chokidar@npm:^3.5.1, chokidar@npm:^3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -2977,6 +3143,13 @@ __metadata: languageName: node linkType: hard +"clone@npm:~0.1.9": + version: 0.1.19 + resolution: "clone@npm:0.1.19" + checksum: 5e710e16da67abe30c0664c8fd69c280635be59a4fae0a5fe58ed324e701e99348b48ce67288716fa223edd42ba574e58a3783cb2fcfa381b8b49ce7e56ac3f4 + languageName: node + linkType: hard + "clsx@npm:^1.0.4": version: 1.1.1 resolution: "clsx@npm:1.1.1" @@ -3067,6 +3240,25 @@ __metadata: languageName: node linkType: hard +"concat-stream@npm:^1.4.4": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: ^1.0.0 + inherits: ^2.0.3 + readable-stream: ^2.2.2 + typedarray: ^0.0.6 + checksum: 1ef77032cb4459dcd5187bd710d6fc962b067b64ec6a505810de3d2b8cc0605638551b42f8ec91edf6fcd26141b32ef19ad749239b58fae3aba99187adc32285 + languageName: node + linkType: hard + +"console-browserify@npm:^1.2.0": + version: 1.2.0 + resolution: "console-browserify@npm:1.2.0" + checksum: 226591eeff8ed68e451dffb924c1fb750c654d54b9059b3b261d360f369d1f8f70650adecf2c7136656236a4bfeb55c39281b5d8a55d792ebbb99efd3d848d52 + languageName: node + linkType: hard + "console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -3185,6 +3377,13 @@ __metadata: languageName: node linkType: hard +"crypto-js@npm:^4.1.1": + version: 4.1.1 + resolution: "crypto-js@npm:4.1.1" + checksum: b3747c12ee3a7632fab3b3e171ea50f78b182545f0714f6d3e7e2858385f0f4101a15f2517e033802ce9d12ba50a391575ff4638c9de3dd9b2c4bc47768d5425 + languageName: node + linkType: hard + "css-in-js-utils@npm:^2.0.0": version: 2.0.1 resolution: "css-in-js-utils@npm:2.0.1" @@ -3652,6 +3851,15 @@ __metadata: languageName: node linkType: hard +"deferred-leveldown@npm:~0.2.0": + version: 0.2.0 + resolution: "deferred-leveldown@npm:0.2.0" + dependencies: + abstract-leveldown: ~0.12.1 + checksum: f7690ec5b1e951e6f56998be26dd0a1331ef28cb7eaa9e090a282780d47dc006effd4b82a2a82b636cae801378047997aca10c0b44b09c8624633cdb96b07913 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" @@ -3776,6 +3984,13 @@ __metadata: languageName: node linkType: hard +"domain-browser@npm:^4.22.0": + version: 4.22.0 + resolution: "domain-browser@npm:4.22.0" + checksum: e7ce1c19073e17dec35cfde050a3ddaac437d3ba8b870adabf9d5682e665eab3084df05de432dedf25b34303f0a2c71ac30f1cdba61b1aea018047b10de3d988 + languageName: node + linkType: hard + "domexception@npm:^2.0.1": version: 2.0.1 resolution: "domexception@npm:2.0.1" @@ -3816,6 +4031,13 @@ __metadata: languageName: node linkType: hard +"emitter-component@npm:^1.1.1": + version: 1.1.1 + resolution: "emitter-component@npm:1.1.1" + checksum: 10e907f507a8c16a318e07595119e58b5c3267528d4e3b962ee9b14fd83c97599e7931ccb983ec551a8de8116955c1d6ae7d213c5b0c920b62c02b7cb8d7a4d7 + languageName: node + linkType: hard + "emittery@npm:^0.8.1": version: 0.8.1 resolution: "emittery@npm:0.8.1" @@ -3860,6 +4082,17 @@ __metadata: languageName: node linkType: hard +"errno@npm:^0.1.1, errno@npm:~0.1.1": + version: 0.1.8 + resolution: "errno@npm:0.1.8" + dependencies: + prr: ~1.0.1 + bin: + errno: cli.js + checksum: 1271f7b9fbb3bcbec76ffde932485d1e3561856d21d847ec613a9722ee924cdd4e523a62dc71a44174d91e898fe21fdc8d5b50823f4b5e0ce8c35c8271e6ef4a + languageName: node + linkType: hard + "error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" @@ -3942,6 +4175,13 @@ __metadata: languageName: node linkType: hard +"es6-object-assign@npm:^1.1.0": + version: 1.1.0 + resolution: "es6-object-assign@npm:1.1.0" + checksum: 8d4fdf63484d78b5c64cacc2c2e1165bc7b6a64b739d2a9db6a4dc8641d99cc9efb433cdd4dc3d3d6b00bfa6ce959694e4665e3255190339945c5f33b692b5d8 + languageName: node + linkType: hard + "es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3": version: 3.1.3 resolution: "es6-symbol@npm:3.1.3" @@ -4066,6 +4306,40 @@ __metadata: languageName: node linkType: hard +"esbuild-plugin-polyfill-node@npm:^0.1.3": + version: 0.1.3 + resolution: "esbuild-plugin-polyfill-node@npm:0.1.3" + dependencies: + assert: ^2.0.0 + browserify-fs: ^1.0.0 + browserify-zlib: ^0.2.0 + buffer-es6: ^4.9.3 + console-browserify: ^1.2.0 + crypto-browserify: ^3.12.0 + domain-browser: ^4.22.0 + events: ^3.3.0 + import-meta-resolve: ^2.1.0 + os-browserify: ^0.3.0 + path: ^0.12.7 + process-es6: ^0.11.6 + punycode: ^2.1.1 + querystring: ^0.2.1 + readable-stream: ^4.2.0 + stream: ^0.0.2 + stream-http: ^3.2.0 + string_decoder: ^1.3.0 + timers-browserify: ^2.0.12 + tty-browserify: ^0.0.1 + unplugin-auto-import: ^0.11.2 + url: ^0.11.0 + util: ^0.12.4 + vm-browserify: ^1.1.2 + peerDependencies: + esbuild: "*" + checksum: e1a1e87211fca8db38fe3522a47022adbdb4f1b8b74e255686e1dce00008c57b31afd6359eee66bb1d89156697199887b1a7021f3fe720bd531fe8e61d8e5ac8 + languageName: node + linkType: hard + "esbuild-sunos-64@npm:0.15.8": version: 0.15.8 resolution: "esbuild-sunos-64@npm:0.15.8" @@ -4208,6 +4482,13 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e + languageName: node + linkType: hard + "escodegen@npm:^2.0.0": version: 2.0.0 resolution: "escodegen@npm:2.0.0" @@ -4548,6 +4829,20 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^0.6.1": + version: 0.6.1 + resolution: "estree-walker@npm:0.6.1" + checksum: 9d6f82a4921f11eec18f8089fb3cce6e53bcf45a8e545c42a2674d02d055fb30f25f90495f8be60803df6c39680c80dcee7f944526867eb7aa1fc9254883b23d + languageName: node + linkType: hard + +"estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 6151e6f9828abe2259e57f5fd3761335bb0d2ebd76dc1a01048ccee22fabcfef3c0859300f6d83ff0d1927849368775ec5a6d265dde2f6de5a1be1721cd94efc + languageName: node + linkType: hard + "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -4555,6 +4850,13 @@ __metadata: languageName: node linkType: hard +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + "eventemitter3@npm:^4.0.7": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -4562,6 +4864,13 @@ __metadata: languageName: node linkType: hard +"events@npm:^3.3.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + languageName: node + linkType: hard + "evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": version: 1.0.3 resolution: "evp_bytestokey@npm:1.0.3" @@ -4663,6 +4972,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.2.12": + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 + languageName: node + linkType: hard + "fast-glob@npm:^3.2.9": version: 3.2.11 resolution: "fast-glob@npm:3.2.11" @@ -4810,6 +5132,22 @@ __metadata: languageName: node linkType: hard +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + +"foreach@npm:~2.0.1": + version: 2.0.6 + resolution: "foreach@npm:2.0.6" + checksum: f7b68494545ee41cbd0b0425ebf5386c265dc38ef2a9b0d5cd91a1b82172e939b4cf9387f8e0ebf6db4e368fc79ed323f2198424d5c774515ac3ed9b08901c0e + languageName: node + linkType: hard + "form-data@npm:^3.0.0": version: 3.0.1 resolution: "form-data@npm:3.0.1" @@ -4902,6 +5240,15 @@ __metadata: languageName: node linkType: hard +"fwd-stream@npm:^1.0.4": + version: 1.0.4 + resolution: "fwd-stream@npm:1.0.4" + dependencies: + readable-stream: ~1.0.26-4 + checksum: db4dcf68f214b3fabd6cd9658630dfd1d7ed8d43f7f45408027a90220cd75276e782d1e958821775d7a3a4a83034778e75a097bdc7002c758e8896f76213c65d + languageName: node + linkType: hard + "gauge@npm:~2.7.3": version: 2.7.4 resolution: "gauge@npm:2.7.4" @@ -4943,6 +5290,17 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.1.3": + version: 1.1.3 + resolution: "get-intrinsic@npm:1.1.3" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.3 + checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -5057,6 +5415,15 @@ __metadata: languageName: node linkType: hard +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 + languageName: node + linkType: hard + "graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.9 resolution: "graceful-fs@npm:4.2.9" @@ -5250,6 +5617,20 @@ __metadata: languageName: node linkType: hard +"idb-wrapper@npm:^1.5.0": + version: 1.7.2 + resolution: "idb-wrapper@npm:1.7.2" + checksum: a5fa3a771166205e2d5d2b93c66bd31571dada3526b59bc0f8583efb091b6b327125f1a964a25a281b85ef1c44af10a3c511652632ad3adf8229a161132d66ae + languageName: node + linkType: hard + +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + "ignore@npm:^5.2.0": version: 5.2.0 resolution: "ignore@npm:5.2.0" @@ -5279,6 +5660,13 @@ __metadata: languageName: node linkType: hard +"import-meta-resolve@npm:^2.1.0": + version: 2.2.0 + resolution: "import-meta-resolve@npm:2.2.0" + checksum: 35a012c07bdaaed907ad150021b47a4bd8b2c77c88f02a2c5a15a5cb5c146072a94b6633cc528eaccf187bca12196c0fb2ff44a54b3b2a03bcf200511b3f1e50 + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -5293,6 +5681,13 @@ __metadata: languageName: node linkType: hard +"indexof@npm:~0.0.1": + version: 0.0.1 + resolution: "indexof@npm:0.0.1" + checksum: 0fb04e8b147b8585d981a6df1564f25bb3678d6fa74e33e5cecc1464b10f78e15e8ef6bb688f135fe5c2844a128fac8a7831cbe5adc81fdcf12681b093dfcc25 + languageName: node + linkType: hard + "infer-owner@npm:^1.0.4": version: 1.0.4 resolution: "infer-owner@npm:1.0.4" @@ -5310,13 +5705,20 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 languageName: node linkType: hard +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 78cb8d7d850d20a5e9a7f3620db31483aa00ad5f722ce03a55b110e5a723539b3716a3b463e2b96ce3fe286f33afc7c131fa2f91407528ba80cea98a7545d4c0 + languageName: node + linkType: hard + "inline-style-prefixer@npm:^5.1.0": version: 5.1.2 resolution: "inline-style-prefixer@npm:5.1.2" @@ -5360,6 +5762,16 @@ __metadata: languageName: node linkType: hard +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -5395,6 +5807,13 @@ __metadata: languageName: node linkType: hard +"is-callable@npm:^1.1.3": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac + languageName: node + linkType: hard + "is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": version: 1.2.4 resolution: "is-callable@npm:1.2.4" @@ -5457,6 +5876,15 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -5473,6 +5901,16 @@ __metadata: languageName: node linkType: hard +"is-nan@npm:^1.2.1": + version: 1.3.2 + resolution: "is-nan@npm:1.3.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + checksum: 5dfadcef6ad12d3029d43643d9800adbba21cf3ce2ec849f734b0e14ee8da4070d82b15fdb35138716d02587c6578225b9a22779cab34888a139cc43e4e3610a + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.2": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" @@ -5496,6 +5934,13 @@ __metadata: languageName: node linkType: hard +"is-object@npm:~0.1.2": + version: 0.1.2 + resolution: "is-object@npm:0.1.2" + checksum: 7e500b15f4748278ea0a8d43b1283e75e866c055e4a790389087ce652eab8a9343fd74710738f0fdf13a323c31330d65bdcc106f38e9bb7bc0b9c60ae3fd2a2d + languageName: node + linkType: hard + "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -5547,6 +5992,19 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3": + version: 1.1.10 + resolution: "is-typed-array@npm:1.1.10" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 + languageName: node + linkType: hard + "is-typedarray@npm:^1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -5563,6 +6021,20 @@ __metadata: languageName: node linkType: hard +"is@npm:~0.2.6": + version: 0.2.7 + resolution: "is@npm:0.2.7" + checksum: 45cea1e6deb41150b5753e18041a833657313e9c791c73f96fb9014b613346f5af2e6650858ef50ea6262c79555b65e09b13d30a268139863885025dd65f1059 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 + languageName: node + linkType: hard + "isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -5570,6 +6042,13 @@ __metadata: languageName: node linkType: hard +"isbuffer@npm:~0.0.0": + version: 0.0.0 + resolution: "isbuffer@npm:0.0.0" + checksum: 9796296d3c493974c1f71ccf3170cc8007217a19ce8b3b9dedffd32e8ccc3ac42473b572bbf1b24b86143e826ea157aead11fd1285389518abab76c7da5f50ed + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -6305,6 +6784,13 @@ __metadata: languageName: node linkType: hard +"jsonc-parser@npm:^3.2.0": + version: 3.2.0 + resolution: "jsonc-parser@npm:3.2.0" + checksum: 946dd9a5f326b745aa326d48a7257e3f4a4b62c5e98ec8e49fa2bdd8d96cef7e6febf1399f5c7016114fd1f68a1c62c6138826d5d90bc650448e3cf0951c53c7 + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.2.1": version: 3.2.1 resolution: "jsx-ast-utils@npm:3.2.1" @@ -6345,14 +6831,117 @@ __metadata: languageName: node linkType: hard -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 +"level-blobs@npm:^0.1.7": + version: 0.1.7 + resolution: "level-blobs@npm:0.1.7" + dependencies: + level-peek: 1.0.6 + once: ^1.3.0 + readable-stream: ^1.0.26-4 + checksum: e3cf78ef0bc64ff350edb4e247b2689cd4f5facf1119694ca8c96c28a05a38dc9d88e0bd065b18af65330bc22f5d588719a5c3e63adaa5feba5ea7913f87bebe languageName: node linkType: hard -"levn@npm:^0.4.1": +"level-filesystem@npm:^1.0.1": + version: 1.2.0 + resolution: "level-filesystem@npm:1.2.0" + dependencies: + concat-stream: ^1.4.4 + errno: ^0.1.1 + fwd-stream: ^1.0.4 + level-blobs: ^0.1.7 + level-peek: ^1.0.6 + level-sublevel: ^5.2.0 + octal: ^1.0.0 + once: ^1.3.0 + xtend: ^2.2.0 + checksum: a29e6a9d8c1879d43610113d1bcb59368685ec0ae413fcf0f8dcbb0a0c26b88fcf16f7481acb2b4650e5951ba0635e73a2c8fbe25cd599c50f80949a5547a367 + languageName: node + linkType: hard + +"level-fix-range@npm:2.0": + version: 2.0.0 + resolution: "level-fix-range@npm:2.0.0" + dependencies: + clone: ~0.1.9 + checksum: 250cefa69e1035d1412b4ba3e5cab83cceb894aa833fb0a93417d8d6230c60f6f8154feffbd0f116461ddd441b909e7df1323355d3e1769b3bb20a55729145b5 + languageName: node + linkType: hard + +"level-fix-range@npm:~1.0.2": + version: 1.0.2 + resolution: "level-fix-range@npm:1.0.2" + checksum: 6c9a3894ea08947fae79c41b75e8b9d57979523b656bec43c589f2dc4455276a150df445d9a7ca880a7c58c2ef19f5cea7f661d777993b870f4943af6b31d5bb + languageName: node + linkType: hard + +"level-hooks@npm:>=4.4.0 <5": + version: 4.5.0 + resolution: "level-hooks@npm:4.5.0" + dependencies: + string-range: ~1.2 + checksum: f198ad2e0901a4719e324e67f546097589af79665ebaaabee7122fda18a41ada3158bb1816b8b82430f30c68610125e4e20b5c09ec3ba7ae262d97dba34f48ab + languageName: node + linkType: hard + +"level-js@npm:^2.1.3": + version: 2.2.4 + resolution: "level-js@npm:2.2.4" + dependencies: + abstract-leveldown: ~0.12.0 + idb-wrapper: ^1.5.0 + isbuffer: ~0.0.0 + ltgt: ^2.1.2 + typedarray-to-buffer: ~1.0.0 + xtend: ~2.1.2 + checksum: 4fed784fcfad4bc6ec97d9c3897e95eaa30326fcdab9f4c7437624d10fa875fa84aafcc2acac0d53181af506cbc012c03f413b4da12ff83758d3bcbb699f8c8e + languageName: node + linkType: hard + +"level-peek@npm:1.0.6, level-peek@npm:^1.0.6": + version: 1.0.6 + resolution: "level-peek@npm:1.0.6" + dependencies: + level-fix-range: ~1.0.2 + checksum: e07d5f8b80675727204d9a226a249139da9e354e633b9d57b7a5186a7b85be445e550ca628f5133bf7a220a9311a193ded5a3f83588dc4eaa53ffb86b426154a + languageName: node + linkType: hard + +"level-sublevel@npm:^5.2.0": + version: 5.2.3 + resolution: "level-sublevel@npm:5.2.3" + dependencies: + level-fix-range: 2.0 + level-hooks: ">=4.4.0 <5" + string-range: ~1.2.1 + xtend: ~2.0.4 + checksum: f0fdffc2f9ca289aa183a1bf7f300a8f92e4f01be60eab37ab36e1f6ec33ed449519d8f69504a616e82f3ddca13a15fa4e19af1dcc1beba9044a4c60b6cd94bf + languageName: node + linkType: hard + +"levelup@npm:^0.18.2": + version: 0.18.6 + resolution: "levelup@npm:0.18.6" + dependencies: + bl: ~0.8.1 + deferred-leveldown: ~0.2.0 + errno: ~0.1.1 + prr: ~0.0.0 + readable-stream: ~1.0.26 + semver: ~2.3.1 + xtend: ~3.0.0 + checksum: 80e140dd83dc94050e283fc02874ae85116cb560d81e14fee0ac111f86006887835ec905dca7a081414c07eca202245a580f1e02f696367b777ecc23a9e05b86 + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" dependencies: @@ -6393,6 +6982,13 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.4.2": + version: 0.4.2 + resolution: "local-pkg@npm:0.4.2" + checksum: 22be451353c25c4411b552bf01880ebc9e995b93574b2facc7757968d888356df59199cacada14162ab53bbc9da055bb692c907b4171f008dbce45a2afc777c1 + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -6476,6 +7072,40 @@ __metadata: languageName: node linkType: hard +"ltgt@npm:^2.1.2": + version: 2.2.1 + resolution: "ltgt@npm:2.2.1" + checksum: 7e3874296f7538bc8087b428ac4208008d7b76916354b34a08818ca7c83958c1df10ec427eeeaad895f6b81e41e24745b18d30f89abcc21d228b94f6961d50a2 + languageName: node + linkType: hard + +"magic-string@npm:^0.25.3": + version: 0.25.9 + resolution: "magic-string@npm:0.25.9" + dependencies: + sourcemap-codec: ^1.4.8 + checksum: 9a0e55a15c7303fc360f9572a71cffba1f61451bc92c5602b1206c9d17f492403bf96f946dfce7483e66822d6b74607262e24392e87b0ac27b786e69a40e9b1a + languageName: node + linkType: hard + +"magic-string@npm:^0.26.7": + version: 0.26.7 + resolution: "magic-string@npm:0.26.7" + dependencies: + sourcemap-codec: ^1.4.8 + checksum: 89b0d60cbb32bbf3d1e23c46ea93db082d18a8230b972027aecb10a40bba51be519ecce0674f995571e3affe917b76b09f59d8dbc9a1b2c9c4102a2b6e8a2b01 + languageName: node + linkType: hard + +"magic-string@npm:^0.27.0": + version: 0.27.0 + resolution: "magic-string@npm:0.27.0" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.13 + checksum: 273faaa50baadb7a2df6e442eac34ad611304fc08fe16e24fe2e472fd944bfcb73ffb50d2dc972dc04e92784222002af46868cb9698b1be181c81830fd95a13e + languageName: node + linkType: hard + "make-dir@npm:^3.0.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -6710,6 +7340,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.0.0": + version: 1.0.0 + resolution: "mlly@npm:1.0.0" + dependencies: + acorn: ^8.8.1 + pathe: ^1.0.0 + pkg-types: ^1.0.0 + ufo: ^1.0.0 + checksum: e9d8809a836f407fb0604f46ca12fd1671cb95a71fef35ba6af57022c75eb7555dcad3ed5524f6c53fdf1280ed35739837c7306c0e0201371943737091dde429 + languageName: node + linkType: hard + "mock-socket@npm:^9.1.5": version: 9.1.5 resolution: "mock-socket@npm:9.1.5" @@ -7008,6 +7650,16 @@ __metadata: languageName: node linkType: hard +"object-is@npm:^1.0.1": + version: 1.1.5 + resolution: "object-is@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe + languageName: node + linkType: hard + "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -7015,6 +7667,24 @@ __metadata: languageName: node linkType: hard +"object-keys@npm:~0.2.0": + version: 0.2.0 + resolution: "object-keys@npm:0.2.0" + dependencies: + foreach: ~2.0.1 + indexof: ~0.0.1 + is: ~0.2.6 + checksum: 4b96bab88fe9df22a03aec3c59a084bdffc789ad1318a39081e6b8389af6b9ab8571dd3776eed3ec5831137d057fb7ba76911552c6a6efd59b5d126ac3b6e432 + languageName: node + linkType: hard + +"object-keys@npm:~0.4.0": + version: 0.4.0 + resolution: "object-keys@npm:0.4.0" + checksum: 1be3ebe9b48c0d5eda8e4a30657d887a748cb42435e0e2eaf49faf557bdd602cd2b7558b8ce90a4eb2b8592d16b875a1900bce859cbb0f35b21c67e11a45313c + languageName: node + linkType: hard + "object.assign@npm:^4.1.2": version: 4.1.2 resolution: "object.assign@npm:4.1.2" @@ -7070,6 +7740,13 @@ __metadata: languageName: node linkType: hard +"octal@npm:^1.0.0": + version: 1.0.0 + resolution: "octal@npm:1.0.0" + checksum: d648917f4f0a1042d7a4e230262aed00274c9791fe4795e9a2ce3b64ab7f2ca93e62cd55ca5ad4e4bd3fc375ca84d6919d7bf417be461790c1042503ac2c2310 + languageName: node + linkType: hard + "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -7123,6 +7800,13 @@ __metadata: languageName: node linkType: hard +"os-browserify@npm:^0.3.0": + version: 0.3.0 + resolution: "os-browserify@npm:0.3.0" + checksum: 16e37ba3c0e6a4c63443c7b55799ce4066d59104143cb637ecb9fce586d5da319cdca786ba1c867abbe3890d2cbf37953f2d51eea85e20dd6c4570d6c54bfebf + languageName: node + linkType: hard + "p-limit@npm:^1.1.0": version: 1.3.0 resolution: "p-limit@npm:1.3.0" @@ -7207,6 +7891,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:~1.0.5": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16 + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -7290,6 +7981,23 @@ __metadata: languageName: node linkType: hard +"path@npm:^0.12.7": + version: 0.12.7 + resolution: "path@npm:0.12.7" + dependencies: + process: ^0.11.1 + util: ^0.10.3 + checksum: 5dedb71e78fc008fcba797defc0b4e1cf06c1f18e0a631e03ba5bb505136f587ff017afc14f9a3d481cbe77aeedff7dc0c1d2ce4d820c1ebf3c4281ca49423a1 + languageName: node + linkType: hard + +"pathe@npm:^1.0.0": + version: 1.0.0 + resolution: "pathe@npm:1.0.0" + checksum: 7b71a4930a5b46111c92149632f74b0e87bade3eabe6c9168dcc4846857a4e124eacc0c2bf044fe0d2a8b7f87ae62b9b2cb11938c61899d485cc36dd1a243a23 + languageName: node + linkType: hard + "pbkdf2@npm:^3.0.3": version: 3.1.2 resolution: "pbkdf2@npm:3.1.2" @@ -7330,6 +8038,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf + languageName: node + linkType: hard + "pirates@npm:^4.0.1, pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" @@ -7346,6 +8061,17 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.0.0, pkg-types@npm:^1.0.1": + version: 1.0.1 + resolution: "pkg-types@npm:1.0.1" + dependencies: + jsonc-parser: ^3.2.0 + mlly: ^1.0.0 + pathe: ^1.0.0 + checksum: fe73cc22fb72ddb09227e2837a7b2ed1e0706a18e69a58a6ce13cde2b7eab122cb98de44d5c54fca5715d203ef3d2eb004b3ec84a3c05decb11e7c49a80fe2f9 + languageName: node + linkType: hard + "polished@npm:^3.2.0": version: 3.7.2 resolution: "polished@npm:3.7.2" @@ -7431,6 +8157,13 @@ __metadata: languageName: node linkType: hard +"process-es6@npm:^0.11.6": + version: 0.11.6 + resolution: "process-es6@npm:0.11.6" + checksum: 8849ea1a799a20a8e863fd3a5558d4085357ee59cae16b76f61327e3b3a27697b4e49c880742a6cc0f0c37eb0bd78fb0d4e382bd2e5318bb699b404b55a9b91e + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -7438,6 +8171,13 @@ __metadata: languageName: node linkType: hard +"process@npm:^0.11.1, process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -7519,6 +8259,20 @@ __metadata: languageName: node linkType: hard +"prr@npm:~0.0.0": + version: 0.0.0 + resolution: "prr@npm:0.0.0" + checksum: 6552d9d92d9d55ec1afb8952ad80f81bbb1b4379f24ff7c506ad083ea701caf1bf6d4b092a2baeb98ec3f312c5a49d8bdf1d9b20a6db2998d05c2d52aa6a82e7 + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 3bca2db0479fd38f8c4c9439139b0c42dcaadcc2fbb7bb8e0e6afaa1383457f1d19aea9e5f961d5b080f1cfc05bfa1fe9e45c97a1d3fd6d421950a73d3108381 + languageName: node + linkType: hard + "psl@npm:^1.1.33": version: 1.8.0 resolution: "psl@npm:1.8.0" @@ -7540,6 +8294,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:1.3.2": + version: 1.3.2 + resolution: "punycode@npm:1.3.2" + checksum: b8807fd594b1db33335692d1f03e8beeddde6fda7fbb4a2e32925d88d20a3aa4cd8dcc0c109ccaccbd2ba761c208dfaaada83007087ea8bfb0129c9ef1b99ed6 + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -7547,6 +8308,20 @@ __metadata: languageName: node linkType: hard +"querystring@npm:0.2.0": + version: 0.2.0 + resolution: "querystring@npm:0.2.0" + checksum: 8258d6734f19be27e93f601758858c299bdebe71147909e367101ba459b95446fbe5b975bf9beb76390156a592b6f4ac3a68b6087cea165c259705b8b4e56a69 + languageName: node + linkType: hard + +"querystring@npm:^0.2.1": + version: 0.2.1 + resolution: "querystring@npm:0.2.1" + checksum: 7b83b45d641e75fd39cd6625ddfd44e7618e741c61e95281b57bbae8fde0afcc12cf851924559e5cc1ef9baa3b1e06e22b164ea1397d65dd94b801f678d9c8ce + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -7755,7 +8530,19 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.6": +"readable-stream@npm:^1.0.26-4": + version: 1.1.14 + resolution: "readable-stream@npm:1.1.14" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 17dfeae3e909945a4a1abc5613ea92d03269ef54c49288599507fc98ff4615988a1c39a999dcf9aacba70233d9b7040bc11a5f2bfc947e262dedcc0a8b32b5a0 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.6, readable-stream@npm:^2.2.2": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -7781,6 +8568,30 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^4.2.0": + version: 4.2.0 + resolution: "readable-stream@npm:4.2.0" + dependencies: + abort-controller: ^3.0.0 + buffer: ^6.0.3 + events: ^3.3.0 + process: ^0.11.10 + checksum: aa8447f781e6df90af78f6b0b9b9a77da2816dcf6c8220e7021c4de36e04f8129fed7ead81eac0baad2f42098209f9e7d7cd43169e1c156efcd2613828a37439 + languageName: node + linkType: hard + +"readable-stream@npm:~1.0.26, readable-stream@npm:~1.0.26-4": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -7940,6 +8751,35 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"rollup-plugin-inject@npm:^3.0.0": + version: 3.0.2 + resolution: "rollup-plugin-inject@npm:3.0.2" + dependencies: + estree-walker: ^0.6.1 + magic-string: ^0.25.3 + rollup-pluginutils: ^2.8.1 + checksum: a014972c80fe34b8c8154056fa2533a8440066a31de831e3793fc21b15d108d92c22d8f7f472397bd5783d7c5e04d8cbf112fb72c5a26e997726e4eb090edad1 + languageName: node + linkType: hard + +"rollup-plugin-node-polyfills@npm:^0.2.1": + version: 0.2.1 + resolution: "rollup-plugin-node-polyfills@npm:0.2.1" + dependencies: + rollup-plugin-inject: ^3.0.0 + checksum: e84645212c443aca3cfae2ba69f01c6d8c5c250f0bf651416b69a4572b60aae9da7cdd687de3ab9b903f7a1ab96b06b71f0c4927d1b02a37485360d2b563937b + languageName: node + linkType: hard + +"rollup-pluginutils@npm:^2.8.1": + version: 2.8.2 + resolution: "rollup-pluginutils@npm:2.8.2" + dependencies: + estree-walker: ^0.6.1 + checksum: 339fdf866d8f4ff6e408fa274c0525412f7edb01dc46b5ccda51f575b7e0d20ad72965773376fb5db95a77a7fcfcab97bf841ec08dbadf5d6b08af02b7a2cf5e + languageName: node + linkType: hard + "rollup@npm:^3.2.5": version: 3.2.5 resolution: "rollup@npm:3.2.5" @@ -8019,6 +8859,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"scule@npm:^1.0.0": + version: 1.0.0 + resolution: "scule@npm:1.0.0" + checksum: 57f745022ef391868c6adfc77cd8bf1e8a10096cb4e7ba7bbb04f57fab5651804b419da9435692cd012abf1fd020f4b3f823385536f4ddc7247ea725488451c4 + languageName: node + linkType: hard + "semver@npm:7.x, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7": version: 7.3.7 resolution: "semver@npm:7.3.7" @@ -8039,6 +8886,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"semver@npm:~2.3.1": + version: 2.3.2 + resolution: "semver@npm:2.3.2" + bin: + semver: ./bin/semver + checksum: e0649fb18a1da909df7b5a6f586314a7f6e052385fc1e6eafa7084dd77c0787e755ab35ca491f9eec986fe1d0d6d36eae85a21eb7e2ed32ae5906796acb92c56 + languageName: node + linkType: hard + "set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -8046,6 +8902,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"setimmediate@npm:^1.0.4": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd + languageName: node + linkType: hard + "sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": version: 2.4.11 resolution: "sha.js@npm:2.4.11" @@ -8181,6 +9044,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"sourcemap-codec@npm:^1.4.8": + version: 1.4.8 + resolution: "sourcemap-codec@npm:1.4.8" + checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 + languageName: node + linkType: hard + "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -8206,6 +9076,27 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"stream-http@npm:^3.2.0": + version: 3.2.0 + resolution: "stream-http@npm:3.2.0" + dependencies: + builtin-status-codes: ^3.0.0 + inherits: ^2.0.4 + readable-stream: ^3.6.0 + xtend: ^4.0.2 + checksum: c9b78453aeb0c84fcc59555518ac62bacab9fa98e323e7b7666e5f9f58af8f3155e34481078509b02929bd1268427f664d186604cdccee95abc446099b339f83 + languageName: node + linkType: hard + +"stream@npm:^0.0.2": + version: 0.0.2 + resolution: "stream@npm:0.0.2" + dependencies: + emitter-component: ^1.1.1 + checksum: 43d89e176c282234d452754f9b55a82c74ea68345bf6176af32c4c213801f88df7984c83ec5a735457705dddf4668373edb9f0ec270a7491e1d881631a763978 + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -8216,6 +9107,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"string-range@npm:~1.2, string-range@npm:~1.2.1": + version: 1.2.2 + resolution: "string-range@npm:1.2.2" + checksum: 7118cc83a7e63fca5fd8bef9b61464bfc51197b5f6dc475c9e1d24a93ce02fa27f7adb4cd7adac5daf599bde442b383608078f9b051bddb108d3b45840923097 + languageName: node + linkType: hard + "string-width@npm:^1.0.1": version: 1.0.2 resolution: "string-width@npm:1.0.2" @@ -8286,7 +9184,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -8295,6 +9193,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"string_decoder@npm:~0.10.x": + version: 0.10.31 + resolution: "string_decoder@npm:0.10.31" + checksum: fe00f8e303647e5db919948ccb5ce0da7dea209ab54702894dd0c664edd98e5d4df4b80d6fabf7b9e92b237359d21136c95bf068b2f7760b772ca974ba970202 + languageName: node + linkType: hard + "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -8359,6 +9264,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"strip-literal@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-literal@npm:1.0.0" + dependencies: + acorn: ^8.8.1 + checksum: ada9b60f322ce3e3fd167b65a186ab77a8c76b8f9074dcdbad4c1a810b46f21c9dca30d4d807e98af580cbe99bfbccd6d8176f69183a454ae2868d8ddd6d4f88 + languageName: node + linkType: hard + "styled-jsx@npm:5.0.7": version: 5.0.7 resolution: "styled-jsx@npm:5.0.7" @@ -8541,6 +9455,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"timers-browserify@npm:^2.0.12": + version: 2.0.12 + resolution: "timers-browserify@npm:2.0.12" + dependencies: + setimmediate: ^1.0.4 + checksum: ec37ae299066bef6c464dcac29c7adafba1999e7227a9bdc4e105a459bee0f0b27234a46bfd7ab4041da79619e06a58433472867a913d01c26f8a203f87cee70 + languageName: node + linkType: hard + "tmpl@npm:1.0.x": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -8753,6 +9676,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"tty-browserify@npm:^0.0.1": + version: 0.0.1 + resolution: "tty-browserify@npm:0.0.1" + checksum: 93b745d43fa5a7d2b948fa23be8d313576d1d884b48acd957c07710bac1c0d8ac34c0556ad4c57c73d36e11741763ef66b3fb4fb97b06b7e4d525315a3cd45f5 + languageName: node + linkType: hard + "tweetnacl@npm:1.x.x, tweetnacl@npm:^1.0.3": version: 1.0.3 resolution: "tweetnacl@npm:1.0.3" @@ -8822,6 +9752,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"typedarray-to-buffer@npm:~1.0.0": + version: 1.0.4 + resolution: "typedarray-to-buffer@npm:1.0.4" + checksum: ac6989c456a0b175c8362b3ebbd8a74af7b9bcc94f9dc9ffd34436569cd29aea6a1e0e5f5752d0d5bd855a55b2520e960d1d4cb9c9149f863ce09220540df17f + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1 + languageName: node + linkType: hard + "typescript@npm:4.8.4, typescript@npm:^4.8.4": version: 4.8.4 resolution: "typescript@npm:4.8.4" @@ -8842,6 +9786,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"ufo@npm:^1.0.0": + version: 1.0.1 + resolution: "ufo@npm:1.0.1" + checksum: 63024876f21b7cc44267255a8043062046d3215e09212bd682787a13ccf1e0c5d23f7686a7f1bc7ac9f34c7e8a88100af234f42b509db50f17ce638af6ac87cc + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" @@ -8854,6 +9805,25 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"unimport@npm:^1.0.1": + version: 1.1.0 + resolution: "unimport@npm:1.1.0" + dependencies: + "@rollup/pluginutils": ^5.0.2 + escape-string-regexp: ^5.0.0 + fast-glob: ^3.2.12 + local-pkg: ^0.4.2 + magic-string: ^0.27.0 + mlly: ^1.0.0 + pathe: ^1.0.0 + pkg-types: ^1.0.1 + scule: ^1.0.0 + strip-literal: ^1.0.0 + unplugin: ^1.0.1 + checksum: b57337df42c42d0dfe45a49ac1ae2a2c5c24fbf355acf0552d59d95b4aefff743420d6dbd6de728aaa34e2384596301493895da890a2980333048d138c2ba941 + languageName: node + linkType: hard + "unique-filename@npm:^1.1.1": version: 1.1.1 resolution: "unique-filename@npm:1.1.1" @@ -8879,6 +9849,37 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"unplugin-auto-import@npm:^0.11.2": + version: 0.11.5 + resolution: "unplugin-auto-import@npm:0.11.5" + dependencies: + "@antfu/utils": ^0.7.0 + "@rollup/pluginutils": ^5.0.2 + local-pkg: ^0.4.2 + magic-string: ^0.26.7 + unimport: ^1.0.1 + unplugin: ^1.0.0 + peerDependencies: + "@vueuse/core": "*" + peerDependenciesMeta: + "@vueuse/core": + optional: true + checksum: b9098fd9c152063dce6cc3552e765166fce402a1be5d76863861c41dc6c2d9686c7d352f9335b8232262cddae56212b0f8af121df9a19b2b6ea850a1a6a93b91 + languageName: node + linkType: hard + +"unplugin@npm:^1.0.0, unplugin@npm:^1.0.1": + version: 1.0.1 + resolution: "unplugin@npm:1.0.1" + dependencies: + acorn: ^8.8.1 + chokidar: ^3.5.3 + webpack-sources: ^3.2.3 + webpack-virtual-modules: ^0.5.0 + checksum: b6bf00dcc79e71cd55d2b4dd39ec7c8ec40b071dc10c14e29095df5dccb13ad0ca1cf14e5da38bb16b8704f8eface750b7a3be9ee7ca2574ce31096ee966b356 + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -8888,6 +9889,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"url@npm:^0.11.0": + version: 0.11.0 + resolution: "url@npm:0.11.0" + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + checksum: 50d100d3dd2d98b9fe3ada48cadb0b08aa6be6d3ac64112b867b56b19be4bfcba03c2a9a0d7922bfd7ac17d4834e88537749fe182430dfd9b68e520175900d90 + languageName: node + linkType: hard + "use-callback-ref@npm:^1.2.5": version: 1.2.5 resolution: "use-callback-ref@npm:1.2.5" @@ -8939,6 +9950,28 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"util@npm:^0.10.3": + version: 0.10.4 + resolution: "util@npm:0.10.4" + dependencies: + inherits: 2.0.3 + checksum: 913f9a90d05a60e91f91af01b8bd37e06bca4cc02d7b49e01089f9d5b78be2fffd61fb1a41b517de7238c5fc7337fa939c62d1fb4eb82e014894c7bee6637aaf + languageName: node + linkType: hard + +"util@npm:^0.12.0, util@npm:^0.12.4": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: ^2.0.3 + is-arguments: ^1.0.4 + is-generator-function: ^1.0.7 + is-typed-array: ^1.1.3 + which-typed-array: ^1.1.2 + checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -8957,6 +9990,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"vm-browserify@npm:^1.1.2": + version: 1.1.2 + resolution: "vm-browserify@npm:1.1.2" + checksum: 10a1c50aab54ff8b4c9042c15fc64aefccce8d2fb90c0640403242db0ee7fb269f9b102bdb69cfb435d7ef3180d61fd4fb004a043a12709abaf9056cfd7e039d + languageName: node + linkType: hard + "w3c-hr-time@npm:^1.0.2": version: 1.0.2 resolution: "w3c-hr-time@npm:1.0.2" @@ -9021,6 +10061,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 + languageName: node + linkType: hard + +"webpack-virtual-modules@npm:^0.5.0": + version: 0.5.0 + resolution: "webpack-virtual-modules@npm:0.5.0" + checksum: 22b59257b55c89d11ae295b588b683ee9fdf3aeb591bc7b6f88ac1d69cb63f4fcb507666ea986866dfae161a1fa534ad6fb4e2ea91bbcd0a6d454368d7d4c64b + languageName: node + linkType: hard + "websocket@npm:^1.0.34": version: 1.0.34 resolution: "websocket@npm:1.0.34" @@ -9086,6 +10140,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"which-typed-array@npm:^1.1.2": + version: 1.1.9 + resolution: "which-typed-array@npm:1.1.9" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + is-typed-array: ^1.1.10 + checksum: fe0178ca44c57699ca2c0e657b64eaa8d2db2372a4e2851184f568f98c478ae3dc3fdb5f7e46c384487046b0cf9e23241423242b277e03e8ba3dabc7c84c98ef + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -9187,6 +10255,46 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"xtend@npm:^2.2.0": + version: 2.2.0 + resolution: "xtend@npm:2.2.0" + checksum: 9fcd1ddabefdb3c68a698b08177525ad14a6df3423b13bad9a53900d19374e476a43c219b0756d39675776b2326a35fe477c547cfb8a05ae9fea4ba2235bebe2 + languageName: node + linkType: hard + +"xtend@npm:^4.0.2": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a + languageName: node + linkType: hard + +"xtend@npm:~2.0.4": + version: 2.0.6 + resolution: "xtend@npm:2.0.6" + dependencies: + is-object: ~0.1.2 + object-keys: ~0.2.0 + checksum: 414531e51cbc56d4676ae2b3a4070052e0c7a36caf7ee74f2e8449fe0fc1752b971a776fca5b85ec02ef3d0a33b8e75491d900474b8407f3f4bba3f49325a785 + languageName: node + linkType: hard + +"xtend@npm:~2.1.2": + version: 2.1.2 + resolution: "xtend@npm:2.1.2" + dependencies: + object-keys: ~0.4.0 + checksum: a8b79f31502c163205984eaa2b196051cd2fab0882b49758e30f2f9018255bc6c462e32a090bf3385d1bda04755ad8cc0052a09e049b0038f49eb9b950d9c447 + languageName: node + linkType: hard + +"xtend@npm:~3.0.0": + version: 3.0.0 + resolution: "xtend@npm:3.0.0" + checksum: ecdc4dd74f26e561dbc13d4148fcc7b8f46f49b9259862fc31e42b7cede9eee62af9d869050a7b8e089475e858744a74ceae3f0da2943755ef712f3277ad2e50 + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" From 314443ce6ca415225a6fbba2c8671c995b889f4a Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Tue, 3 Jan 2023 14:09:18 +0800 Subject: [PATCH 02/17] tsup config --- packages/sdk/package.json | 9 +++++++-- packages/sdk/{tsup.browser.ts => tsup.config.ts} | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) rename packages/sdk/{tsup.browser.ts => tsup.config.ts} (96%) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 6dbb346..3a267d1 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -10,12 +10,17 @@ }, "type": "module", "main": "dist/index.js", - "browser": "browser/index.js", + "exports": { + ".": { + "require": "./dist/index.cjs", + "import": "./dist/index.js" + } + }, "files": [ "dist/*" ], "scripts": { - "build": "yarn build:node && yarn build:browser", + "build": "tsup", "build:node": "tsup --config tsup.node.ts", "build:browser": "tsup --config tsup.browser.ts", "build:proto": "scripts/build_proto.sh", diff --git a/packages/sdk/tsup.browser.ts b/packages/sdk/tsup.config.ts similarity index 96% rename from packages/sdk/tsup.browser.ts rename to packages/sdk/tsup.config.ts index 188867b..c1bfd49 100644 --- a/packages/sdk/tsup.browser.ts +++ b/packages/sdk/tsup.config.ts @@ -8,7 +8,7 @@ export default defineConfig({ buffer: true })], entry: ['src/index.ts'], - outDir: './browser', + outDir: './dist', dts: true, format: ['cjs', 'esm'], ignoreWatch: ['*.test.ts'], From 75428fdc15ed8707b0bbe8762bd8c1009994de1e Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Tue, 3 Jan 2023 14:25:42 +0800 Subject: [PATCH 03/17] update js sdk --- packages/sdk/@types/contract.d.ts | 83 ++++++ packages/sdk/@types/helper.d.ts | 10 + packages/sdk/@types/phat-contract.d.ts | 20 ++ packages/sdk/@types/pink-logger.d.ts | 28 ++ packages/sdk/@types/polkadot-js.d.ts | 353 ++++++++++++++++++++--- packages/sdk/@types/twin.d.ts | 23 ++ packages/sdk/src/certificate.ts | 7 +- packages/sdk/src/create.ts | 115 +++++--- packages/sdk/src/global.d.ts | 2 +- packages/sdk/src/lib/aes-256-gcm.test.ts | 1 + packages/sdk/src/lib/aes-256-gcm.ts | 9 +- packages/sdk/src/lib/types.ts | 4 +- 12 files changed, 564 insertions(+), 91 deletions(-) create mode 100644 packages/sdk/@types/contract.d.ts create mode 100644 packages/sdk/@types/helper.d.ts create mode 100644 packages/sdk/@types/phat-contract.d.ts create mode 100644 packages/sdk/@types/pink-logger.d.ts create mode 100644 packages/sdk/@types/twin.d.ts diff --git a/packages/sdk/@types/contract.d.ts b/packages/sdk/@types/contract.d.ts new file mode 100644 index 0000000..7e1dfe5 --- /dev/null +++ b/packages/sdk/@types/contract.d.ts @@ -0,0 +1,83 @@ +type ContractMetaConstructorArg = { + label: string; + type: { + displayName: string[]; + type: number; + } +} + +type ContractMetaConstructor = { + args: ContractMetaConstructorArg[]; + docs: string[]; + label: string; + payable: boolean; + selector: string; +} + +type ContractCallArgument = { + label: string; + type: { + displayName: string[]; + type: number; + }; +} + +type ContractMetaMessage = { + args: ContractCallArgument[]; + docs: string[]; + label: string; + mutates: boolean; + payable: boolean; + returnType: null | { + displayName: string[]; + type: number; + }; + selector: string; +} + +type ContractMetaStorage = { + struct: { + fields: { + layout: { + cell: { + key: string; + ty: number; + } + } + name: string; + }[] + } +} + +type ContractMetaType = { + id: number; + type: { + def: { + primitive: boolean; + } + } +} + +type ContractMetadata = { + source: { + hash: string; + language: string; + compiler: string; + wasm?: string; + }, + contract: { + name: string; + version: string; + authors: string[]; + }, + V3: { + spec: { + constructors: ContractMetaConstructor[]; + docs: string[]; + events: unknown[]; + messages: ContractMetaMessage[]; + }, + storage: ContractMetaStorage, + types: ContractMetaType[], + } +} \ No newline at end of file diff --git a/packages/sdk/@types/helper.d.ts b/packages/sdk/@types/helper.d.ts new file mode 100644 index 0000000..906453c --- /dev/null +++ b/packages/sdk/@types/helper.d.ts @@ -0,0 +1,10 @@ +type ArrayLengthMutationKeys = 'splice' | 'push' | 'pop' | 'shift' | 'unshift' | number +type ArrayItems> = T extends Array ? TItems : never +type FixedLengthArray = + Pick> + & { [Symbol.iterator]: () => IterableIterator< ArrayItems > } + + +type Pairs = [T1, T2] + +type Nullable = T | null | undefined; \ No newline at end of file diff --git a/packages/sdk/@types/phat-contract.d.ts b/packages/sdk/@types/phat-contract.d.ts new file mode 100644 index 0000000..e0b4349 --- /dev/null +++ b/packages/sdk/@types/phat-contract.d.ts @@ -0,0 +1,20 @@ +interface ClusterInfo { + owner: AccountId, + // @fixme + permission: "Public" | string + systemContract?: string + workers: string[] +} + +interface ContractInfo { + cluster: string + codeIndex: { + wasmCode: string + } + deployer: AccountId + pubkey: string +} + +interface EndpointInfo { + V1: string[] +} \ No newline at end of file diff --git a/packages/sdk/@types/pink-logger.d.ts b/packages/sdk/@types/pink-logger.d.ts new file mode 100644 index 0000000..47098c5 --- /dev/null +++ b/packages/sdk/@types/pink-logger.d.ts @@ -0,0 +1,28 @@ +interface PinkLoggerEvent { + blockNumber: number + contract: string + sequence: number + payload: string + topics: string[] + type: "Event" +} + +interface PinkLoggerMessageOutput { + blockNumber: number + contract: string + sequence: number + nonce: string + origin: string + output: string + type: "MessageOutput" + decoded?: string +} + +type PinkLoggerRecord = PinkLoggerEvent | PinkLoggerMessageOutput + + +interface PinkLoggerResposne { + next: number + records: PinkLoggerRecord[] +} + diff --git a/packages/sdk/@types/polkadot-js.d.ts b/packages/sdk/@types/polkadot-js.d.ts index 6020c08..cf7a99f 100644 --- a/packages/sdk/@types/polkadot-js.d.ts +++ b/packages/sdk/@types/polkadot-js.d.ts @@ -1,45 +1,328 @@ -import type {ApiTypes} from '@polkadot/api/types' -import type {AugmentedQueryAt} from '@polkadot/api/types/storage' -import type {Option, Vec} from '@polkadot/types/codec' -import type {u128} from '@polkadot/types/primitive' -import type {Codec, Observable} from '@polkadot/types/types' -import type { - AccountId32, - H256, - Sr25519Signature, -} from '@polkadot/types/interfaces' +/** + * Polkadot-js API Type Declarations for Parachain APIs. + */ + import type {ApiPromise} from '@polkadot/api' + import type { + ApiTypes, + SubmittableExtrinsic, + AugmentedSubmittable, + MethodResult, + } from '@polkadot/api/types' + import type {Vec, Struct, Option, Int, Tuple} from '@polkadot/types/codec' + import type {bool, u32, u64, u128, Text, Bytes} from '@polkadot/types/primitive' + import type {AccountId, AccountId32, Balance, H256, Sr25519Signature} from '@polkadot/types/interfaces' + import type {Registration} from '@polkadot/types/interfaces/identity' + import type {Observable} from '@polkadot/types/types' + import type { + AugmentedQuery, + AugmentedQueryAt, + } from '@polkadot/api/types/storage' + + declare global { + type PalletPhalaWorldStatusType = string & ( + 'ClaimSpirits' | + 'PurchaseRareOriginOfShells' | + 'PurchasePrimeOriginOfShells' | + 'PreorderOriginOfShells' | + 'LastDayOfSale' + ) + } + + // api.consts + declare module '@polkadot/api/types/consts' { + export interface AugmentedConsts { + pwNftSale: { + minBalanceToClaimSpirit: Balance + primeOriginOfShellPrice: Balance + magicOriginOfShellPrice: Balance + legendaryOriginOfShellPrice: Balance + secondsPerEra: u64 + iterLimit: u32 + } + } + + export interface QueryableConsts + extends AugmentedConsts {} + } + + // api.query + declare module '@polkadot/api/types/storage' { + export interface AugmentedQueries { + pwNftSale: { + overlord: AugmentedQuery< + ApiType, + () => Observable + > + + canClaimSpirits: AugmentedQuery< + ApiType, + () => Observable + > + + canPreorderOriginOfShells: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + canPurchaseRareOriginOfShells: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + canPurchasePrimeOriginOfShells: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + lastDayOfSale: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + originOfShellsInventory: AugmentedQueryAt< + ApiType, + ( + rarity: RarityType, + race?: RaceType + ) => Observable> + > + + originOfShellCollectionId: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + spiritCollectionId: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + era: AugmentedQuery Observable> + + zeroDay: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + originOfShellsMetadata: AugmentedQuery< + ApiType, + (race: RaceType) => Observable + > + + // TODO fixedme + preorders: AugmentedQueryAt< + ApiType, + (orderId?: number) => Observable, + [Int] + > + + ownerHasPreorder: AugmentedQuery< + ApiType, + (account: AccountId32 | string) => Observable + > + + spiritsMetadata: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + } + + pwIncubation: { + shellCollectionId: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + originOfShellFoodStats: AugmentedQueryAt< + ApiType, + (era: number, index?: [number, number]) => Observable, + [Int, Tuple] // eraId, (collectId, nftId) + > + + canStartIncubation: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + + foodByOwners: AugmentedQueryAt< + ApiType, + (account: AccountId32 | string) => Observable, + [Int] // eraId + > + + hatchTimes: AugmentedQueryAt< + ApiType, + (collectionId: CollectionId, nftId: NftId) => Observable + > + + officialHatchTime: AugmentedQuery< + ApiType, + (opts?: unknown) => Observable + > + } -type ContractId = H256 | string + phalaFatContracts: { + contracts: AugmentedQueryAt< + ApiType, + (contractId?: string) => Observable>>, + [string] + > -type ContractClusterId = H256 | string + clusters: AugmentedQueryAt< + ApiType, + (clusterId?: string) => Observable>>, + [string] // H256 / cluster id + > -interface BasicContractInfo extends Codec { - deployer: AccountId32 - cluster: ContractClusterId -} + clusterContracts: AugmentedQueryAt< + ApiType, + (clusterId?: string) => Observable>, + [string] + > -interface ClusterInfo extends Codec { - owner: AccountId32 - permission: unknown // @fixme ClusterPermission - workers: Vec - systemContract: ContractId - gasPrice: u128 - depositPerItem: u128 - depositPerByte: u128 -} + clusterWorkers: AugmentedQueryAt< + ApiType, + (clusterId?: string) => Observable>, + [string] + > + } -declare module '@polkadot/api/types/storage' { - export interface AugmentedQueries { - phalaFatContracts: { - contracts: AugmentedQueryAt< + phalaRegistry: { + contractKeys: AugmentedQueryAt< ApiType, - (contractId?: ContractId) => Observable> + (contractId?: string) => Observable>, + [string] > - clusters: AugmentedQueryAt< + endpoints: AugmentedQueryAt< ApiType, - (clusterId?: ContractClusterId) => Observable> + (workerId?: string) => Observable>>, + [string] > - } - } -} + + gatkeeper: AugmentedQuery< + ApiType, + () => Observable>> + > + } + + uniques: { + account: AugmentedQueryAt< + ApiType, + ( + account: AccountId32 | string, + collectionId: u32 | number, + nftId: u32 + ) => Observable>, + [Text, Int, Int] + > + + // @FIXME + attribute: AugmentedQueryAt< + ApiType, + ( + collectionId: u32 | number, + nftId: u32 | number, + args: unknown + ) => Observable>>, + [Int, Int, Int] + > + } + + system: { + account: AugmentedQueryAt< + ApiType, + (account: AccountId32 | string) => Observable, + [Text, Int, Int] + > + events: QueryableModuleStorageAt; + } + + identity: { + identityOf: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + > + } + + rmrkCore: { + nfts: AugmentedQuery< + ApiType, + ( + collectionId: CollectionId, + nftId: NftId + ) => Observable> + > + + properties: AugmentedQuery< + ApiType, + ( + collectionId: u32 | number, + assetId: u32 | number, + keyName: Bytes | string + ) => Observable> + > + } + } + + export interface QueryableStorage + extends AugmentedQueries {} + } + + // api.tx + declare module '@polkadot/api/types/submittable' { + export interface AugmentedSubmittables { + pwNftSale: { + setStatusType: AugmentedSubmittable< + (status: boolean, StatusType: PalletPhalaWorldStatusType) => SubmittableExtrinsic + > + + redeemSpirit: AugmentedSubmittable< + (signature: SignatureLike) => SubmittableExtrinsic + > + + preorderOriginOfShell: AugmentedSubmittable< + (race: RaceType, career: CareerType) => SubmittableExtrinsic + > + + buyRareOriginOfShell: AugmentedSubmittable< + ( + rarity: RarityType, + race: RaceType, + career: CareerType + ) => SubmittableExtrinsic + > + + buyPrimeOriginOfShell: AugmentedSubmittable< + ( + signature: string, + race: RaceType, + career: CareerType + ) => SubmittableExtrinsic + > + } + + pwIncubation: { + startIncubation: AugmentedSubmittable< + ( + collectionId: CollectionId, + nftId: NftId + ) => SubmittableExtrinsic + > + + feedOriginOfShell: AugmentedSubmittable< + ( + collectionId: CollectionId, + nftId: NftId + ) => SubmittableExtrinsic + > + } + } + + export interface SubmittableExtrinsics + extends AugmentedSubmittables { + (extrinsic: Uint8Array | string): SubmittableExtrinsic + } + } \ No newline at end of file diff --git a/packages/sdk/@types/twin.d.ts b/packages/sdk/@types/twin.d.ts new file mode 100644 index 0000000..cf750cb --- /dev/null +++ b/packages/sdk/@types/twin.d.ts @@ -0,0 +1,23 @@ +import 'twin.macro' +import { css as cssImport } from '@emotion/react' +import { CSSInterpolation } from '@emotion/serialize' +import styledImport from '@emotion/styled' + +declare module 'twin.macro' { + // The styled and css imports + const styled: typeof styledImport + const css: typeof cssImport +} + +declare module 'react' { + // The css prop + interface HTMLAttributes extends DOMAttributes { + css?: CSSInterpolation + tw?: string + } + // The inline svg css prop + interface SVGProps extends SVGProps { + css?: CSSInterpolation + tw?: string + } +} \ No newline at end of file diff --git a/packages/sdk/src/certificate.ts b/packages/sdk/src/certificate.ts index 6ee5af2..5ed64ce 100644 --- a/packages/sdk/src/certificate.ts +++ b/packages/sdk/src/certificate.ts @@ -1,7 +1,9 @@ import type {ApiPromise} from '@polkadot/api' -import type {InjectedAccountWithMeta} from '@polkadot/extension-inject/types' +import type {InjectedAccount, InjectedAccountWithMeta} from '@polkadot/extension-inject/types' import type {KeyringPair} from '@polkadot/keyring/types' import type {Signer} from '@polkadot/types/types' +import type {Signer as InjectedSigner} from '@polkadot/api/types' + import {hexAddPrefix, hexToU8a, u8aToHex} from '@polkadot/util' import {decodeAddress} from '@polkadot/util-crypto' import {sr25519KeypairFromSeed, waitReady} from '@polkadot/wasm-crypto' @@ -20,7 +22,7 @@ interface CertificateBaseParams { } interface CertificateParamsWithSigner extends CertificateBaseParams { - signer: Signer + signer: Signer | InjectedSigner account: InjectedAccountWithMeta } @@ -43,6 +45,7 @@ export const signCertificate = async ( const generatedSeed = hexToU8a(hexAddPrefix(randomHex(32))) const generatedPair = sr25519KeypairFromSeed(generatedSeed) const [secret, pubkey] = [generatedPair.slice(0, 64), generatedPair.slice(64)] + console.log('sign certificate', params) const encodedCertificateBody = api .createType('CertificateBody', { diff --git a/packages/sdk/src/create.ts b/packages/sdk/src/create.ts index 6f8da13..d938e79 100644 --- a/packages/sdk/src/create.ts +++ b/packages/sdk/src/create.ts @@ -1,14 +1,15 @@ import type {ApiPromise} from '@polkadot/api' import type {SubmittableExtrinsic} from '@polkadot/api/types' -import type {Bytes, Compact, u64} from '@polkadot/types-codec' -import type {AccountId, WeightV2} from '@polkadot/types/interfaces' -import type {Codec, ISubmittableResult} from '@polkadot/types/types' +import type {Bytes, u64, Compact} from '@polkadot/types-codec' +import type {AccountId} from '@polkadot/types/interfaces' +import type {Codec} from '@polkadot/types/types' import { hexAddPrefix, hexStripPrefix, hexToU8a, stringToHex, u8aToHex, + BN, } from '@polkadot/util' import { sr25519Agree, @@ -23,7 +24,7 @@ import {decrypt, encrypt} from './lib/aes-256-gcm' import {randomHex} from './lib/hex' import {prpc, pruntime_rpc as pruntimeRpc} from './proto' -export type Query = ( +export type QueryFn = ( encodedQuery: string, certificateData: CertificateData ) => Promise @@ -44,27 +45,43 @@ type CreateEncryptedData = ( agreementKey: Uint8Array ) => EncryptedData -export type Command = (params: { +export type CommandFn = (params: { contractId: string payload: string - deposit: number -}) => SubmittableExtrinsic<'promise', ISubmittableResult> + deposit: BN +}) => SubmittableExtrinsic<'promise'> export interface PhalaInstance { - query: Query - command: Command + query: QueryFn + command: CommandFn } -type CreateFn = (options: { +export interface ContractExecResultWeightV2 extends Codec { + gasConsumedV2?: { + refTime: Compact + proofSize: Compact + } + gasConsumed?: u64 + gasRequiredV2?: { + refTime: Compact + proofSize: Compact + } + gasRequired?: u64 +} + +export interface CreateFnOptions { api: ApiPromise baseURL: string contractId: string - autoDeposit: boolean -}) => Promise<{ + remotePubkey?: string + autoDeposit?: boolean +} + +export interface CreateFnResult { api: ApiPromise sidevmQuery: SidevmQuery instantiate: SidevmQuery -}> +} export const createPruntimeApi = (baseURL: string) => { // Create a http client prepared for protobuf @@ -101,21 +118,17 @@ export const createPruntimeApi = (baseURL: string) => { return pruntimeApi } -export const create: CreateFn = async ({ - api, - baseURL, - contractId, - autoDeposit = false, -}) => { +export async function create({api, baseURL, contractId, remotePubkey, autoDeposit = false}: CreateFnOptions): Promise { await waitReady() const pruntimeApi = createPruntimeApi(baseURL) - // Get public key from remote for encrypting - const {publicKey} = await pruntimeApi.getInfo({}) - - if (!publicKey) throw new Error('No remote pubkey') - const remotePubkey = hexAddPrefix(publicKey) + if (!remotePubkey) { + // Get public key from remote for encrypting + const info = await pruntimeApi.getInfo({}) + if (!info || !info.publicKey) throw new Error('No remote pubkey') + remotePubkey = hexAddPrefix(info.publicKey) + } // Generate a keypair for encryption // NOTE: each instance only has a pre-generated pair now, it maybe better to generate a new keypair every time encrypting @@ -127,13 +140,6 @@ export const create: CreateFn = async ({ hexToU8a(hexAddPrefix(remotePubkey)), sk ) - let gasPrice = 0 - if (autoDeposit) { - const contractInfo = await api.query.phalaFatContracts.contracts(contractId) - const cluster = contractInfo.unwrap().cluster - const clusterInfo = await api.query.phalaFatContracts.clusters(cluster) - gasPrice = clusterInfo.unwrap().gasPrice.toNumber() - } const contractKey = ( await api.query.phalaRegistry.contractKeys(contractId) ).toString() @@ -153,7 +159,15 @@ export const create: CreateFn = async ({ } } - const query: Query = async (encodedQuery, {certificate, pubkey, secret}) => { + let gasPrice = new BN(0) + if (autoDeposit) { + const contractInfo = await api.query.phalaFatContracts.contracts(contractId) + const cluster = contractInfo.unwrap().cluster + const clusterInfo = await api.query.phalaFatContracts.clusters(cluster) + gasPrice = new BN(clusterInfo.unwrap().gasPrice) + } + + const query: QueryFn = async (encodedQuery, {certificate, pubkey, secret}) => { // Encrypt the ContractQuery. const encryptedData = createEncryptedData(encodedQuery, queryAgreementKey) const encodedEncryptedData = api @@ -200,7 +214,7 @@ export const create: CreateFn = async ({ .toHex(), certificateData ) - + const instantiate: SidevmQuery = async (payload, certificateData) => query( api @@ -217,30 +231,38 @@ export const create: CreateFn = async ({ certificateData ) - const command: Command = ({contractId, payload, deposit}) => { + const command: CommandFn = ({contractId, payload, deposit}) => { const encodedPayload = api .createType('CommandPayload', { encrypted: createEncryptedData(payload, commandAgreementKey), }) .toHex() - return api.tx.phalaFatContracts.pushContractMessage( - contractId, - encodedPayload, - deposit - ) + + try { + return api.tx.phalaFatContracts.pushContractMessage( + contractId, + encodedPayload, + deposit + ) + } catch (err) { + return api.tx.phalaMq.pushMessage( + stringToHex(`phala/contract/${hexStripPrefix(contractId)}/command`), + encodedPayload + ) + } } const txContracts = ( dest: AccountId, - value: number, - gas: {refTime: number}, - storageDepositLimit: number, + value: BN, + gas: {refTime: BN}, + storageDepositLimit: BN | undefined, encParams: Uint8Array ) => { - let deposit = 0 + let deposit = new BN(0) if (autoDeposit) { - const gasFee = gas.refTime * gasPrice - deposit = value + gasFee + (storageDepositLimit || 0) + const gasFee = new BN(gas.refTime).mul(gasPrice) + deposit = new BN(value).add(gasFee).add(new BN(storageDepositLimit || 0)) } return command({ contractId: dest.toHex(), @@ -248,6 +270,7 @@ export const create: CreateFn = async ({ .createType('InkCommand', { InkMessage: { nonce: hexAddPrefix(randomHex(32)), + // FIXME: unexpected u8a prefix message: api.createType('Vec', encParams).toHex(), transfer: value, gasLimit: gas.refTime, @@ -255,7 +278,7 @@ export const create: CreateFn = async ({ }, }) .toHex(), - deposit, + deposit }) } diff --git a/packages/sdk/src/global.d.ts b/packages/sdk/src/global.d.ts index c6cf475..a88f6f4 100644 --- a/packages/sdk/src/global.d.ts +++ b/packages/sdk/src/global.d.ts @@ -1,3 +1,3 @@ declare module 'crypto-browserify' { - export * from 'crypto' + export * from 'crypto'; } diff --git a/packages/sdk/src/lib/aes-256-gcm.test.ts b/packages/sdk/src/lib/aes-256-gcm.test.ts index 5e935fe..c4f38a3 100644 --- a/packages/sdk/src/lib/aes-256-gcm.test.ts +++ b/packages/sdk/src/lib/aes-256-gcm.test.ts @@ -1,3 +1,4 @@ +// @ts-nocheck import {encrypt, decrypt} from './aes-256-gcm' const data = '675abfa9aff26fbf3f4a0bd91f513c40644571f86aa2c18d2d284ad68f17fc97' diff --git a/packages/sdk/src/lib/aes-256-gcm.ts b/packages/sdk/src/lib/aes-256-gcm.ts index e6e04a0..8932d39 100644 --- a/packages/sdk/src/lib/aes-256-gcm.ts +++ b/packages/sdk/src/lib/aes-256-gcm.ts @@ -1,5 +1,6 @@ -import {createCipheriv, createDecipheriv} from 'crypto-browserify' -import {hexToU8a, hexAddPrefix, hexStripPrefix} from '@polkadot/util' +import { hexAddPrefix, hexStripPrefix, hexToU8a } from '@polkadot/util' +import { createCipheriv, createDecipheriv } from 'browser-crypto' +import { Buffer } from 'buffer' const ALGO = 'aes-256-gcm' const AUTH_TAG_LENGTH = 32 @@ -17,7 +18,7 @@ const toU8a = (param: Param): Uint8Array => { export const encrypt = (data: string, key: Param, iv: Param): string => { data = hexStripPrefix(data) - const cipher = createCipheriv(ALGO, toU8a(key), toU8a(iv)) + const cipher = createCipheriv(ALGO, toU8a(key), Buffer.from(toU8a(iv)) as unknown as string) const enc = cipher.update(data, 'hex', 'hex') cipher.final() return `${enc}${cipher.getAuthTag().toString('hex')}` @@ -25,7 +26,7 @@ export const encrypt = (data: string, key: Param, iv: Param): string => { export const decrypt = (enc: string, key: Param, iv: Param): string => { enc = hexStripPrefix(enc) - const decipher = createDecipheriv(ALGO, toU8a(key), toU8a(iv)) + const decipher = createDecipheriv(ALGO, toU8a(key), Buffer.from(toU8a(iv)) as unknown as string) const authTag = hexToU8a(hexAddPrefix(enc.slice(-AUTH_TAG_LENGTH))) decipher.setAuthTag(authTag) const data = decipher.update(enc.slice(0, -AUTH_TAG_LENGTH), 'hex', 'hex') diff --git a/packages/sdk/src/lib/types.ts b/packages/sdk/src/lib/types.ts index 64e8525..1975842 100644 --- a/packages/sdk/src/lib/types.ts +++ b/packages/sdk/src/lib/types.ts @@ -24,8 +24,6 @@ export const types: RegistryTypes = { }, }, InkQueryData: { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore _enum: { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore @@ -46,7 +44,7 @@ export const types: RegistryTypes = { deposit: 'u128', transfer: 'u128', }, - }, + } }, InkQuery: { head: 'ContractQueryHead', From 2152a7f195345bac43a9c763bb16793a8d6e63ca Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Tue, 3 Jan 2023 22:42:10 +0800 Subject: [PATCH 04/17] compile browser and node --- packages/sdk/package.json | 20 +++++++++----- packages/sdk/src/lib/aes-256-gcm.ts | 2 +- packages/sdk/src/lib/hex.ts | 2 +- .../sdk/{tsup.config.ts => tsup.browser.ts} | 4 +-- packages/sdk/tsup.node.ts | 1 + yarn.lock | 26 +++++++------------ 6 files changed, 29 insertions(+), 26 deletions(-) rename packages/sdk/{tsup.config.ts => tsup.browser.ts} (86%) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 3a267d1..4f07fb1 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -8,19 +8,26 @@ "url": "https://github.com/Phala-Network/js-sdk.git", "directory": "packages/sdk" }, - "type": "module", - "main": "dist/index.js", + "main": "dist/index", + "browser": "browser/index", "exports": { ".": { - "require": "./dist/index.cjs", - "import": "./dist/index.js" + "import": { + "node": "./dist/index.mjs", + "default": "./browser/index.mjs" + }, + "require": { + "node": "./dist/index.js", + "default": "./browser/index.js" + } } }, "files": [ - "dist/*" + "dist/*", + "browser/*" ], "scripts": { - "build": "tsup", + "build": "npm run build:node && npm run build:browser", "build:node": "tsup --config tsup.node.ts", "build:browser": "tsup --config tsup.browser.ts", "build:proto": "scripts/build_proto.sh", @@ -43,6 +50,7 @@ "rxjs": "^7.5.7" }, "devDependencies": { + "@esbuild-plugins/node-globals-polyfill": "^0.1.1", "@types/node": "^16.11.59", "@typescript-eslint/eslint-plugin": "^5.42.1", "@typescript-eslint/parser": "^5.42.1", diff --git a/packages/sdk/src/lib/aes-256-gcm.ts b/packages/sdk/src/lib/aes-256-gcm.ts index 8932d39..f8c84e8 100644 --- a/packages/sdk/src/lib/aes-256-gcm.ts +++ b/packages/sdk/src/lib/aes-256-gcm.ts @@ -1,5 +1,5 @@ import { hexAddPrefix, hexStripPrefix, hexToU8a } from '@polkadot/util' -import { createCipheriv, createDecipheriv } from 'browser-crypto' +import { createCipheriv, createDecipheriv } from 'crypto-browserify' import { Buffer } from 'buffer' const ALGO = 'aes-256-gcm' diff --git a/packages/sdk/src/lib/hex.ts b/packages/sdk/src/lib/hex.ts index 48c271c..a36894c 100644 --- a/packages/sdk/src/lib/hex.ts +++ b/packages/sdk/src/lib/hex.ts @@ -1,4 +1,4 @@ -import {randomBytes} from 'crypto-browserify' +import { randomBytes } from 'crypto-browserify' export const randomHex = (size = 12): string => randomBytes(size).toString('hex') diff --git a/packages/sdk/tsup.config.ts b/packages/sdk/tsup.browser.ts similarity index 86% rename from packages/sdk/tsup.config.ts rename to packages/sdk/tsup.browser.ts index c1bfd49..7b80bb8 100644 --- a/packages/sdk/tsup.config.ts +++ b/packages/sdk/tsup.browser.ts @@ -8,12 +8,12 @@ export default defineConfig({ buffer: true })], entry: ['src/index.ts'], - outDir: './dist', + outDir: './browser', dts: true, format: ['cjs', 'esm'], ignoreWatch: ['*.test.ts'], target: 'node16', clean: true, platform: 'browser', - noExternal: ['crypto-browserify','protobufjs', 'randombytes'] + noExternal: ['crypto-browserify','protobufjs', 'randomBytes'] }) diff --git a/packages/sdk/tsup.node.ts b/packages/sdk/tsup.node.ts index 4fb6814..6d2d650 100644 --- a/packages/sdk/tsup.node.ts +++ b/packages/sdk/tsup.node.ts @@ -2,6 +2,7 @@ import { defineConfig } from 'tsup'; export default defineConfig({ entry: ['src/index.ts'], + outDir: './dist', dts: true, format: ['cjs', 'esm'], ignoreWatch: ['*.test.ts'], diff --git a/yarn.lock b/yarn.lock index 26ea2b2..3536415 100644 --- a/yarn.lock +++ b/yarn.lock @@ -456,6 +456,15 @@ __metadata: languageName: node linkType: hard +"@esbuild-plugins/node-globals-polyfill@npm:^0.1.1": + version: 0.1.1 + resolution: "@esbuild-plugins/node-globals-polyfill@npm:0.1.1" + peerDependencies: + esbuild: "*" + checksum: 68a41e2c377724e9cd46ca344ad219d289cc41a8b273d0d89bbc82bd90025b067b28234a865d8862a3f38c2a028ca4c93138dfca4e1e75e617efc314156c1ce0 + languageName: node + linkType: hard + "@esbuild-plugins/node-modules-polyfill@npm:^0.1.4": version: 0.1.4 resolution: "@esbuild-plugins/node-modules-polyfill@npm:0.1.4" @@ -947,6 +956,7 @@ __metadata: version: 0.0.0-use.local resolution: "@phala/sdk@workspace:packages/sdk" dependencies: + "@esbuild-plugins/node-globals-polyfill": ^0.1.1 "@esbuild-plugins/node-modules-polyfill": ^0.1.4 "@phala/typedefs": ^0.2.32 "@polkadot/api": ^9.8.1 @@ -954,13 +964,11 @@ __metadata: "@polkadot/util": ^10.1.12 "@polkadot/util-crypto": ^10.1.12 "@polkadot/wasm-crypto": 6.3.1 - "@types/crypto-js": ^4.1.1 "@types/node": ^16.11.59 "@typescript-eslint/eslint-plugin": ^5.42.1 "@typescript-eslint/parser": ^5.42.1 axios: ^0.27.2 crypto-browserify: ^3.12.0 - crypto-js: ^4.1.1 esbuild-plugin-polyfill-node: ^0.1.3 eslint: ^8.23.1 eslint-config-prettier: ^8.5.0 @@ -1911,13 +1919,6 @@ __metadata: languageName: node linkType: hard -"@types/crypto-js@npm:^4.1.1": - version: 4.1.1 - resolution: "@types/crypto-js@npm:4.1.1" - checksum: ea3d6a67b69f88baeb6af96004395903d2367a41bd5cd86306da23a44dd96589749495da50974a9b01bb5163c500764c8a33706831eade036bddae016417e3ea - languageName: node - linkType: hard - "@types/estree@npm:^1.0.0": version: 1.0.0 resolution: "@types/estree@npm:1.0.0" @@ -3377,13 +3378,6 @@ __metadata: languageName: node linkType: hard -"crypto-js@npm:^4.1.1": - version: 4.1.1 - resolution: "crypto-js@npm:4.1.1" - checksum: b3747c12ee3a7632fab3b3e171ea50f78b182545f0714f6d3e7e2858385f0f4101a15f2517e033802ce9d12ba50a391575ff4638c9de3dd9b2c4bc47768d5425 - languageName: node - linkType: hard - "css-in-js-utils@npm:^2.0.0": version: 2.0.1 resolution: "css-in-js-utils@npm:2.0.1" From f60aa4f324dad8c93b3eb333fb45b7bcf500dff4 Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Mon, 9 Jan 2023 14:50:11 +0800 Subject: [PATCH 05/17] Keep a dist folder --- packages/sdk/package.json | 12 ++++++------ packages/sdk/tsup.browser.ts | 2 +- packages/sdk/tsup.node.ts | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 4f07fb1..2ec2a35 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -8,17 +8,17 @@ "url": "https://github.com/Phala-Network/js-sdk.git", "directory": "packages/sdk" }, - "main": "dist/index", - "browser": "browser/index", + "main": "dist/node/index", + "browser": "dist/browser/index", "exports": { ".": { "import": { - "node": "./dist/index.mjs", - "default": "./browser/index.mjs" + "node": "./dist/node/index.mjs", + "default": "./dist/browser/index.mjs" }, "require": { - "node": "./dist/index.js", - "default": "./browser/index.js" + "node": "./dist/node/index.js", + "default": "./dist/browser/index.js" } } }, diff --git a/packages/sdk/tsup.browser.ts b/packages/sdk/tsup.browser.ts index 7b80bb8..bb38630 100644 --- a/packages/sdk/tsup.browser.ts +++ b/packages/sdk/tsup.browser.ts @@ -8,7 +8,7 @@ export default defineConfig({ buffer: true })], entry: ['src/index.ts'], - outDir: './browser', + outDir: './dist/browser', dts: true, format: ['cjs', 'esm'], ignoreWatch: ['*.test.ts'], diff --git a/packages/sdk/tsup.node.ts b/packages/sdk/tsup.node.ts index 6d2d650..8067ec8 100644 --- a/packages/sdk/tsup.node.ts +++ b/packages/sdk/tsup.node.ts @@ -2,7 +2,7 @@ import { defineConfig } from 'tsup'; export default defineConfig({ entry: ['src/index.ts'], - outDir: './dist', + outDir: './dist/node', dts: true, format: ['cjs', 'esm'], ignoreWatch: ['*.test.ts'], From 35af881d28b605898fcbe076467a3d36ba14330b Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Mon, 9 Jan 2023 15:06:02 +0800 Subject: [PATCH 06/17] yarn lock remove @phala/sdk --- packages/sdk/package.json | 2 +- yarn.lock | 1039 +------------------------------------ 2 files changed, 7 insertions(+), 1034 deletions(-) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 2ec2a35..fecb356 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -63,4 +63,4 @@ "engines": { "node": ">=16" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 3536415..3561772 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,13 +14,6 @@ __metadata: languageName: node linkType: hard -"@antfu/utils@npm:^0.7.0": - version: 0.7.2 - resolution: "@antfu/utils@npm:0.7.2" - checksum: ada98dde0a06bc10129ad7bc9d0007c1cf7e36eeb9e8ca93ea5173bc1e1d351afee8511c9e8e182b3105b787ce0ce813afc4ab283b511374f1e56a085f60a2c6 - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7": version: 7.16.7 resolution: "@babel/code-frame@npm:7.16.7" @@ -777,13 +770,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.13": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 - languageName: node - linkType: hard - "@jridgewell/trace-mapping@npm:0.3.9, @jridgewell/trace-mapping@npm:^0.3.0": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -952,7 +938,7 @@ __metadata: languageName: node linkType: hard -"@phala/sdk@workspace:packages/sdk": +"@phala/sdk@workspace:^, @phala/sdk@workspace:packages/sdk": version: 0.0.0-use.local resolution: "@phala/sdk@workspace:packages/sdk" dependencies: @@ -969,7 +955,6 @@ __metadata: "@typescript-eslint/parser": ^5.42.1 axios: ^0.27.2 crypto-browserify: ^3.12.0 - esbuild-plugin-polyfill-node: ^0.1.3 eslint: ^8.23.1 eslint-config-prettier: ^8.5.0 eslint-plugin-prettier: ^4.2.1 @@ -1728,22 +1713,6 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.2": - version: 5.0.2 - resolution: "@rollup/pluginutils@npm:5.0.2" - dependencies: - "@types/estree": ^1.0.0 - estree-walker: ^2.0.2 - picomatch: ^2.3.1 - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: edea15e543bebc7dcac3b0ac8bc7b8e8e6dbd46e2864dbe5dd28072de1fbd5b0e10d545a610c0edaa178e8a7ac432e2a2a52e547ece1308471412caba47db8ce - languageName: node - linkType: hard - "@rtsao/csstype@npm:2.6.5-forked.0": version: 2.6.5-forked.0 resolution: "@rtsao/csstype@npm:2.6.5-forked.0" @@ -1919,13 +1888,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.0": - version: 1.0.0 - resolution: "@types/estree@npm:1.0.0" - checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 - languageName: node - linkType: hard - "@types/graceful-fs@npm:^4.1.2": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -2241,24 +2203,6 @@ __metadata: languageName: node linkType: hard -"abort-controller@npm:^3.0.0": - version: 3.0.0 - resolution: "abort-controller@npm:3.0.0" - dependencies: - event-target-shim: ^5.0.0 - checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 - languageName: node - linkType: hard - -"abstract-leveldown@npm:~0.12.0, abstract-leveldown@npm:~0.12.1": - version: 0.12.4 - resolution: "abstract-leveldown@npm:0.12.4" - dependencies: - xtend: ~3.0.0 - checksum: e300f04bb638cc9c462f6e8fa925672e51beb24c1470c39ece709e54f2f499661ac5fe0119175c7dcb6e32c843423d6960009d4d24e72526478b261163e8070b - languageName: node - linkType: hard - "acorn-globals@npm:^6.0.0": version: 6.0.0 resolution: "acorn-globals@npm:6.0.0" @@ -2310,15 +2254,6 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.8.1": - version: 8.8.1 - resolution: "acorn@npm:8.8.1" - bin: - acorn: bin/acorn - checksum: 4079b67283b94935157698831967642f24a075c52ce3feaaaafe095776dfbe15d86a1b33b1e53860fc0d062ed6c83f4284a5c87c85b9ad51853a01173da6097f - languageName: node - linkType: hard - "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -2538,18 +2473,6 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.0.0": - version: 2.0.0 - resolution: "assert@npm:2.0.0" - dependencies: - es6-object-assign: ^1.1.0 - is-nan: ^1.2.1 - object-is: ^1.0.1 - util: ^0.12.0 - checksum: bb91f181a86d10588ee16c5e09c280f9811373974c29974cbe401987ea34e966699d7989a812b0e19377b511ea0bc627f5905647ce569311824848ede382cae8 - languageName: node - linkType: hard - "ast-types-flow@npm:^0.0.7": version: 0.0.7 resolution: "ast-types-flow@npm:0.0.7" @@ -2573,13 +2496,6 @@ __metadata: languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.5": - version: 1.0.5 - resolution: "available-typed-arrays@npm:1.0.5" - checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a - languageName: node - linkType: hard - "axe-core@npm:^4.3.5": version: 4.3.5 resolution: "axe-core@npm:4.3.5" @@ -2688,13 +2604,6 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 - languageName: node - linkType: hard - "baseui@npm:^11.1.1": version: 11.1.1 resolution: "baseui@npm:11.1.1" @@ -2737,15 +2646,6 @@ __metadata: languageName: node linkType: hard -"bl@npm:~0.8.1": - version: 0.8.2 - resolution: "bl@npm:0.8.2" - dependencies: - readable-stream: ~1.0.26 - checksum: 18767c5c861ae1cdbb000bb346e9e8e29137225e8eef97f39db78beeb236beca609f465580c5c1b177d621505f57400834fb4a17a66d264f33a0237293ec2ac5 - languageName: node - linkType: hard - "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" @@ -2830,17 +2730,6 @@ __metadata: languageName: node linkType: hard -"browserify-fs@npm:^1.0.0": - version: 1.0.0 - resolution: "browserify-fs@npm:1.0.0" - dependencies: - level-filesystem: ^1.0.1 - level-js: ^2.1.3 - levelup: ^0.18.2 - checksum: e0c35cf42c839c0a217048b1671d91ee6e53fd05f163db4f809e46c2f6264f784768e7c850abc200b0eaca378d42e00e01876eda21fd84fc0a4280bd6200a9c3 - languageName: node - linkType: hard - "browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": version: 4.1.0 resolution: "browserify-rsa@npm:4.1.0" @@ -2868,15 +2757,6 @@ __metadata: languageName: node linkType: hard -"browserify-zlib@npm:^0.2.0": - version: 0.2.0 - resolution: "browserify-zlib@npm:0.2.0" - dependencies: - pako: ~1.0.5 - checksum: 5cd9d6a665190fedb4a97dfbad8dabc8698d8a507298a03f42c734e96d58ca35d3c7d4085e283440bbca1cd1938cff85031728079bedb3345310c58ab1ec92d6 - languageName: node - linkType: hard - "browserslist@npm:^4.17.5": version: 4.19.1 resolution: "browserslist@npm:4.19.1" @@ -2910,13 +2790,6 @@ __metadata: languageName: node linkType: hard -"buffer-es6@npm:^4.9.3": - version: 4.9.3 - resolution: "buffer-es6@npm:4.9.3" - checksum: dfc8ebb3c5c00166e6f81e6ec7ea876693ea6197a8d0b07b1a17482ffab0e5d3307bfb539f84862b1ae35cd70ad03835db0f3c7dc4e337cbd16c50bb4c7e5df7 - languageName: node - linkType: hard - "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -2931,16 +2804,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: ^1.3.1 - ieee754: ^1.2.1 - checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 - languageName: node - linkType: hard - "bufferutil@npm:^4.0.1": version: 4.0.3 resolution: "bufferutil@npm:4.0.3" @@ -2951,13 +2814,6 @@ __metadata: languageName: node linkType: hard -"builtin-status-codes@npm:^3.0.0": - version: 3.0.0 - resolution: "builtin-status-codes@npm:3.0.0" - checksum: 1119429cf4b0d57bf76b248ad6f529167d343156ebbcc4d4e4ad600484f6bc63002595cbb61b67ad03ce55cd1d3c4711c03bbf198bf24653b8392420482f3773 - languageName: node - linkType: hard - "bundle-require@npm:^3.1.2": version: 3.1.2 resolution: "bundle-require@npm:3.1.2" @@ -3076,7 +2932,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.5.1, chokidar@npm:^3.5.3": +"chokidar@npm:^3.5.1": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -3144,13 +3000,6 @@ __metadata: languageName: node linkType: hard -"clone@npm:~0.1.9": - version: 0.1.19 - resolution: "clone@npm:0.1.19" - checksum: 5e710e16da67abe30c0664c8fd69c280635be59a4fae0a5fe58ed324e701e99348b48ce67288716fa223edd42ba574e58a3783cb2fcfa381b8b49ce7e56ac3f4 - languageName: node - linkType: hard - "clsx@npm:^1.0.4": version: 1.1.1 resolution: "clsx@npm:1.1.1" @@ -3241,25 +3090,6 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:^1.4.4": - version: 1.6.2 - resolution: "concat-stream@npm:1.6.2" - dependencies: - buffer-from: ^1.0.0 - inherits: ^2.0.3 - readable-stream: ^2.2.2 - typedarray: ^0.0.6 - checksum: 1ef77032cb4459dcd5187bd710d6fc962b067b64ec6a505810de3d2b8cc0605638551b42f8ec91edf6fcd26141b32ef19ad749239b58fae3aba99187adc32285 - languageName: node - linkType: hard - -"console-browserify@npm:^1.2.0": - version: 1.2.0 - resolution: "console-browserify@npm:1.2.0" - checksum: 226591eeff8ed68e451dffb924c1fb750c654d54b9059b3b261d360f369d1f8f70650adecf2c7136656236a4bfeb55c39281b5d8a55d792ebbb99efd3d848d52 - languageName: node - linkType: hard - "console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -3845,15 +3675,6 @@ __metadata: languageName: node linkType: hard -"deferred-leveldown@npm:~0.2.0": - version: 0.2.0 - resolution: "deferred-leveldown@npm:0.2.0" - dependencies: - abstract-leveldown: ~0.12.1 - checksum: f7690ec5b1e951e6f56998be26dd0a1331ef28cb7eaa9e090a282780d47dc006effd4b82a2a82b636cae801378047997aca10c0b44b09c8624633cdb96b07913 - languageName: node - linkType: hard - "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" @@ -3978,13 +3799,6 @@ __metadata: languageName: node linkType: hard -"domain-browser@npm:^4.22.0": - version: 4.22.0 - resolution: "domain-browser@npm:4.22.0" - checksum: e7ce1c19073e17dec35cfde050a3ddaac437d3ba8b870adabf9d5682e665eab3084df05de432dedf25b34303f0a2c71ac30f1cdba61b1aea018047b10de3d988 - languageName: node - linkType: hard - "domexception@npm:^2.0.1": version: 2.0.1 resolution: "domexception@npm:2.0.1" @@ -4025,13 +3839,6 @@ __metadata: languageName: node linkType: hard -"emitter-component@npm:^1.1.1": - version: 1.1.1 - resolution: "emitter-component@npm:1.1.1" - checksum: 10e907f507a8c16a318e07595119e58b5c3267528d4e3b962ee9b14fd83c97599e7931ccb983ec551a8de8116955c1d6ae7d213c5b0c920b62c02b7cb8d7a4d7 - languageName: node - linkType: hard - "emittery@npm:^0.8.1": version: 0.8.1 resolution: "emittery@npm:0.8.1" @@ -4076,17 +3883,6 @@ __metadata: languageName: node linkType: hard -"errno@npm:^0.1.1, errno@npm:~0.1.1": - version: 0.1.8 - resolution: "errno@npm:0.1.8" - dependencies: - prr: ~1.0.1 - bin: - errno: cli.js - checksum: 1271f7b9fbb3bcbec76ffde932485d1e3561856d21d847ec613a9722ee924cdd4e523a62dc71a44174d91e898fe21fdc8d5b50823f4b5e0ce8c35c8271e6ef4a - languageName: node - linkType: hard - "error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" @@ -4169,13 +3965,6 @@ __metadata: languageName: node linkType: hard -"es6-object-assign@npm:^1.1.0": - version: 1.1.0 - resolution: "es6-object-assign@npm:1.1.0" - checksum: 8d4fdf63484d78b5c64cacc2c2e1165bc7b6a64b739d2a9db6a4dc8641d99cc9efb433cdd4dc3d3d6b00bfa6ce959694e4665e3255190339945c5f33b692b5d8 - languageName: node - linkType: hard - "es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3": version: 3.1.3 resolution: "es6-symbol@npm:3.1.3" @@ -4300,40 +4089,6 @@ __metadata: languageName: node linkType: hard -"esbuild-plugin-polyfill-node@npm:^0.1.3": - version: 0.1.3 - resolution: "esbuild-plugin-polyfill-node@npm:0.1.3" - dependencies: - assert: ^2.0.0 - browserify-fs: ^1.0.0 - browserify-zlib: ^0.2.0 - buffer-es6: ^4.9.3 - console-browserify: ^1.2.0 - crypto-browserify: ^3.12.0 - domain-browser: ^4.22.0 - events: ^3.3.0 - import-meta-resolve: ^2.1.0 - os-browserify: ^0.3.0 - path: ^0.12.7 - process-es6: ^0.11.6 - punycode: ^2.1.1 - querystring: ^0.2.1 - readable-stream: ^4.2.0 - stream: ^0.0.2 - stream-http: ^3.2.0 - string_decoder: ^1.3.0 - timers-browserify: ^2.0.12 - tty-browserify: ^0.0.1 - unplugin-auto-import: ^0.11.2 - url: ^0.11.0 - util: ^0.12.4 - vm-browserify: ^1.1.2 - peerDependencies: - esbuild: "*" - checksum: e1a1e87211fca8db38fe3522a47022adbdb4f1b8b74e255686e1dce00008c57b31afd6359eee66bb1d89156697199887b1a7021f3fe720bd531fe8e61d8e5ac8 - languageName: node - linkType: hard - "esbuild-sunos-64@npm:0.15.8": version: 0.15.8 resolution: "esbuild-sunos-64@npm:0.15.8" @@ -4476,13 +4231,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e - languageName: node - linkType: hard - "escodegen@npm:^2.0.0": version: 2.0.0 resolution: "escodegen@npm:2.0.0" @@ -4830,13 +4578,6 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^2.0.2": - version: 2.0.2 - resolution: "estree-walker@npm:2.0.2" - checksum: 6151e6f9828abe2259e57f5fd3761335bb0d2ebd76dc1a01048ccee22fabcfef3c0859300f6d83ff0d1927849368775ec5a6d265dde2f6de5a1be1721cd94efc - languageName: node - linkType: hard - "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -4844,13 +4585,6 @@ __metadata: languageName: node linkType: hard -"event-target-shim@npm:^5.0.0": - version: 5.0.1 - resolution: "event-target-shim@npm:5.0.1" - checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 - languageName: node - linkType: hard - "eventemitter3@npm:^4.0.7": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -4858,13 +4592,6 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.3.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 - languageName: node - linkType: hard - "evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": version: 1.0.3 resolution: "evp_bytestokey@npm:1.0.3" @@ -4880,7 +4607,7 @@ __metadata: version: 0.0.0-use.local resolution: "example@workspace:packages/example" dependencies: - "@phala/sdk": "workspace:packages/sdk" + "@phala/sdk": "workspace:^" "@phala/typedefs": ^0.2.32 "@polkadot/api": ^9.8.1 "@polkadot/api-contract": ^9.8.1 @@ -4966,19 +4693,6 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" - dependencies: - "@nodelib/fs.stat": ^2.0.2 - "@nodelib/fs.walk": ^1.2.3 - glob-parent: ^5.1.2 - merge2: ^1.3.0 - micromatch: ^4.0.4 - checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 - languageName: node - linkType: hard - "fast-glob@npm:^3.2.9": version: 3.2.11 resolution: "fast-glob@npm:3.2.11" @@ -5126,22 +4840,6 @@ __metadata: languageName: node linkType: hard -"for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" - dependencies: - is-callable: ^1.1.3 - checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 - languageName: node - linkType: hard - -"foreach@npm:~2.0.1": - version: 2.0.6 - resolution: "foreach@npm:2.0.6" - checksum: f7b68494545ee41cbd0b0425ebf5386c265dc38ef2a9b0d5cd91a1b82172e939b4cf9387f8e0ebf6db4e368fc79ed323f2198424d5c774515ac3ed9b08901c0e - languageName: node - linkType: hard - "form-data@npm:^3.0.0": version: 3.0.1 resolution: "form-data@npm:3.0.1" @@ -5234,15 +4932,6 @@ __metadata: languageName: node linkType: hard -"fwd-stream@npm:^1.0.4": - version: 1.0.4 - resolution: "fwd-stream@npm:1.0.4" - dependencies: - readable-stream: ~1.0.26-4 - checksum: db4dcf68f214b3fabd6cd9658630dfd1d7ed8d43f7f45408027a90220cd75276e782d1e958821775d7a3a4a83034778e75a097bdc7002c758e8896f76213c65d - languageName: node - linkType: hard - "gauge@npm:~2.7.3": version: 2.7.4 resolution: "gauge@npm:2.7.4" @@ -5284,17 +4973,6 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.1.3": - version: 1.1.3 - resolution: "get-intrinsic@npm:1.1.3" - dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 - has-symbols: ^1.0.3 - checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a - languageName: node - linkType: hard - "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -5409,15 +5087,6 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: ^1.1.3 - checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 - languageName: node - linkType: hard - "graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.9 resolution: "graceful-fs@npm:4.2.9" @@ -5611,20 +5280,6 @@ __metadata: languageName: node linkType: hard -"idb-wrapper@npm:^1.5.0": - version: 1.7.2 - resolution: "idb-wrapper@npm:1.7.2" - checksum: a5fa3a771166205e2d5d2b93c66bd31571dada3526b59bc0f8583efb091b6b327125f1a964a25a281b85ef1c44af10a3c511652632ad3adf8229a161132d66ae - languageName: node - linkType: hard - -"ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e - languageName: node - linkType: hard - "ignore@npm:^5.2.0": version: 5.2.0 resolution: "ignore@npm:5.2.0" @@ -5654,13 +5309,6 @@ __metadata: languageName: node linkType: hard -"import-meta-resolve@npm:^2.1.0": - version: 2.2.0 - resolution: "import-meta-resolve@npm:2.2.0" - checksum: 35a012c07bdaaed907ad150021b47a4bd8b2c77c88f02a2c5a15a5cb5c146072a94b6633cc528eaccf187bca12196c0fb2ff44a54b3b2a03bcf200511b3f1e50 - languageName: node - linkType: hard - "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -5675,13 +5323,6 @@ __metadata: languageName: node linkType: hard -"indexof@npm:~0.0.1": - version: 0.0.1 - resolution: "indexof@npm:0.0.1" - checksum: 0fb04e8b147b8585d981a6df1564f25bb3678d6fa74e33e5cecc1464b10f78e15e8ef6bb688f135fe5c2844a128fac8a7831cbe5adc81fdcf12681b093dfcc25 - languageName: node - linkType: hard - "infer-owner@npm:^1.0.4": version: 1.0.4 resolution: "infer-owner@npm:1.0.4" @@ -5699,20 +5340,13 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 languageName: node linkType: hard -"inherits@npm:2.0.3": - version: 2.0.3 - resolution: "inherits@npm:2.0.3" - checksum: 78cb8d7d850d20a5e9a7f3620db31483aa00ad5f722ce03a55b110e5a723539b3716a3b463e2b96ce3fe286f33afc7c131fa2f91407528ba80cea98a7545d4c0 - languageName: node - linkType: hard - "inline-style-prefixer@npm:^5.1.0": version: 5.1.2 resolution: "inline-style-prefixer@npm:5.1.2" @@ -5756,16 +5390,6 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": - version: 1.1.1 - resolution: "is-arguments@npm:1.1.1" - dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -5801,13 +5425,6 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3": - version: 1.2.7 - resolution: "is-callable@npm:1.2.7" - checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac - languageName: node - linkType: hard - "is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": version: 1.2.4 resolution: "is-callable@npm:1.2.4" @@ -5870,15 +5487,6 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.7": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" - dependencies: - has-tostringtag: ^1.0.0 - checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b - languageName: node - linkType: hard - "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -5895,16 +5503,6 @@ __metadata: languageName: node linkType: hard -"is-nan@npm:^1.2.1": - version: 1.3.2 - resolution: "is-nan@npm:1.3.2" - dependencies: - call-bind: ^1.0.0 - define-properties: ^1.1.3 - checksum: 5dfadcef6ad12d3029d43643d9800adbba21cf3ce2ec849f734b0e14ee8da4070d82b15fdb35138716d02587c6578225b9a22779cab34888a139cc43e4e3610a - languageName: node - linkType: hard - "is-negative-zero@npm:^2.0.2": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" @@ -5928,13 +5526,6 @@ __metadata: languageName: node linkType: hard -"is-object@npm:~0.1.2": - version: 0.1.2 - resolution: "is-object@npm:0.1.2" - checksum: 7e500b15f4748278ea0a8d43b1283e75e866c055e4a790389087ce652eab8a9343fd74710738f0fdf13a323c31330d65bdcc106f38e9bb7bc0b9c60ae3fd2a2d - languageName: node - linkType: hard - "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -5986,19 +5577,6 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3": - version: 1.1.10 - resolution: "is-typed-array@npm:1.1.10" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 - languageName: node - linkType: hard - "is-typedarray@npm:^1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -6015,20 +5593,6 @@ __metadata: languageName: node linkType: hard -"is@npm:~0.2.6": - version: 0.2.7 - resolution: "is@npm:0.2.7" - checksum: 45cea1e6deb41150b5753e18041a833657313e9c791c73f96fb9014b613346f5af2e6650858ef50ea6262c79555b65e09b13d30a268139863885025dd65f1059 - languageName: node - linkType: hard - -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 - languageName: node - linkType: hard - "isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -6036,13 +5600,6 @@ __metadata: languageName: node linkType: hard -"isbuffer@npm:~0.0.0": - version: 0.0.0 - resolution: "isbuffer@npm:0.0.0" - checksum: 9796296d3c493974c1f71ccf3170cc8007217a19ce8b3b9dedffd32e8ccc3ac42473b572bbf1b24b86143e826ea157aead11fd1285389518abab76c7da5f50ed - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -6778,13 +6335,6 @@ __metadata: languageName: node linkType: hard -"jsonc-parser@npm:^3.2.0": - version: 3.2.0 - resolution: "jsonc-parser@npm:3.2.0" - checksum: 946dd9a5f326b745aa326d48a7257e3f4a4b62c5e98ec8e49fa2bdd8d96cef7e6febf1399f5c7016114fd1f68a1c62c6138826d5d90bc650448e3cf0951c53c7 - languageName: node - linkType: hard - "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.2.1": version: 3.2.1 resolution: "jsx-ast-utils@npm:3.2.1" @@ -6825,109 +6375,6 @@ __metadata: languageName: node linkType: hard -"level-blobs@npm:^0.1.7": - version: 0.1.7 - resolution: "level-blobs@npm:0.1.7" - dependencies: - level-peek: 1.0.6 - once: ^1.3.0 - readable-stream: ^1.0.26-4 - checksum: e3cf78ef0bc64ff350edb4e247b2689cd4f5facf1119694ca8c96c28a05a38dc9d88e0bd065b18af65330bc22f5d588719a5c3e63adaa5feba5ea7913f87bebe - languageName: node - linkType: hard - -"level-filesystem@npm:^1.0.1": - version: 1.2.0 - resolution: "level-filesystem@npm:1.2.0" - dependencies: - concat-stream: ^1.4.4 - errno: ^0.1.1 - fwd-stream: ^1.0.4 - level-blobs: ^0.1.7 - level-peek: ^1.0.6 - level-sublevel: ^5.2.0 - octal: ^1.0.0 - once: ^1.3.0 - xtend: ^2.2.0 - checksum: a29e6a9d8c1879d43610113d1bcb59368685ec0ae413fcf0f8dcbb0a0c26b88fcf16f7481acb2b4650e5951ba0635e73a2c8fbe25cd599c50f80949a5547a367 - languageName: node - linkType: hard - -"level-fix-range@npm:2.0": - version: 2.0.0 - resolution: "level-fix-range@npm:2.0.0" - dependencies: - clone: ~0.1.9 - checksum: 250cefa69e1035d1412b4ba3e5cab83cceb894aa833fb0a93417d8d6230c60f6f8154feffbd0f116461ddd441b909e7df1323355d3e1769b3bb20a55729145b5 - languageName: node - linkType: hard - -"level-fix-range@npm:~1.0.2": - version: 1.0.2 - resolution: "level-fix-range@npm:1.0.2" - checksum: 6c9a3894ea08947fae79c41b75e8b9d57979523b656bec43c589f2dc4455276a150df445d9a7ca880a7c58c2ef19f5cea7f661d777993b870f4943af6b31d5bb - languageName: node - linkType: hard - -"level-hooks@npm:>=4.4.0 <5": - version: 4.5.0 - resolution: "level-hooks@npm:4.5.0" - dependencies: - string-range: ~1.2 - checksum: f198ad2e0901a4719e324e67f546097589af79665ebaaabee7122fda18a41ada3158bb1816b8b82430f30c68610125e4e20b5c09ec3ba7ae262d97dba34f48ab - languageName: node - linkType: hard - -"level-js@npm:^2.1.3": - version: 2.2.4 - resolution: "level-js@npm:2.2.4" - dependencies: - abstract-leveldown: ~0.12.0 - idb-wrapper: ^1.5.0 - isbuffer: ~0.0.0 - ltgt: ^2.1.2 - typedarray-to-buffer: ~1.0.0 - xtend: ~2.1.2 - checksum: 4fed784fcfad4bc6ec97d9c3897e95eaa30326fcdab9f4c7437624d10fa875fa84aafcc2acac0d53181af506cbc012c03f413b4da12ff83758d3bcbb699f8c8e - languageName: node - linkType: hard - -"level-peek@npm:1.0.6, level-peek@npm:^1.0.6": - version: 1.0.6 - resolution: "level-peek@npm:1.0.6" - dependencies: - level-fix-range: ~1.0.2 - checksum: e07d5f8b80675727204d9a226a249139da9e354e633b9d57b7a5186a7b85be445e550ca628f5133bf7a220a9311a193ded5a3f83588dc4eaa53ffb86b426154a - languageName: node - linkType: hard - -"level-sublevel@npm:^5.2.0": - version: 5.2.3 - resolution: "level-sublevel@npm:5.2.3" - dependencies: - level-fix-range: 2.0 - level-hooks: ">=4.4.0 <5" - string-range: ~1.2.1 - xtend: ~2.0.4 - checksum: f0fdffc2f9ca289aa183a1bf7f300a8f92e4f01be60eab37ab36e1f6ec33ed449519d8f69504a616e82f3ddca13a15fa4e19af1dcc1beba9044a4c60b6cd94bf - languageName: node - linkType: hard - -"levelup@npm:^0.18.2": - version: 0.18.6 - resolution: "levelup@npm:0.18.6" - dependencies: - bl: ~0.8.1 - deferred-leveldown: ~0.2.0 - errno: ~0.1.1 - prr: ~0.0.0 - readable-stream: ~1.0.26 - semver: ~2.3.1 - xtend: ~3.0.0 - checksum: 80e140dd83dc94050e283fc02874ae85116cb560d81e14fee0ac111f86006887835ec905dca7a081414c07eca202245a580f1e02f696367b777ecc23a9e05b86 - languageName: node - linkType: hard - "leven@npm:^3.1.0": version: 3.1.0 resolution: "leven@npm:3.1.0" @@ -6976,13 +6423,6 @@ __metadata: languageName: node linkType: hard -"local-pkg@npm:^0.4.2": - version: 0.4.2 - resolution: "local-pkg@npm:0.4.2" - checksum: 22be451353c25c4411b552bf01880ebc9e995b93574b2facc7757968d888356df59199cacada14162ab53bbc9da055bb692c907b4171f008dbce45a2afc777c1 - languageName: node - linkType: hard - "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -7066,13 +6506,6 @@ __metadata: languageName: node linkType: hard -"ltgt@npm:^2.1.2": - version: 2.2.1 - resolution: "ltgt@npm:2.2.1" - checksum: 7e3874296f7538bc8087b428ac4208008d7b76916354b34a08818ca7c83958c1df10ec427eeeaad895f6b81e41e24745b18d30f89abcc21d228b94f6961d50a2 - languageName: node - linkType: hard - "magic-string@npm:^0.25.3": version: 0.25.9 resolution: "magic-string@npm:0.25.9" @@ -7082,24 +6515,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.26.7": - version: 0.26.7 - resolution: "magic-string@npm:0.26.7" - dependencies: - sourcemap-codec: ^1.4.8 - checksum: 89b0d60cbb32bbf3d1e23c46ea93db082d18a8230b972027aecb10a40bba51be519ecce0674f995571e3affe917b76b09f59d8dbc9a1b2c9c4102a2b6e8a2b01 - languageName: node - linkType: hard - -"magic-string@npm:^0.27.0": - version: 0.27.0 - resolution: "magic-string@npm:0.27.0" - dependencies: - "@jridgewell/sourcemap-codec": ^1.4.13 - checksum: 273faaa50baadb7a2df6e442eac34ad611304fc08fe16e24fe2e472fd944bfcb73ffb50d2dc972dc04e92784222002af46868cb9698b1be181c81830fd95a13e - languageName: node - linkType: hard - "make-dir@npm:^3.0.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -7334,18 +6749,6 @@ __metadata: languageName: node linkType: hard -"mlly@npm:^1.0.0": - version: 1.0.0 - resolution: "mlly@npm:1.0.0" - dependencies: - acorn: ^8.8.1 - pathe: ^1.0.0 - pkg-types: ^1.0.0 - ufo: ^1.0.0 - checksum: e9d8809a836f407fb0604f46ca12fd1671cb95a71fef35ba6af57022c75eb7555dcad3ed5524f6c53fdf1280ed35739837c7306c0e0201371943737091dde429 - languageName: node - linkType: hard - "mock-socket@npm:^9.1.5": version: 9.1.5 resolution: "mock-socket@npm:9.1.5" @@ -7644,16 +7047,6 @@ __metadata: languageName: node linkType: hard -"object-is@npm:^1.0.1": - version: 1.1.5 - resolution: "object-is@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe - languageName: node - linkType: hard - "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -7661,24 +7054,6 @@ __metadata: languageName: node linkType: hard -"object-keys@npm:~0.2.0": - version: 0.2.0 - resolution: "object-keys@npm:0.2.0" - dependencies: - foreach: ~2.0.1 - indexof: ~0.0.1 - is: ~0.2.6 - checksum: 4b96bab88fe9df22a03aec3c59a084bdffc789ad1318a39081e6b8389af6b9ab8571dd3776eed3ec5831137d057fb7ba76911552c6a6efd59b5d126ac3b6e432 - languageName: node - linkType: hard - -"object-keys@npm:~0.4.0": - version: 0.4.0 - resolution: "object-keys@npm:0.4.0" - checksum: 1be3ebe9b48c0d5eda8e4a30657d887a748cb42435e0e2eaf49faf557bdd602cd2b7558b8ce90a4eb2b8592d16b875a1900bce859cbb0f35b21c67e11a45313c - languageName: node - linkType: hard - "object.assign@npm:^4.1.2": version: 4.1.2 resolution: "object.assign@npm:4.1.2" @@ -7734,13 +7109,6 @@ __metadata: languageName: node linkType: hard -"octal@npm:^1.0.0": - version: 1.0.0 - resolution: "octal@npm:1.0.0" - checksum: d648917f4f0a1042d7a4e230262aed00274c9791fe4795e9a2ce3b64ab7f2ca93e62cd55ca5ad4e4bd3fc375ca84d6919d7bf417be461790c1042503ac2c2310 - languageName: node - linkType: hard - "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -7794,13 +7162,6 @@ __metadata: languageName: node linkType: hard -"os-browserify@npm:^0.3.0": - version: 0.3.0 - resolution: "os-browserify@npm:0.3.0" - checksum: 16e37ba3c0e6a4c63443c7b55799ce4066d59104143cb637ecb9fce586d5da319cdca786ba1c867abbe3890d2cbf37953f2d51eea85e20dd6c4570d6c54bfebf - languageName: node - linkType: hard - "p-limit@npm:^1.1.0": version: 1.3.0 resolution: "p-limit@npm:1.3.0" @@ -7885,13 +7246,6 @@ __metadata: languageName: node linkType: hard -"pako@npm:~1.0.5": - version: 1.0.11 - resolution: "pako@npm:1.0.11" - checksum: 1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16 - languageName: node - linkType: hard - "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -7975,23 +7329,6 @@ __metadata: languageName: node linkType: hard -"path@npm:^0.12.7": - version: 0.12.7 - resolution: "path@npm:0.12.7" - dependencies: - process: ^0.11.1 - util: ^0.10.3 - checksum: 5dedb71e78fc008fcba797defc0b4e1cf06c1f18e0a631e03ba5bb505136f587ff017afc14f9a3d481cbe77aeedff7dc0c1d2ce4d820c1ebf3c4281ca49423a1 - languageName: node - linkType: hard - -"pathe@npm:^1.0.0": - version: 1.0.0 - resolution: "pathe@npm:1.0.0" - checksum: 7b71a4930a5b46111c92149632f74b0e87bade3eabe6c9168dcc4846857a4e124eacc0c2bf044fe0d2a8b7f87ae62b9b2cb11938c61899d485cc36dd1a243a23 - languageName: node - linkType: hard - "pbkdf2@npm:^3.0.3": version: 3.1.2 resolution: "pbkdf2@npm:3.1.2" @@ -8032,13 +7369,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf - languageName: node - linkType: hard - "pirates@npm:^4.0.1, pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" @@ -8055,17 +7385,6 @@ __metadata: languageName: node linkType: hard -"pkg-types@npm:^1.0.0, pkg-types@npm:^1.0.1": - version: 1.0.1 - resolution: "pkg-types@npm:1.0.1" - dependencies: - jsonc-parser: ^3.2.0 - mlly: ^1.0.0 - pathe: ^1.0.0 - checksum: fe73cc22fb72ddb09227e2837a7b2ed1e0706a18e69a58a6ce13cde2b7eab122cb98de44d5c54fca5715d203ef3d2eb004b3ec84a3c05decb11e7c49a80fe2f9 - languageName: node - linkType: hard - "polished@npm:^3.2.0": version: 3.7.2 resolution: "polished@npm:3.7.2" @@ -8151,13 +7470,6 @@ __metadata: languageName: node linkType: hard -"process-es6@npm:^0.11.6": - version: 0.11.6 - resolution: "process-es6@npm:0.11.6" - checksum: 8849ea1a799a20a8e863fd3a5558d4085357ee59cae16b76f61327e3b3a27697b4e49c880742a6cc0f0c37eb0bd78fb0d4e382bd2e5318bb699b404b55a9b91e - languageName: node - linkType: hard - "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -8165,13 +7477,6 @@ __metadata: languageName: node linkType: hard -"process@npm:^0.11.1, process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 - languageName: node - linkType: hard - "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -8253,20 +7558,6 @@ __metadata: languageName: node linkType: hard -"prr@npm:~0.0.0": - version: 0.0.0 - resolution: "prr@npm:0.0.0" - checksum: 6552d9d92d9d55ec1afb8952ad80f81bbb1b4379f24ff7c506ad083ea701caf1bf6d4b092a2baeb98ec3f312c5a49d8bdf1d9b20a6db2998d05c2d52aa6a82e7 - languageName: node - linkType: hard - -"prr@npm:~1.0.1": - version: 1.0.1 - resolution: "prr@npm:1.0.1" - checksum: 3bca2db0479fd38f8c4c9439139b0c42dcaadcc2fbb7bb8e0e6afaa1383457f1d19aea9e5f961d5b080f1cfc05bfa1fe9e45c97a1d3fd6d421950a73d3108381 - languageName: node - linkType: hard - "psl@npm:^1.1.33": version: 1.8.0 resolution: "psl@npm:1.8.0" @@ -8288,13 +7579,6 @@ __metadata: languageName: node linkType: hard -"punycode@npm:1.3.2": - version: 1.3.2 - resolution: "punycode@npm:1.3.2" - checksum: b8807fd594b1db33335692d1f03e8beeddde6fda7fbb4a2e32925d88d20a3aa4cd8dcc0c109ccaccbd2ba761c208dfaaada83007087ea8bfb0129c9ef1b99ed6 - languageName: node - linkType: hard - "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -8302,20 +7586,6 @@ __metadata: languageName: node linkType: hard -"querystring@npm:0.2.0": - version: 0.2.0 - resolution: "querystring@npm:0.2.0" - checksum: 8258d6734f19be27e93f601758858c299bdebe71147909e367101ba459b95446fbe5b975bf9beb76390156a592b6f4ac3a68b6087cea165c259705b8b4e56a69 - languageName: node - linkType: hard - -"querystring@npm:^0.2.1": - version: 0.2.1 - resolution: "querystring@npm:0.2.1" - checksum: 7b83b45d641e75fd39cd6625ddfd44e7618e741c61e95281b57bbae8fde0afcc12cf851924559e5cc1ef9baa3b1e06e22b164ea1397d65dd94b801f678d9c8ce - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -8524,19 +7794,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^1.0.26-4": - version: 1.1.14 - resolution: "readable-stream@npm:1.1.14" - dependencies: - core-util-is: ~1.0.0 - inherits: ~2.0.1 - isarray: 0.0.1 - string_decoder: ~0.10.x - checksum: 17dfeae3e909945a4a1abc5613ea92d03269ef54c49288599507fc98ff4615988a1c39a999dcf9aacba70233d9b7040bc11a5f2bfc947e262dedcc0a8b32b5a0 - languageName: node - linkType: hard - -"readable-stream@npm:^2.0.6, readable-stream@npm:^2.2.2": +"readable-stream@npm:^2.0.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -8562,30 +7820,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^4.2.0": - version: 4.2.0 - resolution: "readable-stream@npm:4.2.0" - dependencies: - abort-controller: ^3.0.0 - buffer: ^6.0.3 - events: ^3.3.0 - process: ^0.11.10 - checksum: aa8447f781e6df90af78f6b0b9b9a77da2816dcf6c8220e7021c4de36e04f8129fed7ead81eac0baad2f42098209f9e7d7cd43169e1c156efcd2613828a37439 - languageName: node - linkType: hard - -"readable-stream@npm:~1.0.26, readable-stream@npm:~1.0.26-4": - version: 1.0.34 - resolution: "readable-stream@npm:1.0.34" - dependencies: - core-util-is: ~1.0.0 - inherits: ~2.0.1 - isarray: 0.0.1 - string_decoder: ~0.10.x - checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 - languageName: node - linkType: hard - "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -8853,13 +8087,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"scule@npm:^1.0.0": - version: 1.0.0 - resolution: "scule@npm:1.0.0" - checksum: 57f745022ef391868c6adfc77cd8bf1e8a10096cb4e7ba7bbb04f57fab5651804b419da9435692cd012abf1fd020f4b3f823385536f4ddc7247ea725488451c4 - languageName: node - linkType: hard - "semver@npm:7.x, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7": version: 7.3.7 resolution: "semver@npm:7.3.7" @@ -8880,15 +8107,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:~2.3.1": - version: 2.3.2 - resolution: "semver@npm:2.3.2" - bin: - semver: ./bin/semver - checksum: e0649fb18a1da909df7b5a6f586314a7f6e052385fc1e6eafa7084dd77c0787e755ab35ca491f9eec986fe1d0d6d36eae85a21eb7e2ed32ae5906796acb92c56 - languageName: node - linkType: hard - "set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -8896,13 +8114,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"setimmediate@npm:^1.0.4": - version: 1.0.5 - resolution: "setimmediate@npm:1.0.5" - checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd - languageName: node - linkType: hard - "sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": version: 2.4.11 resolution: "sha.js@npm:2.4.11" @@ -9070,27 +8281,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stream-http@npm:^3.2.0": - version: 3.2.0 - resolution: "stream-http@npm:3.2.0" - dependencies: - builtin-status-codes: ^3.0.0 - inherits: ^2.0.4 - readable-stream: ^3.6.0 - xtend: ^4.0.2 - checksum: c9b78453aeb0c84fcc59555518ac62bacab9fa98e323e7b7666e5f9f58af8f3155e34481078509b02929bd1268427f664d186604cdccee95abc446099b339f83 - languageName: node - linkType: hard - -"stream@npm:^0.0.2": - version: 0.0.2 - resolution: "stream@npm:0.0.2" - dependencies: - emitter-component: ^1.1.1 - checksum: 43d89e176c282234d452754f9b55a82c74ea68345bf6176af32c4c213801f88df7984c83ec5a735457705dddf4668373edb9f0ec270a7491e1d881631a763978 - languageName: node - linkType: hard - "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -9101,13 +8291,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"string-range@npm:~1.2, string-range@npm:~1.2.1": - version: 1.2.2 - resolution: "string-range@npm:1.2.2" - checksum: 7118cc83a7e63fca5fd8bef9b61464bfc51197b5f6dc475c9e1d24a93ce02fa27f7adb4cd7adac5daf599bde442b383608078f9b051bddb108d3b45840923097 - languageName: node - linkType: hard - "string-width@npm:^1.0.1": version: 1.0.2 resolution: "string-width@npm:1.0.2" @@ -9178,7 +8361,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": +"string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -9187,13 +8370,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"string_decoder@npm:~0.10.x": - version: 0.10.31 - resolution: "string_decoder@npm:0.10.31" - checksum: fe00f8e303647e5db919948ccb5ce0da7dea209ab54702894dd0c664edd98e5d4df4b80d6fabf7b9e92b237359d21136c95bf068b2f7760b772ca974ba970202 - languageName: node - linkType: hard - "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -9258,15 +8434,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"strip-literal@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-literal@npm:1.0.0" - dependencies: - acorn: ^8.8.1 - checksum: ada9b60f322ce3e3fd167b65a186ab77a8c76b8f9074dcdbad4c1a810b46f21c9dca30d4d807e98af580cbe99bfbccd6d8176f69183a454ae2868d8ddd6d4f88 - languageName: node - linkType: hard - "styled-jsx@npm:5.0.7": version: 5.0.7 resolution: "styled-jsx@npm:5.0.7" @@ -9449,15 +8616,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"timers-browserify@npm:^2.0.12": - version: 2.0.12 - resolution: "timers-browserify@npm:2.0.12" - dependencies: - setimmediate: ^1.0.4 - checksum: ec37ae299066bef6c464dcac29c7adafba1999e7227a9bdc4e105a459bee0f0b27234a46bfd7ab4041da79619e06a58433472867a913d01c26f8a203f87cee70 - languageName: node - linkType: hard - "tmpl@npm:1.0.x": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -9670,13 +8828,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"tty-browserify@npm:^0.0.1": - version: 0.0.1 - resolution: "tty-browserify@npm:0.0.1" - checksum: 93b745d43fa5a7d2b948fa23be8d313576d1d884b48acd957c07710bac1c0d8ac34c0556ad4c57c73d36e11741763ef66b3fb4fb97b06b7e4d525315a3cd45f5 - languageName: node - linkType: hard - "tweetnacl@npm:1.x.x, tweetnacl@npm:^1.0.3": version: 1.0.3 resolution: "tweetnacl@npm:1.0.3" @@ -9746,20 +8897,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"typedarray-to-buffer@npm:~1.0.0": - version: 1.0.4 - resolution: "typedarray-to-buffer@npm:1.0.4" - checksum: ac6989c456a0b175c8362b3ebbd8a74af7b9bcc94f9dc9ffd34436569cd29aea6a1e0e5f5752d0d5bd855a55b2520e960d1d4cb9c9149f863ce09220540df17f - languageName: node - linkType: hard - -"typedarray@npm:^0.0.6": - version: 0.0.6 - resolution: "typedarray@npm:0.0.6" - checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1 - languageName: node - linkType: hard - "typescript@npm:4.8.4, typescript@npm:^4.8.4": version: 4.8.4 resolution: "typescript@npm:4.8.4" @@ -9780,13 +8917,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"ufo@npm:^1.0.0": - version: 1.0.1 - resolution: "ufo@npm:1.0.1" - checksum: 63024876f21b7cc44267255a8043062046d3215e09212bd682787a13ccf1e0c5d23f7686a7f1bc7ac9f34c7e8a88100af234f42b509db50f17ce638af6ac87cc - languageName: node - linkType: hard - "unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" @@ -9799,25 +8929,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"unimport@npm:^1.0.1": - version: 1.1.0 - resolution: "unimport@npm:1.1.0" - dependencies: - "@rollup/pluginutils": ^5.0.2 - escape-string-regexp: ^5.0.0 - fast-glob: ^3.2.12 - local-pkg: ^0.4.2 - magic-string: ^0.27.0 - mlly: ^1.0.0 - pathe: ^1.0.0 - pkg-types: ^1.0.1 - scule: ^1.0.0 - strip-literal: ^1.0.0 - unplugin: ^1.0.1 - checksum: b57337df42c42d0dfe45a49ac1ae2a2c5c24fbf355acf0552d59d95b4aefff743420d6dbd6de728aaa34e2384596301493895da890a2980333048d138c2ba941 - languageName: node - linkType: hard - "unique-filename@npm:^1.1.1": version: 1.1.1 resolution: "unique-filename@npm:1.1.1" @@ -9843,37 +8954,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"unplugin-auto-import@npm:^0.11.2": - version: 0.11.5 - resolution: "unplugin-auto-import@npm:0.11.5" - dependencies: - "@antfu/utils": ^0.7.0 - "@rollup/pluginutils": ^5.0.2 - local-pkg: ^0.4.2 - magic-string: ^0.26.7 - unimport: ^1.0.1 - unplugin: ^1.0.0 - peerDependencies: - "@vueuse/core": "*" - peerDependenciesMeta: - "@vueuse/core": - optional: true - checksum: b9098fd9c152063dce6cc3552e765166fce402a1be5d76863861c41dc6c2d9686c7d352f9335b8232262cddae56212b0f8af121df9a19b2b6ea850a1a6a93b91 - languageName: node - linkType: hard - -"unplugin@npm:^1.0.0, unplugin@npm:^1.0.1": - version: 1.0.1 - resolution: "unplugin@npm:1.0.1" - dependencies: - acorn: ^8.8.1 - chokidar: ^3.5.3 - webpack-sources: ^3.2.3 - webpack-virtual-modules: ^0.5.0 - checksum: b6bf00dcc79e71cd55d2b4dd39ec7c8ec40b071dc10c14e29095df5dccb13ad0ca1cf14e5da38bb16b8704f8eface750b7a3be9ee7ca2574ce31096ee966b356 - languageName: node - linkType: hard - "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -9883,16 +8963,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"url@npm:^0.11.0": - version: 0.11.0 - resolution: "url@npm:0.11.0" - dependencies: - punycode: 1.3.2 - querystring: 0.2.0 - checksum: 50d100d3dd2d98b9fe3ada48cadb0b08aa6be6d3ac64112b867b56b19be4bfcba03c2a9a0d7922bfd7ac17d4834e88537749fe182430dfd9b68e520175900d90 - languageName: node - linkType: hard - "use-callback-ref@npm:^1.2.5": version: 1.2.5 resolution: "use-callback-ref@npm:1.2.5" @@ -9944,28 +9014,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"util@npm:^0.10.3": - version: 0.10.4 - resolution: "util@npm:0.10.4" - dependencies: - inherits: 2.0.3 - checksum: 913f9a90d05a60e91f91af01b8bd37e06bca4cc02d7b49e01089f9d5b78be2fffd61fb1a41b517de7238c5fc7337fa939c62d1fb4eb82e014894c7bee6637aaf - languageName: node - linkType: hard - -"util@npm:^0.12.0, util@npm:^0.12.4": - version: 0.12.5 - resolution: "util@npm:0.12.5" - dependencies: - inherits: ^2.0.3 - is-arguments: ^1.0.4 - is-generator-function: ^1.0.7 - is-typed-array: ^1.1.3 - which-typed-array: ^1.1.2 - checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a - languageName: node - linkType: hard - "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -9984,13 +9032,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"vm-browserify@npm:^1.1.2": - version: 1.1.2 - resolution: "vm-browserify@npm:1.1.2" - checksum: 10a1c50aab54ff8b4c9042c15fc64aefccce8d2fb90c0640403242db0ee7fb269f9b102bdb69cfb435d7ef3180d61fd4fb004a043a12709abaf9056cfd7e039d - languageName: node - linkType: hard - "w3c-hr-time@npm:^1.0.2": version: 1.0.2 resolution: "w3c-hr-time@npm:1.0.2" @@ -10055,20 +9096,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 - languageName: node - linkType: hard - -"webpack-virtual-modules@npm:^0.5.0": - version: 0.5.0 - resolution: "webpack-virtual-modules@npm:0.5.0" - checksum: 22b59257b55c89d11ae295b588b683ee9fdf3aeb591bc7b6f88ac1d69cb63f4fcb507666ea986866dfae161a1fa534ad6fb4e2ea91bbcd0a6d454368d7d4c64b - languageName: node - linkType: hard - "websocket@npm:^1.0.34": version: 1.0.34 resolution: "websocket@npm:1.0.34" @@ -10134,20 +9161,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"which-typed-array@npm:^1.1.2": - version: 1.1.9 - resolution: "which-typed-array@npm:1.1.9" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.10 - checksum: fe0178ca44c57699ca2c0e657b64eaa8d2db2372a4e2851184f568f98c478ae3dc3fdb5f7e46c384487046b0cf9e23241423242b277e03e8ba3dabc7c84c98ef - languageName: node - linkType: hard - "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -10249,46 +9262,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"xtend@npm:^2.2.0": - version: 2.2.0 - resolution: "xtend@npm:2.2.0" - checksum: 9fcd1ddabefdb3c68a698b08177525ad14a6df3423b13bad9a53900d19374e476a43c219b0756d39675776b2326a35fe477c547cfb8a05ae9fea4ba2235bebe2 - languageName: node - linkType: hard - -"xtend@npm:^4.0.2": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a - languageName: node - linkType: hard - -"xtend@npm:~2.0.4": - version: 2.0.6 - resolution: "xtend@npm:2.0.6" - dependencies: - is-object: ~0.1.2 - object-keys: ~0.2.0 - checksum: 414531e51cbc56d4676ae2b3a4070052e0c7a36caf7ee74f2e8449fe0fc1752b971a776fca5b85ec02ef3d0a33b8e75491d900474b8407f3f4bba3f49325a785 - languageName: node - linkType: hard - -"xtend@npm:~2.1.2": - version: 2.1.2 - resolution: "xtend@npm:2.1.2" - dependencies: - object-keys: ~0.4.0 - checksum: a8b79f31502c163205984eaa2b196051cd2fab0882b49758e30f2f9018255bc6c462e32a090bf3385d1bda04755ad8cc0052a09e049b0038f49eb9b950d9c447 - languageName: node - linkType: hard - -"xtend@npm:~3.0.0": - version: 3.0.0 - resolution: "xtend@npm:3.0.0" - checksum: ecdc4dd74f26e561dbc13d4148fcc7b8f46f49b9259862fc31e42b7cede9eee62af9d869050a7b8e089475e858744a74ceae3f0da2943755ef712f3277ad2e50 - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" From 0fde2038640e8a72015142693669e2857762d882 Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Mon, 9 Jan 2023 19:19:27 +0800 Subject: [PATCH 07/17] fixed llnt --- .prettierrc | 5 +- packages/sdk/@types/contract.d.ts | 83 - packages/sdk/@types/helper.d.ts | 10 - packages/sdk/@types/phat-contract.d.ts | 20 - packages/sdk/@types/pink-logger.d.ts | 28 - packages/sdk/@types/polkadot-js.d.ts | 328 --- packages/sdk/@types/twin.d.ts | 23 - packages/sdk/README.md | 2 +- packages/sdk/edgeware.json | 5 + packages/sdk/package.json | 6 +- packages/sdk/src/certificate.ts | 136 +- packages/sdk/src/create.ts | 271 +- packages/sdk/src/global.d.ts | 4 +- packages/sdk/src/index.ts | 8 +- .../sdk/src/interfaces/augment-api-consts.ts | 249 ++ .../sdk/src/interfaces/augment-api-query.ts | 1049 ++++++++ packages/sdk/src/interfaces/augment-api-tx.ts | 1883 +++++++++++++ packages/sdk/src/interfaces/augment-api.ts | 7 + packages/sdk/src/interfaces/augment-types.ts | 2366 +++++++++++++++++ packages/sdk/src/interfaces/definitions.ts | 7 + packages/sdk/src/interfaces/index.ts | 4 + .../src/interfaces/signaling/definitions.ts | 15 + .../sdk/src/interfaces/signaling/index.ts | 4 + .../sdk/src/interfaces/signaling/types.ts | 25 + .../interfaces/treasuryRewards/definitions.ts | 5 + .../src/interfaces/treasuryRewards/index.ts | 4 + .../src/interfaces/treasuryRewards/types.ts | 9 + packages/sdk/src/interfaces/types.ts | 6 + .../sdk/src/interfaces/voting/definitions.ts | 31 + packages/sdk/src/interfaces/voting/index.ts | 4 + packages/sdk/src/interfaces/voting/types.ts | 71 + packages/sdk/src/lib/aes-256-gcm.test.ts | 23 +- packages/sdk/src/lib/aes-256-gcm.ts | 58 +- packages/sdk/src/lib/hex.ts | 4 +- packages/sdk/src/lib/types.ts | 70 +- packages/sdk/tsup.browser.ts | 31 +- packages/sdk/tsup.node.ts | 18 +- yarn.lock | 1099 +++++++- 38 files changed, 7171 insertions(+), 800 deletions(-) delete mode 100644 packages/sdk/@types/contract.d.ts delete mode 100644 packages/sdk/@types/helper.d.ts delete mode 100644 packages/sdk/@types/phat-contract.d.ts delete mode 100644 packages/sdk/@types/pink-logger.d.ts delete mode 100644 packages/sdk/@types/polkadot-js.d.ts delete mode 100644 packages/sdk/@types/twin.d.ts create mode 100644 packages/sdk/edgeware.json create mode 100644 packages/sdk/src/interfaces/augment-api-consts.ts create mode 100644 packages/sdk/src/interfaces/augment-api-query.ts create mode 100644 packages/sdk/src/interfaces/augment-api-tx.ts create mode 100644 packages/sdk/src/interfaces/augment-api.ts create mode 100644 packages/sdk/src/interfaces/augment-types.ts create mode 100644 packages/sdk/src/interfaces/definitions.ts create mode 100644 packages/sdk/src/interfaces/index.ts create mode 100644 packages/sdk/src/interfaces/signaling/definitions.ts create mode 100644 packages/sdk/src/interfaces/signaling/index.ts create mode 100644 packages/sdk/src/interfaces/signaling/types.ts create mode 100644 packages/sdk/src/interfaces/treasuryRewards/definitions.ts create mode 100644 packages/sdk/src/interfaces/treasuryRewards/index.ts create mode 100644 packages/sdk/src/interfaces/treasuryRewards/types.ts create mode 100644 packages/sdk/src/interfaces/types.ts create mode 100644 packages/sdk/src/interfaces/voting/definitions.ts create mode 100644 packages/sdk/src/interfaces/voting/index.ts create mode 100644 packages/sdk/src/interfaces/voting/types.ts diff --git a/.prettierrc b/.prettierrc index 653c512..27e719e 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,4 @@ { - "semi": false, - "singleQuote": true, - "bracketSpacing": false + "proseWrap": "never", + "quoteProps": "consistent" } diff --git a/packages/sdk/@types/contract.d.ts b/packages/sdk/@types/contract.d.ts deleted file mode 100644 index 7e1dfe5..0000000 --- a/packages/sdk/@types/contract.d.ts +++ /dev/null @@ -1,83 +0,0 @@ -type ContractMetaConstructorArg = { - label: string; - type: { - displayName: string[]; - type: number; - } -} - -type ContractMetaConstructor = { - args: ContractMetaConstructorArg[]; - docs: string[]; - label: string; - payable: boolean; - selector: string; -} - -type ContractCallArgument = { - label: string; - type: { - displayName: string[]; - type: number; - }; -} - -type ContractMetaMessage = { - args: ContractCallArgument[]; - docs: string[]; - label: string; - mutates: boolean; - payable: boolean; - returnType: null | { - displayName: string[]; - type: number; - }; - selector: string; -} - -type ContractMetaStorage = { - struct: { - fields: { - layout: { - cell: { - key: string; - ty: number; - } - } - name: string; - }[] - } -} - -type ContractMetaType = { - id: number; - type: { - def: { - primitive: boolean; - } - } -} - -type ContractMetadata = { - source: { - hash: string; - language: string; - compiler: string; - wasm?: string; - }, - contract: { - name: string; - version: string; - authors: string[]; - }, - V3: { - spec: { - constructors: ContractMetaConstructor[]; - docs: string[]; - events: unknown[]; - messages: ContractMetaMessage[]; - }, - storage: ContractMetaStorage, - types: ContractMetaType[], - } -} \ No newline at end of file diff --git a/packages/sdk/@types/helper.d.ts b/packages/sdk/@types/helper.d.ts deleted file mode 100644 index 906453c..0000000 --- a/packages/sdk/@types/helper.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -type ArrayLengthMutationKeys = 'splice' | 'push' | 'pop' | 'shift' | 'unshift' | number -type ArrayItems> = T extends Array ? TItems : never -type FixedLengthArray = - Pick> - & { [Symbol.iterator]: () => IterableIterator< ArrayItems > } - - -type Pairs = [T1, T2] - -type Nullable = T | null | undefined; \ No newline at end of file diff --git a/packages/sdk/@types/phat-contract.d.ts b/packages/sdk/@types/phat-contract.d.ts deleted file mode 100644 index e0b4349..0000000 --- a/packages/sdk/@types/phat-contract.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -interface ClusterInfo { - owner: AccountId, - // @fixme - permission: "Public" | string - systemContract?: string - workers: string[] -} - -interface ContractInfo { - cluster: string - codeIndex: { - wasmCode: string - } - deployer: AccountId - pubkey: string -} - -interface EndpointInfo { - V1: string[] -} \ No newline at end of file diff --git a/packages/sdk/@types/pink-logger.d.ts b/packages/sdk/@types/pink-logger.d.ts deleted file mode 100644 index 47098c5..0000000 --- a/packages/sdk/@types/pink-logger.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -interface PinkLoggerEvent { - blockNumber: number - contract: string - sequence: number - payload: string - topics: string[] - type: "Event" -} - -interface PinkLoggerMessageOutput { - blockNumber: number - contract: string - sequence: number - nonce: string - origin: string - output: string - type: "MessageOutput" - decoded?: string -} - -type PinkLoggerRecord = PinkLoggerEvent | PinkLoggerMessageOutput - - -interface PinkLoggerResposne { - next: number - records: PinkLoggerRecord[] -} - diff --git a/packages/sdk/@types/polkadot-js.d.ts b/packages/sdk/@types/polkadot-js.d.ts deleted file mode 100644 index cf7a99f..0000000 --- a/packages/sdk/@types/polkadot-js.d.ts +++ /dev/null @@ -1,328 +0,0 @@ -/** - * Polkadot-js API Type Declarations for Parachain APIs. - */ - import type {ApiPromise} from '@polkadot/api' - import type { - ApiTypes, - SubmittableExtrinsic, - AugmentedSubmittable, - MethodResult, - } from '@polkadot/api/types' - import type {Vec, Struct, Option, Int, Tuple} from '@polkadot/types/codec' - import type {bool, u32, u64, u128, Text, Bytes} from '@polkadot/types/primitive' - import type {AccountId, AccountId32, Balance, H256, Sr25519Signature} from '@polkadot/types/interfaces' - import type {Registration} from '@polkadot/types/interfaces/identity' - import type {Observable} from '@polkadot/types/types' - import type { - AugmentedQuery, - AugmentedQueryAt, - } from '@polkadot/api/types/storage' - - declare global { - type PalletPhalaWorldStatusType = string & ( - 'ClaimSpirits' | - 'PurchaseRareOriginOfShells' | - 'PurchasePrimeOriginOfShells' | - 'PreorderOriginOfShells' | - 'LastDayOfSale' - ) - } - - // api.consts - declare module '@polkadot/api/types/consts' { - export interface AugmentedConsts { - pwNftSale: { - minBalanceToClaimSpirit: Balance - primeOriginOfShellPrice: Balance - magicOriginOfShellPrice: Balance - legendaryOriginOfShellPrice: Balance - secondsPerEra: u64 - iterLimit: u32 - } - } - - export interface QueryableConsts - extends AugmentedConsts {} - } - - // api.query - declare module '@polkadot/api/types/storage' { - export interface AugmentedQueries { - pwNftSale: { - overlord: AugmentedQuery< - ApiType, - () => Observable - > - - canClaimSpirits: AugmentedQuery< - ApiType, - () => Observable - > - - canPreorderOriginOfShells: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - canPurchaseRareOriginOfShells: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - canPurchasePrimeOriginOfShells: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - lastDayOfSale: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - originOfShellsInventory: AugmentedQueryAt< - ApiType, - ( - rarity: RarityType, - race?: RaceType - ) => Observable> - > - - originOfShellCollectionId: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - spiritCollectionId: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - era: AugmentedQuery Observable> - - zeroDay: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - originOfShellsMetadata: AugmentedQuery< - ApiType, - (race: RaceType) => Observable - > - - // TODO fixedme - preorders: AugmentedQueryAt< - ApiType, - (orderId?: number) => Observable, - [Int] - > - - ownerHasPreorder: AugmentedQuery< - ApiType, - (account: AccountId32 | string) => Observable - > - - spiritsMetadata: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - } - - pwIncubation: { - shellCollectionId: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - originOfShellFoodStats: AugmentedQueryAt< - ApiType, - (era: number, index?: [number, number]) => Observable, - [Int, Tuple] // eraId, (collectId, nftId) - > - - canStartIncubation: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - - foodByOwners: AugmentedQueryAt< - ApiType, - (account: AccountId32 | string) => Observable, - [Int] // eraId - > - - hatchTimes: AugmentedQueryAt< - ApiType, - (collectionId: CollectionId, nftId: NftId) => Observable - > - - officialHatchTime: AugmentedQuery< - ApiType, - (opts?: unknown) => Observable - > - } - - phalaFatContracts: { - contracts: AugmentedQueryAt< - ApiType, - (contractId?: string) => Observable>>, - [string] - > - - clusters: AugmentedQueryAt< - ApiType, - (clusterId?: string) => Observable>>, - [string] // H256 / cluster id - > - - clusterContracts: AugmentedQueryAt< - ApiType, - (clusterId?: string) => Observable>, - [string] - > - - clusterWorkers: AugmentedQueryAt< - ApiType, - (clusterId?: string) => Observable>, - [string] - > - } - - phalaRegistry: { - contractKeys: AugmentedQueryAt< - ApiType, - (contractId?: string) => Observable>, - [string] - > - - endpoints: AugmentedQueryAt< - ApiType, - (workerId?: string) => Observable>>, - [string] - > - - gatkeeper: AugmentedQuery< - ApiType, - () => Observable>> - > - } - - uniques: { - account: AugmentedQueryAt< - ApiType, - ( - account: AccountId32 | string, - collectionId: u32 | number, - nftId: u32 - ) => Observable>, - [Text, Int, Int] - > - - // @FIXME - attribute: AugmentedQueryAt< - ApiType, - ( - collectionId: u32 | number, - nftId: u32 | number, - args: unknown - ) => Observable>>, - [Int, Int, Int] - > - } - - system: { - account: AugmentedQueryAt< - ApiType, - (account: AccountId32 | string) => Observable, - [Text, Int, Int] - > - events: QueryableModuleStorageAt; - } - - identity: { - identityOf: AugmentedQuery< - ApiType, - ( - arg: AccountId | string | Uint8Array - ) => Observable> - > - } - - rmrkCore: { - nfts: AugmentedQuery< - ApiType, - ( - collectionId: CollectionId, - nftId: NftId - ) => Observable> - > - - properties: AugmentedQuery< - ApiType, - ( - collectionId: u32 | number, - assetId: u32 | number, - keyName: Bytes | string - ) => Observable> - > - } - } - - export interface QueryableStorage - extends AugmentedQueries {} - } - - // api.tx - declare module '@polkadot/api/types/submittable' { - export interface AugmentedSubmittables { - pwNftSale: { - setStatusType: AugmentedSubmittable< - (status: boolean, StatusType: PalletPhalaWorldStatusType) => SubmittableExtrinsic - > - - redeemSpirit: AugmentedSubmittable< - (signature: SignatureLike) => SubmittableExtrinsic - > - - preorderOriginOfShell: AugmentedSubmittable< - (race: RaceType, career: CareerType) => SubmittableExtrinsic - > - - buyRareOriginOfShell: AugmentedSubmittable< - ( - rarity: RarityType, - race: RaceType, - career: CareerType - ) => SubmittableExtrinsic - > - - buyPrimeOriginOfShell: AugmentedSubmittable< - ( - signature: string, - race: RaceType, - career: CareerType - ) => SubmittableExtrinsic - > - } - - pwIncubation: { - startIncubation: AugmentedSubmittable< - ( - collectionId: CollectionId, - nftId: NftId - ) => SubmittableExtrinsic - > - - feedOriginOfShell: AugmentedSubmittable< - ( - collectionId: CollectionId, - nftId: NftId - ) => SubmittableExtrinsic - > - } - } - - export interface SubmittableExtrinsics - extends AugmentedSubmittables { - (extrinsic: Uint8Array | string): SubmittableExtrinsic - } - } \ No newline at end of file diff --git a/packages/sdk/@types/twin.d.ts b/packages/sdk/@types/twin.d.ts deleted file mode 100644 index cf750cb..0000000 --- a/packages/sdk/@types/twin.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import 'twin.macro' -import { css as cssImport } from '@emotion/react' -import { CSSInterpolation } from '@emotion/serialize' -import styledImport from '@emotion/styled' - -declare module 'twin.macro' { - // The styled and css imports - const styled: typeof styledImport - const css: typeof cssImport -} - -declare module 'react' { - // The css prop - interface HTMLAttributes extends DOMAttributes { - css?: CSSInterpolation - tw?: string - } - // The inline svg css prop - interface SVGProps extends SVGProps { - css?: CSSInterpolation - tw?: string - } -} \ No newline at end of file diff --git a/packages/sdk/README.md b/packages/sdk/README.md index c2464af..322cec4 100644 --- a/packages/sdk/README.md +++ b/packages/sdk/README.md @@ -106,7 +106,7 @@ With `Keyring`, you can create it with a keypair: const certificateData = await signCertificate({ api, pair: keypair, -}) +}); ``` Send a query with the certificate. diff --git a/packages/sdk/edgeware.json b/packages/sdk/edgeware.json new file mode 100644 index 0000000..d7803bb --- /dev/null +++ b/packages/sdk/edgeware.json @@ -0,0 +1,5 @@ +{ + "jsonrpc": "2.0", + "result": "0x6d6574610b6c1853797374656d011853797374656d34304163636f756e744e6f6e636501010130543a3a4163636f756e74496420543a3a496e646578001000000000047c2045787472696e73696373206e6f6e636520666f72206163636f756e74732e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e4c416c6c45787472696e73696373576569676874000018576569676874040004150120546f74616c2077656967687420666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010138543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101010c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e3845787472696e73696373526f6f7401001c543a3a486173688000000000000000000000000000000000000000000000000000000000000000000415012045787472696e7369637320726f6f74206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101011c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e01242866696c6c5f626c6f636b0004210120412062696720646973706174636820746861742077696c6c20646973616c6c6f7720616e79206f74686572207472616e73616374696f6e20746f20626520696e636c756465642e1872656d61726b041c5f72656d61726b1c5665633c75383e046c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e387365745f686561705f7061676573041470616765730c75363404fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f64650410636f64651c5665633c75383e04682053657420746865206e65772072756e74696d6520636f64652e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e041d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e04a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e046c2053657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f7261676504106b657973205665633c4b65793e0478204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697804187072656669780c4b6579041501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e010c4045787472696e7369635375636365737304304469737061746368496e666f049420416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f045420416e2065787472696e736963206661696c65642e2c436f64655570646174656400045420603a636f6465602077617320757064617465642e00143c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e7c5370656356657273696f6e4e6f74416c6c6f776564546f4465637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e7c496d706c56657273696f6e4e6f74416c6c6f776564546f44656372656173650849012054686520696d706c656d656e746174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e7c537065634f72496d706c56657273696f6e4e656564546f496e637265617365083501205468652073706563696669636174696f6e206f722074686520696d706c656d656e746174696f6e2076657273696f6e206e65656420746f20696e637265617365206265747765656e20746865942063757272656e742072756e74696d6520616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e1c5574696c697479011c5574696c69747904244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e0114146261746368041463616c6c735c5665633c3c542061732054726169743e3a3a43616c6c3e48802053656e642061206261746368206f662064697370617463682063616c6c732e00ec20546869732077696c6c206578656375746520756e74696c20746865206669727374206f6e65206661696c7320616e64207468656e2073746f702e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e002c2023203c7765696768743ea4202d205468652073756d206f66207468652077656967687473206f6620746865206063616c6c73602e34202d204f6e65206576656e742e302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e1861735f7375620814696e6465780c7531361063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1ce02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e70202d2054686520776569676874206f6620746865206063616c6c602e302023203c2f7765696768743e2061735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3ea4590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e40617070726f76655f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d80590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d5859012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e302023203c2f7765696768743e0118404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734c2077656c6c20617320746865206572726f722e384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e2c4e65774d756c746973696708244163636f756e744964244163636f756e7449640849012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e20466972737420706172616d20697320746865206163636f756e74207468617420697320617070726f76696e672c80207365636f6e6420697320746865206d756c7469736967206163636f756e742e404d756c7469736967417070726f76616c0c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640859012041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e404d756c7469736967457865637574656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e744964384469737061746368526573756c74082d012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e444d756c746973696743616e63656c6c65640c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640831012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e20466972737420706172616d20697320746865206163636f756e742074686174206973ac2063616e63656c6c696e672c20746869726420697320746865206d756c7469736967206163636f756e742e0030345a65726f5468726573686f6c640474205468726573686f6c6420697320746f6f206c6f7720287a65726f292e3c416c7265616479417070726f76656404b02043616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e656564656404a02043616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f7269657304ac2054686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f7269657304b02054686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f7264657204110120546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f72696573041101205468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e6404e0204d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e6572043101204f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e74042101204e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74043101204120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e7404f820412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e2454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e245820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420b80b00000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e001041757261000000000028417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e1c496e6469636573011c496e6469636573082c4e657874456e756d53657401003c543a3a4163636f756e74496e6465781000000000047c20546865206e657874206672656520656e756d65726174696f6e207365742e1c456e756d5365740101013c543a3a4163636f756e74496e646578445665633c543a3a4163636f756e7449643e00040004582054686520656e756d65726174696f6e20736574732e010001043c4e65774163636f756e74496e64657808244163636f756e744964304163636f756e74496e64657810882041206e6577206163636f756e7420696e646578207761732061737369676e65642e0005012054686973206576656e74206973206e6f7420747269676765726564207768656e20616e206578697374696e6720696e64657820697320726561737369676e65646020746f20616e6f7468657220604163636f756e744964602e00002042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010028543a3a42616c616e6365400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c56657374696e6700010130543a3a4163636f756e744964ac56657374696e675363686564756c653c543a3a42616c616e63652c20543a3a426c6f636b4e756d6265723e00040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e2c4672656542616c616e636501010130543a3a4163636f756e74496428543a3a42616c616e63650040000000000000000000000000000000002c9c20546865202766726565272062616c616e6365206f66206120676976656e206163636f756e742e004101205468697320697320746865206f6e6c792062616c616e63652074686174206d61747465727320696e207465726d73206f66206d6f7374206f7065726174696f6e73206f6e20746f6b656e732e204974750120616c6f6e65206973207573656420746f2064657465726d696e65207468652062616c616e6365207768656e20696e2074686520636f6e747261637420657865637574696f6e20656e7669726f6e6d656e742e205768656e207468697355012062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e20746865202763757272656e74206163636f756e74272069733d012064656c657465643a207370656369666963616c6c7920604672656542616c616e6365602e20467572746865722c2074686520604f6e4672656542616c616e63655a65726f602063616c6c6261636b450120697320696e766f6b65642c20676976696e672061206368616e636520746f2065787465726e616c206d6f64756c657320746f20636c65616e2075702064617461206173736f636961746564207769746854207468652064656c65746564206163636f756e742e00750120606672616d655f73797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c657465642069662060526573657276656442616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473150120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e3c526573657276656442616c616e636501010130543a3a4163636f756e74496428543a3a42616c616e63650040000000000000000000000000000000002c75012054686520616d6f756e74206f66207468652062616c616e6365206f66206120676976656e206163636f756e7420746861742069732065787465726e616c6c792072657365727665643b20746869732063616e207374696c6c206765749c20736c61736865642c20627574206765747320736c6173686564206c617374206f6620616c6c2e006d0120546869732062616c616e63652069732061202772657365727665272062616c616e63652074686174206f746865722073756273797374656d732075736520696e206f7264657220746f2073657420617369646520746f6b656e732501207468617420617265207374696c6c20276f776e65642720627920746865206163636f756e7420686f6c6465722c20627574207768696368206172652073757370656e6461626c652e007501205768656e20746869732062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e2074686973202772657365727665206163636f756e7427b42069732064656c657465643a207370656369666963616c6c792c2060526573657276656442616c616e6365602e00650120606672616d655f73797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c6574656420696620604672656542616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473190120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e29144c6f636b7301010130543a3a4163636f756e744964b05665633c42616c616e63654c6f636b3c543a3a42616c616e63652c20543a3a426c6f636b4e756d6265723e3e00040004b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e0110207472616e736665720810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e64d8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e004c2052656c617465642066756e6374696f6e733a0051012020202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e2d012020202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365d420202020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642edc2020202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765725901202020202060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e6365646020616e642060543a3a4f6e4672656542616c616e63655a65726f3a3a6f6e5f667265655f62616c616e63655f7a65726f602e49012020202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616cf82020202020636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e00302023203c2f7765696768743e2c7365745f62616c616e63650c0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365206e65775f667265654c436f6d706163743c543a3a42616c616e63653e306e65775f72657365727665644c436f6d706163743c543a3a42616c616e63653e349420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e00210120546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c090120616c736f2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e636560292e190120496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742c01012069742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b420546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e002c2023203c7765696768743e80202d20496e646570656e64656e74206f662074686520617267756d656e74732ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e302023203c2f7765696768743e38666f7263655f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e0851012045786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d61792062652c207370656369666965642e4c7472616e736665725f6b6565705f616c6976650810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e1851012053616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c2074686540206f726967696e206163636f756e742e00bc20393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c4205b607472616e73666572605d3a207374727563742e4d6f64756c652e68746d6c236d6574686f642e7472616e736665720114284e65774163636f756e7408244163636f756e7449641c42616c616e6365046c2041206e6577206163636f756e742077617320637265617465642e345265617065644163636f756e7408244163636f756e7449641c42616c616e6365045c20416e206163636f756e7420776173207265617065642e205472616e7366657210244163636f756e744964244163636f756e7449641c42616c616e63651c42616c616e636504b0205472616e7366657220737563636565646564202866726f6d2c20746f2c2076616c75652c2066656573292e2842616c616e63655365740c244163636f756e7449641c42616c616e63651c42616c616e636504c420412062616c616e6365207761732073657420627920726f6f74202877686f2c20667265652c207265736572766564292e1c4465706f73697408244163636f756e7449641c42616c616e636504dc20536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e0c484578697374656e7469616c4465706f73697428543a3a42616c616e63654000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e2c5472616e7366657246656528543a3a42616c616e63654000008a5d7845630100000000000000000494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e46656528543a3a42616c616e63654000008a5d784563010000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e203856657374696e6742616c616e6365049c2056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e7304c8204163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c204f766572666c6f77047420476f7420616e206f766572666c6f7720616674657220616464696e674c496e73756666696369656e7442616c616e636504782042616c616e636520746f6f206c6f7720746f2073656e642076616c7565484578697374656e7469616c4465706f73697404ec2056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650490205472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c6504cc20412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e74048c2042656e6566696369617279206163636f756e74206d757374207072652d6578697374485472616e73616374696f6e5061796d656e74012042616c616e63657304444e6578744665654d756c7469706c6965720100284d756c7469706c69657220000000000000000000000008485472616e73616374696f6e426173654665653042616c616e63654f663c543e4000008a5d78456301000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e400080c6a47e8d03000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e001c5374616b696e67011c5374616b696e67683856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321004000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010130543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010130543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010130543a3a4163636f756e7449644452657761726444657374696e6174696f6e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010130543a3a4163636f756e7449643856616c696461746f72507265667301040004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010130543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e01040010650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e003501204e4f54453a206973207072697661746520736f20746861742077652063616e20656e73757265207570677261646564206265666f726520616c6c207479706963616c2061636365737365732ed8204469726563742073746f7261676520415049732063616e207374696c6c2062797061737320746869732070726f74656374696f6e2e1c5374616b65727301010130543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000c000000104d01204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e20596f752063616e277420697465726174651901207468726f7567682076616c696461746f727320686572652c2062757420796f752063616e2066696e64207468656d20696e207468652053657373696f6e206d6f64756c652e00902054686973206973206b6579656420627920746865207374617368206163636f756e742e3843757272656e74456c65637465640100445665633c543a3a4163636f756e7449643e040004fc205468652063757272656e746c7920656c65637465642076616c696461746f7220736574206b65796564206279207374617368206163636f756e742049442e2843757272656e74457261010020457261496e6465781000000000045c205468652063757272656e742065726120696e6465782e3c43757272656e74457261537461727401002c4d6f6d656e744f663c543e200000000000000000047820546865207374617274206f66207468652063757272656e74206572612e6c43757272656e74457261537461727453657373696f6e496e64657801003053657373696f6e496e646578100000000004d0205468652073657373696f6e20696e646578206174207768696368207468652063757272656e742065726120737461727465642e5843757272656e74457261506f696e74734561726e6564010024457261506f696e7473140000000000040d01205265776172647320666f72207468652063757272656e74206572612e205573696e6720696e6469636573206f662063757272656e7420656c6563746564207365742e24536c6f745374616b6501003042616c616e63654f663c543e40000000000000000000000000000000000c31012054686520616d6f756e74206f662062616c616e6365206163746976656c79206174207374616b6520666f7220656163682076616c696461746f7220736c6f742c2063757272656e746c792e00c02054686973206973207573656420746f20646572697665207265776172647320616e642070756e6973686d656e74732e20466f72636545726101001c466f7263696e670400041d01205472756520696620746865206e6578742073657373696f6e206368616e67652077696c6c2062652061206e657720657261207265676172646c657373206f6620696e6465782e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010120457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04000425012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e4c56616c696461746f72536c617368496e45726100020120457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2903040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020120457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e03040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010130543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101018c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e3853746f7261676556657273696f6e01000c75333210000000000490205468652076657273696f6e206f662073746f7261676520666f7220757067726164652e014410626f6e640c28636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965654452657761726444657374696e6174696f6e3c65012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e003101206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e006d01204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e656420756e6c65737325012074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20616e6420676574732072656d6f76656420617320647573742e302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e3865012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652ea501202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c656420766961206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e28203c2f7765696768743e4477697468647261775f756e626f6e64656400402d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f7250726566732ce8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e206e6f6d696e617465041c74617267657473a05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e2c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743e2501202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f66206074617267657473602c982077686963682069732063617070656420617420604d41585f4e4f4d494e4154494f4e53602ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e302023203c2f7765696768743e146368696c6c002cc8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e247365745f7061796565041470617965654452657761726444657374696e6174696f6e2cb8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c90202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e34666f7263655f6e6f5f657261730014b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e34666f7263655f6e65775f65726100184d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e447365745f696e76756c6e657261626c6573042876616c696461746f7273445665633c543a3a4163636f756e7449643e04cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e34666f7263655f756e7374616b650414737461736830543a3a4163636f756e744964040d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e50666f7263655f6e65775f6572615f616c776179730014050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e002c2023203c7765696768743e50202d204f6e652073746f72616765207772697465302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e1c45012043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e2043616e2062652063616c6c6564206279206569746865722074686520726f6f74206f726967696e206f7270207468652060543a3a536c61736843616e63656c4f726967696e602e05012070617373696e67207468652065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e54202d204f6e652073746f726167652077726974652e302023203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e18e0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e002c2023203c7765696768743ef0202d2054696d6520636f6d706c65786974793a204f2831292e20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e302023203c2f7765696768743e010c18526577617264081c42616c616e63651c42616c616e636508510120416c6c2076616c696461746f72732068617665206265656e207265776172646564206279207468652066697273742062616c616e63653b20746865207365636f6e64206973207468652072656d61696e6465728c2066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e14536c61736808244163636f756e7449641c42616c616e6365042501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6448206e6f742062652070726f6365737365642e083853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e646578101c00000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e28344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e6465780444204475706c696361746520696e6465782e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e44496e73756666696369656e7456616c756504cc2043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2062616c616e63652e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e1c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b6579730002051c5665633c75383e38543a3a56616c696461746f7249641c543a3a4b657973010400109c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e00590120546865206669727374206b657920697320616c77617973206044454455505f4b45595f5052454649586020746f206861766520616c6c20746865206461746120696e207468652073616d65206272616e6368206f6661012074686520747269652e20486176696e6720616c6c206461746120696e207468652073616d65206272616e63682073686f756c642070726576656e7420736c6f77696e6720646f776e206f7468657220717565726965732e204b65794f776e65720002051c5665633c75383e50284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496401040010250120546865206f776e6572206f662061206b65792e20546865207365636f6e64206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e00590120546865206669727374206b657920697320616c77617973206044454455505f4b45595f5052454649586020746f206861766520616c6c20746865206461746120696e207468652073616d65206272616e6368206f6661012074686520747269652e20486176696e6720616c6c206461746120696e207468652073616d65206272616e63682073686f756c642070726576656e7420736c6f77696e6720646f776e206f7468657220717565726965732e0104207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e28e82053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e88202d204f286c6f67206e2920696e206e756d626572206f66206163636f756e74732e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578085501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e044044454455505f4b45595f50524546495814265b75385d38343a73657373696f6e3a6b6579730865012055736564206173206669727374206b657920666f7220604e6578744b6579736020616e6420604b65794f776e65726020746f2070757420616c6c20746865206461746120696e746f207468652073616d65206272616e636834206f662074686520747269652e0c30496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e2444656d6f6372616379012444656d6f6372616379403c5075626c696350726f70436f756e7401002450726f70496e646578100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009c5665633c2850726f70496e6465782c20543a3a486173682c20543a3a4163636f756e744964293e040004210120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c277320686173682e24507265696d616765730001011c543a3a48617368d4285665633c75383e2c20543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d62657229000400086101204d6170206f662068617368657320746f207468652070726f706f73616c20707265696d6167652c20616c6f6e6720776974682077686f207265676973746572656420697420616e64207468656972206465706f7369742ee42054686520626c6f636b206e756d6265722069732074686520626c6f636b20617420776869636820697420776173206465706f73697465642e244465706f7369744f660001012450726f70496e646578842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e2900040004842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e646578100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401003c5265666572656e64756d496e646578100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001013c5265666572656e64756d496e6465789c5265666572656e64756d496e666f3c543a3a426c6f636b4e756d6265722c20543a3a486173683e00040004b420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e34446973706174636851756575650100bc5665633c28543a3a426c6f636b4e756d6265722c20543a3a486173682c205265666572656e64756d496e646578293e0400044101205175657565206f66207375636365737366756c207265666572656e646120746f20626520646973706174636865642e2053746f726564206f72646572656420627920626c6f636b206e756d6265722e24566f74657273466f720101013c5265666572656e64756d496e646578445665633c543a3a4163636f756e7449643e00040004a4204765742074686520766f7465727320666f72207468652063757272656e742070726f706f73616c2e18566f74654f660101017c285265666572656e64756d496e6465782c20543a3a4163636f756e7449642910566f7465000400106101204765742074686520766f746520696e206120676976656e207265666572656e64756d206f66206120706172746963756c617220766f7465722e2054686520726573756c74206973206d65616e696e6766756c206f6e6c794d012069662060766f746572735f666f726020696e636c756465732074686520766f746572207768656e2063616c6c6564207769746820746865207265666572656e64756d2028796f75276c6c20676574207468655d012064656661756c742060566f7465602076616c7565206f7468657277697365292e20496620796f7520646f6e27742077616e7420746f20636865636b2060766f746572735f666f72602c207468656e20796f752063616ef420616c736f20636865636b20666f722073696d706c65206578697374656e636520776974682060566f74654f663a3a657869737473602066697273742e1450726f787900010130543a3a4163636f756e74496430543a3a4163636f756e7449640004000831012057686f2069732061626c6520746f20766f746520666f722077686f6d2e2056616c7565206973207468652066756e642d686f6c64696e67206163636f756e742c206b6579206973207468658820766f74652d7472616e73616374696f6e2d73656e64696e67206163636f756e742e2c44656c65676174696f6e7301010130543a3a4163636f756e7449646828543a3a4163636f756e7449642c20436f6e76696374696f6e2901840000000000000000000000000000000000000000000000000000000000000000000441012047657420746865206163636f756e742028616e64206c6f636b20706572696f64732920746f20776869636820616e6f74686572206163636f756e742069732064656c65676174696e6720766f74652e544c6173745461626c656457617345787465726e616c010010626f6f6c0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00006028543a3a486173682c20566f74655468726573686f6c6429040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001011c543a3a486173688c28543a3a426c6f636b4e756d6265722c205665633c543a3a4163636f756e7449643e290004000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101011c543a3a4861736810626f6f6c000400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e01541c70726f706f7365083470726f706f73616c5f686173681c543a3a486173681476616c756554436f6d706163743c42616c616e63654f663c543e3e18a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e002c2023203c7765696768743e20202d204f2831292e80202d2054776f204442206368616e6765732c206f6e6520444220656e7472792e302023203c2f7765696768743e187365636f6e64042070726f706f73616c48436f6d706163743c50726f70496e6465783e18a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e002c2023203c7765696768743e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e10766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f746510566f74651c350120566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bbc206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e002c2023203c7765696768743e20202d204f2831292e7c202d204f6e65204442206368616e67652c206f6e6520444220656e7472792e302023203c2f7765696768743e2870726f78795f766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f746510566f74651c510120566f746520696e2061207265666572656e64756d206f6e20626568616c66206f6620612073746173682e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374f4207468652070726f706f73616c3b206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e002c2023203c7765696768743e20202d204f2831292e7c202d204f6e65204442206368616e67652c206f6e6520444220656e7472792e302023203c2f7765696768743e40656d657267656e63795f63616e63656c04247265665f696e6465783c5265666572656e64756d496e646578085101205363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d6530207265666572656e64756d2e4065787465726e616c5f70726f706f7365043470726f706f73616c5f686173681c543a3a48617368083101205363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c30207265666572656e64756d2e6465787465726e616c5f70726f706f73655f6d616a6f72697479043470726f706f73616c5f686173681c543a3a48617368145901205363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c656020616e2065787465726e616c207265666572656e64756d2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e6065787465726e616c5f70726f706f73655f64656661756c74043470726f706f73616c5f686173681c543a3a48617368144901205363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f84207363686564756c6520616e2065787465726e616c207265666572656e64756d2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e28666173745f747261636b0c3470726f706f73616c5f686173681c543a3a4861736834766f74696e675f706572696f6438543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d626572245101205363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564650120696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65ec20627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00f8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e6101202d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f9820202060456d657267656e6379566f74696e67506572696f646020696620746f6f206c6f772e5501202d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265bc202020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e347665746f5f65787465726e616c043470726f706f73616c5f686173681c543a3a4861736804bc205665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e4463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e04542052656d6f76652061207265666572656e64756d2e3463616e63656c5f717565756564041477686963683c5265666572656e64756d496e64657804a02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e247365745f70726f7879041470726f787930543a3a4163636f756e7449641498205370656369667920612070726f78792e2043616c6c6564206279207468652073746173682e002c2023203c7765696768743e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3072657369676e5f70726f787900149820436c656172207468652070726f78792e2043616c6c6564206279207468652070726f78792e002c2023203c7765696768743e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e3072656d6f76655f70726f7879041470726f787930543a3a4163636f756e744964149820436c656172207468652070726f78792e2043616c6c6564206279207468652073746173682e002c2023203c7765696768743e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e2064656c65676174650808746f30543a3a4163636f756e74496428636f6e76696374696f6e28436f6e76696374696f6e143c2044656c656761746520766f74652e002c2023203c7765696768743e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e28756e64656c656761746500144420556e64656c656761746520766f74652e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e58636c6561725f7075626c69635f70726f706f73616c7300040101205665746f20616e6420626c61636b6c697374207468652070726f706f73616c20686173682e204d7573742062652066726f6d20526f6f74206f726967696e2e346e6f74655f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e0861012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e205468697320646f65736e27742072657175697265207468652070726f706f73616c20746f206265250120696e207468652064697370617463682071756575652062757420646f657320726571756972652061206465706f7369742c2072657475726e6564206f6e636520656e61637465642e586e6f74655f696d6d696e656e745f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e0845012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e2054686973207265717569726573207468652070726f706f73616c20746f206265b420696e207468652064697370617463682071756575652e204e6f206465706f736974206973206e65656465642e34726561705f707265696d616765043470726f706f73616c5f686173681c543a3a4861736814f42052656d6f766520616e20657870697265642070726f706f73616c20707265696d61676520616e6420636f6c6c65637420746865206465706f7369742e00510120546869732077696c6c206f6e6c7920776f726b2061667465722060566f74696e67506572696f646020626c6f636b732066726f6d207468652074696d6520746861742074686520707265696d616765207761735d01206e6f7465642c2069662069742773207468652073616d65206163636f756e7420646f696e672069742e2049662069742773206120646966666572656e74206163636f756e742c207468656e206974276c6c206f6e6c79b020776f726b20616e206164646974696f6e616c2060456e6163746d656e74506572696f6460206c617465722e01402050726f706f736564082450726f70496e6465781c42616c616e636504c02041206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e04dc2041207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400049820416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c6404602041207265666572656e64756d2068617320626567756e2e18506173736564043c5265666572656e64756d496e64657804b020412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f74506173736564043c5265666572656e64756d496e64657804b020412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c6564043c5265666572656e64756d496e64657804842041207265666572656e64756d20686173206265656e2063616e63656c6c65642e204578656375746564083c5265666572656e64756d496e64657810626f6f6c047420412070726f706f73616c20686173206265656e20656e61637465642e2444656c65676174656408244163636f756e744964244163636f756e74496404e020416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404244163636f756e74496404e820416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c244163636f756e74496410486173682c426c6f636b4e756d626572049820416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e34507265696d6167654e6f7465640c1048617368244163636f756e7449641c42616c616e636504e020412070726f706f73616c277320707265696d61676520776173206e6f7465642c20616e6420746865206465706f7369742074616b656e2e30507265696d616765557365640c1048617368244163636f756e7449641c42616c616e636504150120412070726f706f73616c20707265696d616765207761732072656d6f76656420616e6420757365642028746865206465706f736974207761732072657475726e6564292e3c507265696d616765496e76616c69640810486173683c5265666572656e64756d496e646578040d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d6167652077617320696e76616c69642e3c507265696d6167654d697373696e670810486173683c5265666572656e64756d496e646578040d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d61676520776173206d697373696e672e38507265696d616765526561706564101048617368244163636f756e7449641c42616c616e6365244163636f756e744964045d012041207265676973746572656420707265696d616765207761732072656d6f76656420616e6420746865206465706f73697420636f6c6c6563746564206279207468652072656170657220286c617374206974656d292e1c3c456e6163746d656e74506572696f6438543a3a426c6f636b4e756d6265721000c2010014710120546865206d696e696d756d20706572696f64206f66206c6f636b696e6720616e642074686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174690120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e2074686520636173652077686572659c207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f6438543a3a426c6f636b4e756d62657210c089010004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f6438543a3a426c6f636b4e756d62657210c089010004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e384d696e696d756d4465706f7369743042616c616e63654f663c543e40000010632d5ec76b050000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e54456d657267656e6379566f74696e67506572696f6438543a3a426c6f636b4e756d626572104038000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f7220616e20656d657267656e6379207265666572656e64756d2e34436f6f6c6f6666506572696f6438543a3a426c6f636b4e756d62657210c089010004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e4c507265696d616765427974654465706f7369743042616c616e63654f663c543e400000c16ff286230000000000000000000429012054686520616d6f756e74206f662062616c616e63652074686174206d757374206265206465706f7369746564207065722062797465206f6620707265696d6167652073746f7265642e582056616c75654c6f7704382056616c756520746f6f206c6f773c50726f706f73616c4d697373696e6704602050726f706f73616c20646f6573206e6f74206578697374204e6f7450726f78790430204e6f7420612070726f787920426164496e646578043820556e6b6e6f776e20696e6465783c416c726561647943616e63656c656404982043616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c04582050726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c6973746564046c2050726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f7269747904ac204e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c696448617368043420496e76616c69642068617368284e6f50726f706f73616c0454204e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564049c204964656e74697479206d6179206e6f74207665746f20612070726f706f73616c20747769636530416c726561647950726f7879044020416c726561647920612070726f78792857726f6e6750726f787904302057726f6e672070726f7879304e6f7444656c6567617465640438204e6f742064656c656761746564444475706c6963617465507265696d616765045c20507265696d61676520616c7265616479206e6f7465642c4e6f74496d6d696e656e740434204e6f7420696d6d696e656e74144561726c79042820546f6f206561726c7920496d6d696e656e74042420496d6d696e656e743c507265696d6167654d697373696e67044c20507265696d616765206e6f7420666f756e64445265666572656e64756d496e76616c6964048820566f746520676976656e20666f7220696e76616c6964207265666572656e64756d3c507265696d616765496e76616c6964044420496e76616c696420707265696d6167652c4e6f6e6557616974696e670454204e6f2070726f706f73616c732077616974696e671c436f756e63696c014c496e7374616e636531436f6c6c656374697665142450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001011c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001011c543a3a486173684c566f7465733c543a3a4163636f756e7449643e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e01102c7365745f6d656d62657273042c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e105101205365742074686520636f6c6c6563746976652773206d656d62657273686970206d616e75616c6c7920746f20606e65775f6d656d62657273602e204265206e69636520746f2074686520636861696e20616e645c2070726f76696465206974207072652d736f727465642e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e01182050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e0018244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642124456c656374696f6e73014050687261676d656e456c656374696f6e181c4d656d626572730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e040004f0205468652063757272656e7420656c6563746564206d656d626572736869702e20536f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400044901205468652063757272656e742072756e6e6572735f75702e20536f72746564206261736564206f6e206c6f7720746f2068696768206d657269742028776f72736520746f20626573742072756e6e6572292e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e1c566f7465734f6601010130543a3a4163636f756e744964445665633c543a3a4163636f756e7449643e01040004010120566f746573206f66206120706172746963756c617220766f7465722c20776974682074686520726f756e6420696e646578206f662074686520766f7465732e1c5374616b654f6601010130543a3a4163636f756e7449643042616c616e63654f663c543e0040000000000000000000000000000000000464204c6f636b6564207374616b65206f66206120766f7465722e2843616e646964617465730100445665633c543a3a4163636f756e7449643e0400086501205468652070726573656e742063616e646964617465206c6973742e20536f72746564206261736564206f6e206163636f756e742d69642e20412063757272656e74206d656d626572206f7220612072756e6e65722063616e3101206e6576657220656e746572207468697320766563746f7220616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e3c050120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792eac2020202d206265206c657373207468616e20746865206e756d626572206f662063616e646964617465732e005d012055706f6e20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e64206120626f6e6420616d6f756e742069732072657365727665642e5d012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f206e6f7420706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865206c6f636ba020616e64206b65657020736f6d6520666f722066757274686572207472616e73616374696f6e732e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f283129c8205772697465733a204f28562920676976656e2060566020766f7465732e205620697320626f756e6465642062792031362e302023203c2f7765696768743e3072656d6f76655f766f746572001c21012052656d6f766520606f726967696e60206173206120766f7465722e20546869732072656d6f76657320746865206c6f636b20616e642072657475726e732074686520626f6e642e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f28312934205772697465733a204f283129302023203c2f7765696768743e507265706f72745f646566756e63745f766f74657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d01205265706f727420607461726765746020666f72206265696e6720616e20646566756e637420766f7465722e20496e2063617365206f6620612076616c6964207265706f72742c20746865207265706f727465722069735d012072657761726465642062792074686520626f6e6420616d6f756e74206f662060746172676574602e204f74686572776973652c20746865207265706f7274657220697473656c662069732072656d6f76656420616e645c20746865697220626f6e6420697320736c61736865642e0088204120646566756e637420766f74657220697320646566696e656420746f2062653a4d012020202d206120766f7465722077686f73652063757272656e74207375626d697474656420766f7465732061726520616c6c20696e76616c69642e20692e652e20616c6c206f66207468656d20617265206e6fb420202020206c6f6e67657220612063616e646964617465206e6f7220616e20616374697665206d656d6265722e002c2023203c7765696768743e2c202323232320537461746515012052656164733a204f284e4c6f674d2920676976656e204d2063757272656e742063616e6469646174657320616e64204e20766f74657320666f722060746172676574602e34205772697465733a204f283129302023203c2f7765696768743e407375626d69745f63616e646964616379003478205375626d6974206f6e6573656c6620666f722063616e6469646163792e006420412063616e6469646174652077696c6c206569746865723aec2020202d204c6f73652061742074686520656e64206f6620746865207465726d20616e6420666f7266656974207468656972206465706f7369742e2d012020202d2057696e20616e64206265636f6d652061206d656d6265722e204d656d626572732077696c6c206576656e7475616c6c7920676574207468656972207374617368206261636b2e55012020202d204265636f6d6520612072756e6e65722d75702e2052756e6e6572732d75707320617265207265736572766564206d656d6265727320696e2063617365206f6e65206765747320666f72636566756c6c7934202020202072656d6f7665642e002c2023203c7765696768743e2c20232323232053746174658c2052656164733a204f284c6f674e2920476976656e204e2063616e646964617465732e34205772697465733a204f283129302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379002451012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a4101202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c2074686520626f6e64206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e5901202d20606f726967696e6020697320612063757272656e742072756e6e65722075702e20496e207468697320636173652c2074686520626f6e6420697320756e72657365727665642c2072657475726e656420616e64842020206f726967696e2069732072656d6f76656420617320612072756e6e65722e4d01202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c2074686520626f6e6420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e650120202053696d696c617220746f205b6072656d6f76655f766f746572605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c7920757365642e3472656d6f76655f6d656d626572040c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c6163657320746865f4206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20726f756e6420697320737461727465642e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e2c2023232323205374617465582052656164733a204f28646f5f70687261676d656e295c205772697465733a204f28646f5f70687261676d656e29302023203c2f7765696768743e01141c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e0855012041206e6577207465726d2077697468206e6577206d656d626572732e205468697320696e64696361746573207468617420656e6f7567682063616e6469646174657320657869737465642c206e6f742074686174450120656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e656420666f72207468697320707572706f73652e24456d7074795465726d0004d8204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e304d656d6265724b69636b656404244163636f756e7449640845012041206d656d62657220686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f74342060456d7074795465726d602e3c4d656d62657252656e6f756e63656404244163636f756e74496404a02041206d656d626572206861732072656e6f756e6365642074686569722063616e6469646163792e34566f7465725265706f727465640c244163636f756e744964244163636f756e74496410626f6f6c086101204120766f7465722028666972737420656c656d656e742920776173207265706f72746564202862797420746865207365636f6e6420656c656d656e742920776974682074686520746865207265706f7274206265696e678c207375636365737366756c206f72206e6f742028746869726420656c656d656e74292e143443616e646964616379426f6e643042616c616e63654f663c543e400000a0dec5adc93536000000000000000028566f74696e67426f6e643042616c616e63654f663c543e400000e8890423c78a00000000000000000038446573697265644d656d626572730c753332100d00000000404465736972656452756e6e65727355700c753332100700000000305465726d4475726174696f6e38543a3a426c6f636b4e756d6265721000270600003830556e61626c65546f566f746504c42043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f7465730498204d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f74657304882043616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f7465734578636565646564049c2043616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e636504c82043616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e64047c20566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f7465720444204d757374206265206120766f7465722e285265706f727453656c6604502043616e6e6f74207265706f72742073656c662e4c4475706c69636174656443616e6469646174650484204475706c6963617465642063616e646964617465207375626d697373696f6e2e304d656d6265725375626d6974048c204d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3052756e6e65725375626d6974048c2052756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e647304982043616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e34496e76616c69644f726967696e04c8204f726967696e206973206e6f7420612063616e6469646174652c206d656d626572206f7220612072756e6e65722075702e244e6f744d656d6265720438204e6f742061206d656d6265722e3c46696e616c697479547261636b65720001042866696e616c5f68696e74041068696e745c436f6d706163743c543a3a426c6f636b4e756d6265723e08f42048696e7420746861742074686520617574686f72206f66207468697320626c6f636b207468696e6b732074686520626573742066696e616c697a65646c20626c6f636b2069732074686520676976656e206e756d6265722e00082857696e646f7753697a6538543a3a426c6f636b4e756d626572106500000004190120546865206e756d626572206f6620726563656e742073616d706c657320746f206b6565702066726f6d207468697320636861696e2e2044656661756c74206973203130312e345265706f72744c6174656e637938543a3a426c6f636b4e756d62657210e8030000041d01205468652064656c617920616674657220776869636820706f696e74207468696e6773206265636f6d6520737573706963696f75732e2044656661756c7420697320313030302e0838416c72656164795570646174656404c82046696e616c2068696e74206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b1c42616448696e7404902046696e616c697a6564206865696768742061626f766520626c6f636b206e756d6265721c4772616e647061013c4772616e64706146696e616c6974791c2c417574686f726974696573010034417574686f726974794c6973740400102c20444550524543415445440061012054686973207573656420746f2073746f7265207468652063757272656e7420617574686f72697479207365742c20776869636820686173206265656e206d6967726174656420746f207468652077656c6c2d6b6e6f776e94204752414e4450415f415554484f52495445535f4b455920756e686173686564206b65792e14537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001011453657449643053657373696f6e496e64657800040004c1012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f7220776869636820697473206d656d62657273207765726520726573706f6e7369626c652e0104487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0464205265706f727420736f6d65206d69736265686176696f722e010c384e6577417574686f7269746965730434417574686f726974794c6973740490204e657720617574686f726974792073657420686173206265656e206170706c6965642e1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e00102c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e20547265617375727901205472656173757279143450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001013450726f706f73616c496e6465789050726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100485665633c50726f706f73616c496e6465783e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e10546970730001051c543a3a48617368f04f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c59012054697073207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001051c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01203470726f706f73655f7370656e64081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e94202d204f6e65204442206368616e67652c206f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e1cfc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e205d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173d420605469705265706f72744465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e9c202d20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e64202d204f6e652062616c616e6365206f7065726174696f6e2e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e24202d20604f2854296064202d204f6e652062616c616e6365206f7065726174696f6e2ec4202d2054776f2073746f726167652072656d6f76616c7320286f6e6520726561642c20636f64656320604f28542960292e34202d204f6e65206576656e742e302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c75653042616c616e63654f663c543e4cf4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e4101202d20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e2060546020697345012020206e61747572616c6c79206361707065642061732061206d656d62657273686970207365742c20605260206973206c696d69746564207468726f756768207472616e73616374696f6e2d73697a652e0d01202d2054776f2073746f7261676520696e73657274696f6e732028636f6465637320604f285229602c20604f28542960292c206f6e65207265616420604f283129602e34202d204f6e65206576656e742e302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c75653042616c616e63654f663c543e4cb4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743e24202d20604f285429600101202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28542960292c206f6e652073746f72616765207265616420604f283129602e4c202d20557020746f206f6e65206576656e742e302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368386020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743e24202d20604f28542960e4202d204f6e652073746f726167652072657472696576616c2028636f64656320604f285429602920616e642074776f2072656d6f76616c732e88202d20557020746f2074687265652062616c616e6365206f7065726174696f6e732e302023203c2f7765696768743e012c2050726f706f736564043450726f706f73616c496e6465780438204e65772070726f706f73616c2e205370656e64696e67041c42616c616e636504e8205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964048020536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a6563746564083450726f706f73616c496e6465781c42616c616e636504b420412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e74041c42616c616e6365048c20536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572041c42616c616e6365043101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f736974041c42616c616e6365048020536f6d652066756e64732068617665206265656e206465706f73697465642e184e657754697004104861736804982041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e6704104861736804dc2041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504882041207469702073756767657374696f6e20686173206265656e20636c6f7365642e3054697052657472616374656404104861736804942041207469702073756767657374696f6e20686173206265656e207265747261637465642e203050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3042616c616e63654f663c543e400000a0dec5adc9353600000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d62657210c0890100048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c10000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e30546970436f756e74646f776e38543a3a426c6f636b4e756d62657210403800000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653042616c616e63654f663c543e40000064a7b3b6e00d000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e5c5469705265706f72744465706f736974506572427974653042616c616e63654f663c543e400000c16ff286230000000000000000000409012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e2e2070496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e50496e76616c696450726f706f73616c496e646578046c204e6f2070726f706f73616c206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e24436f6e7472616374730120436f6e74726163741c204761735370656e7401000c476173200000000000000000048020476173207370656e7420736f2066617220696e207468697320626c6f636b2e3c43757272656e745363686564756c650100205363686564756c65c5010000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000008700000000000000af000000000000000100000000000000010000000000000004000000000001001000000000400000002000000004942043757272656e7420636f7374207363686564756c6520666f7220636f6e7472616374732e305072697374696e65436f64650001012c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001012c436f6465486173683c543e587761736d3a3a5072656661625761736d4d6f64756c650004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010130543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e00040004a82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e20476173507269636501003042616c616e63654f663c543e4001000000000000000000000000000000047820546865207072696365206f66206f6e6520756e6974206f66206761732e01143c7570646174655f7363686564756c6504207363686564756c65205363686564756c650cb4205570646174657320746865207363686564756c6520666f72206d65746572696e6720636f6e7472616374732e000d0120546865207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652073746f726564207363686564756c652e207075745f636f646508246761735f6c696d697430436f6d706163743c4761733e10636f64651c5665633c75383e085d012053746f7265732074686520676976656e2062696e617279205761736d20636f646520696e746f2074686520636861696e27732073746f7261676520616e642072657475726e73206974732060636f646568617368602ed420596f752063616e20696e7374616e746961746520636f6e747261637473206f6e6c7920776974682073746f72656420636f64652e1063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e2c696e7374616e74696174651024656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e28bd0120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d207468652060636f646568617368602067656e65726174656420627920607075745f636f6465602c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20546865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564a820202075706f6e20616e792063616c6c2072656365697665642062792074686973206163636f756e742e7c202d2054686520636f6e747261637420697320696e697469616c697a65642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e14710120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b2070726f64756365721501206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e00390120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c206e6f20616374696f6e73206172652074616b656e20616e64ac207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e0120205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e6365046901205472616e736665722068617070656e6564206066726f6d6020746f2060746f60207769746820676976656e206076616c7565602061732070617274206f662061206063616c6c60206f722060696e7374616e7469617465602e30496e7374616e74696174656408244163636f756e744964244163636f756e74496404dc20436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e1c4576696374656408244163636f756e74496410626f6f6c18e420436f6e747261637420686173206265656e206576696374656420616e64206973206e6f7720696e20746f6d6273746f6e652073746174652e0024202320506172616d73000d01202d2060636f6e7472616374603a20604163636f756e744964603a20546865206163636f756e74204944206f6620746865206576696374656420636f6e74726163742e3501202d2060746f6d6273746f6e65603a2060626f6f6c603a205472756520696620746865206576696374656420636f6e7472616374206c65667420626568696e64206120746f6d6273746f6e652e20526573746f72656414244163636f756e744964244163636f756e74496410486173681c42616c616e636510626f6f6c24bc20526573746f726174696f6e20666f72206120636f6e747261637420686173206265656e20696e697469617465642e0024202320506172616d7300f4202d2060646f6e6f72603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72696e6720636f6e7472616374ec202d206064657374603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72656420636f6e7472616374e8202d2060636f64655f68617368603a206048617368603a20436f64652068617368206f662074686520726573746f72656420636f6e74726163741901202d206072656e745f616c6c6f77616e63653a206042616c616e6365603a2052656e7420616c6c6f77616e6365206f662074686520726573746f72656420636f6e7472616374f0202d206073756363657373603a2060626f6f6c603a20547275652069662074686520726573746f726174696f6e20776173207375636365737366756c28436f646553746f72656404104861736804b820436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e3c5363686564756c6555706461746564040c75333204c020547269676765726564207768656e207468652063757272656e74207363686564756c6520697320757064617465642e284469737061746368656408244163636f756e74496410626f6f6c08390120412063616c6c2077617320646973706174636865642066726f6d2074686520676976656e206163636f756e742e2054686520626f6f6c207369676e616c7320776865746865722069742077617374207375636365737366756c20657865637574696f6e206f72206e6f742e44436f6e7472616374457865637574696f6e08244163636f756e7449641c5665633c75383e04090120416e206576656e74206465706f73697465642075706f6e20657865637574696f6e206f66206120636f6e74726163742066726f6d20746865206163636f756e742e404c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e40000064a7b3b6e00d000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e4453746f7261676553697a654f66667365740c75333210080000000851012053697a65206f66206120636f6e7472616374206174207468652074696d65206f6620696e7374616e746961696f6e2e205468697320697320612073696d706c652077617920746f20656e737572652074686174a420656d70747920636f6e747261637473206576656e7475616c6c7920676574732064656c657465642e2c52656e74427974654665653042616c616e63654f663c543e40000064a7b3b6e00d0000000000000000043501205072696365206f6620612062797465206f662073746f7261676520706572206f6e6520626c6f636b20696e74657276616c2e2053686f756c642062652067726561746572207468616e20302e4452656e744465706f7369744f66667365743042616c616e63654f663c543e400000a0dec5adc93536000000000000001c05012054686520616d6f756e74206f662066756e6473206120636f6e74726163742073686f756c64206465706f73697420696e206f7264657220746f206f6666736574582074686520636f7374206f66206f6e6520627974652e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e3c5375726368617267655265776172643042616c616e63654f663c543e4000009814440dab21080000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e2c5472616e736665724665653042616c616e63654f663c543e4000008a5d7845630100000000000000000494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e4665653042616c616e63654f663c543e4000008a5d784563010000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e485472616e73616374696f6e426173654665653042616c616e63654f663c543e4000008a5d78456301000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e400080c6a47e8d03000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c436f6e74726163744665653042616c616e63654f663c543e4000008a5d784563010000000000000000084101205468652066656520726571756972656420746f20696e7374616e7469617465206120636f6e747261637420696e7374616e63652e204120726561736f6e61626c652064656661756c742076616c75651c2069732032312e2c43616c6c426173654665650c47617320e803000000000000081d0120546865206261736520666565206368617267656420666f722063616c6c696e6720696e746f206120636f6e74726163742e204120726561736f6e61626c652064656661756c74382076616c7565206973203133352e48496e7374616e7469617465426173654665650c47617320e80300000000000008390120546865206261736520666565206368617267656420666f7220696e7374616e74696174696e67206120636f6e74726163742e204120726561736f6e61626c652064656661756c742076616c756520206973203137352e204d617844657074680c753332102000000008310120546865206d6178696d756d206e657374696e67206c6576656c206f6620612063616c6c2f696e7374616e746961746520737461636b2e204120726561736f6e61626c652064656661756c74382076616c7565206973203130302e304d617856616c756553697a650c753332100040000004390120546865206d6178696d756d2073697a65206f6620612073746f726167652076616c756520696e2062797465732e204120726561736f6e61626c652064656661756c74206973203136204b69422e34426c6f636b4761734c696d69740c47617320809698000000000008250120546865206d6178696d756d20616d6f756e74206f6620676173207468617420636f756c6420626520657870656e6465642070657220626c6f636b2e204120726561736f6e61626c65742064656661756c742076616c75652069732031305f3030305f3030302e1858496e76616c69645363686564756c6556657273696f6e0405012041206e6577207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652063757272656e74206f6e652e54496e76616c6964537572636861726765436c61696d04550120416e206f726967696e206d757374206265207369676e6564206f7220696e686572656e7420616e6420617578696c696172792073656e646572206f6e6c792070726f7669646564206f6e20696e686572656e742e54496e76616c6964536f75726365436f6e747261637404dc2043616e6e6f7420726573746f72652066726f6d206e6f6e6578697374696e67206f7220746f6d6273746f6e6520636f6e74726163742e68496e76616c696444657374696e6174696f6e436f6e747261637404c42043616e6e6f7420726573746f726520746f206e6f6e6578697374696e67206f7220616c69766520636f6e74726163742e40496e76616c6964546f6d6273746f6e65046020546f6d6273746f6e657320646f6e2774206d617463682e54496e76616c6964436f6e74726163744f726967696e04bc20416e206f726967696e20547269654964207772697474656e20696e207468652063757272656e7420626c6f636b2e204964656e7469747901105375646f10284964656e746974794f6600010130543a3a4163636f756e74496468526567697374726174696f6e3c42616c616e63654f663c543e3e00040004210120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e1c53757065724f6600010130543a3a4163636f756e7449645028543a3a4163636f756e7449642c204461746129000400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f6601010130543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e29004400000000000000000000000000000000000cb820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e28526567697374726172730100d85665633c4f7074696f6e3c526567697374726172496e666f3c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e3e0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e012c346164645f726567697374726172041c6163636f756e7430543a3a4163636f756e744964347c2041646420612072656769737472617220746f207468652073797374656d2e001d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605265676973747261724f726967696e60206f722060526f6f74602e00ac202d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e009820456d6974732060526567697374726172416464656460206966207375636365737366756c2e002c2023203c7765696768743ee4202d20604f2852296020776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e646564292e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e307365745f6964656e746974790410696e666f304964656e74697479496e666f482d012053657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e00590120496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e745420666f7220746865206e6577206465706f7369742e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e0090202d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e008c20456d69747320604964656e7469747953657460206966207375636365737366756c2e002c2023203c7765696768743e5d01202d20604f2858202b205827202b2052296020776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e646564292e88202d204174206d6f73742074776f2062616c616e6365206f7065726174696f6e732e2501202d204f6e652073746f72616765206d75746174696f6e2028636f6465632d7265616420604f285827202b205229602c20636f6465632d777269746520604f2858202b20522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e207365745f73756273041073756273645665633c28543a3a4163636f756e7449642c2044617461293e40902053657420746865207375622d6163636f756e7473206f66207468652073656e6465722e005901205061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e6564310120616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c202d206073756273603a20546865206964656e746974792773207375622d6163636f756e74732e002c2023203c7765696768743eec202d20604f285329602077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e88202d204174206d6f73742074776f2062616c616e6365206f7065726174696f6e732e4101202d204174206d6f7374204f2832202a2053202b2031292073746f72616765206d75746174696f6e733b20636f64656320636f6d706c657869747920604f2831202a2053202b2053202a20312960293b582020206f6e652073746f726167652d6578697374732e302023203c2f7765696768743e38636c6561725f6964656e74697479003c390120436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e7420616e642072657475726e20616c6c206465706f736974732e00f0205061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c20456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f726167652064656c6574696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e44726571756573745f6a756467656d656e7408247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e1c6d61785f66656554436f6d706163743c42616c616e63654f663c543e3e5c9820526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e005901205061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e741c20676976656e2e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e002101202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e5901202d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a0034206060606e6f636f6d70696c65a42053656c663a3a72656769737472617273287265675f696e646578292e75776e72617028292e666565102060606000a820456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2858202b205229602e34202d204f6e65206576656e742e302023203c2f7765696768743e3863616e63656c5f7265717565737404247265675f696e64657838526567697374726172496e646578446c2043616e63656c20612070726576696f757320726571756573742e00fc205061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e004901202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00b020456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e8c202d204f6e652073746f72616765206d75746174696f6e20604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e1c7365745f6665650814696e6465785c436f6d706163743c526567697374726172496e6465783e0c66656554436f6d706163743c42616c616e63654f663c543e3e301d0120536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e58202d2060666565603a20746865206e6577206665652e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602e302023203c2f7765696768743e387365745f6163636f756e745f69640814696e6465785c436f6d706163743c526567697374726172496e6465783e0c6e657730543a3a4163636f756e74496430c0204368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e74202d20606e6577603a20746865206e6577206163636f756e742049442e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602e302023203c2f7765696768743e287365745f6669656c64730814696e6465785c436f6d706163743c526567697374726172496e6465783e186669656c6473384964656e746974794669656c647330ac2053657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e1101202d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602e302023203c2f7765696768743e4470726f766964655f6a756467656d656e740c247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365246a756467656d656e745c4a756467656d656e743c42616c616e63654f663c543e3e4cbc2050726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b4206f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e002501202d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e5901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e4d01202d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e009820456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e88202d204f6e652062616c616e63652d7472616e73666572206f7065726174696f6e2e98202d20557020746f206f6e65206163636f756e742d6c6f6f6b7570206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e346b696c6c5f6964656e7469747904187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654c45012052656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e006501205061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c656420627949012060536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c656484206d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00310120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f206f72206d617463682060543a3a466f7263654f726967696e602e005901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e009820456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f72616765206d75746174696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e011c2c4964656e7469747953657404244163636f756e74496404f02041206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e3c4964656e74697479436c656172656408244163636f756e7449641c42616c616e636504d02041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e384964656e746974794b696c6c656408244163636f756e7449641c42616c616e636504c82041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e484a756467656d656e7452657175657374656408244163636f756e74496438526567697374726172496e64657804a02041206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e504a756467656d656e74556e72657175657374656408244163636f756e74496438526567697374726172496e646578048c2041206a756467656d656e74207265717565737420776173207265747261637465642e384a756467656d656e74476976656e08244163636f756e74496438526567697374726172496e64657804982041206a756467656d656e742077617320676976656e2062792061207265676973747261722e3852656769737472617241646465640438526567697374726172496e646578045c204120726567697374726172207761732061646465642e003048546f6f4d616e795375624163636f756e7473046020546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e640454204163636f756e742069736e277420666f756e642e204e6f744e616d65640454204163636f756e742069736e2774206e616d65642e28456d707479496e646578043420456d70747920696e6465782e284665654368616e676564044020466565206973206368616e6765642e284e6f4964656e74697479044c204e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e74044820537469636b79206a756467656d656e742e384a756467656d656e74476976656e0444204a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e74044c20496e76616c6964206a756467656d656e742e30496e76616c6964496e64657804582054686520696e64657820697320696e76616c69642e34496e76616c6964546172676574045c205468652074617267657420697320696e76616c69642e34546f6f4d616e794669656c6473047020546f6f206d616e79206164646974696f6e616c206669656c64732e20496d4f6e6c696e650120496d4f6e6c696e6510384865617274626561744166746572010038543a3a426c6f636b4e756d62657210000000001831012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e2063757272656e742073657373696f6e2e0011012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c64d02066616c6c20726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e010120546865206964656120697320746f206669727374207761697420666f72207468652076616c696461746f727320746f2070726f64756365206120626c6f636b390120696e207468652063757272656e742073657373696f6e2c20736f20746861742074686520686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002013053657373696f6e496e6465782441757468496e6465781c5665633c75383e01040008e420466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e646578608c20746f20606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102013053657373696f6e496e64657838543a3a56616c696461746f7249640c75333201100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f662060543a3a56616c696461746f7249646020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500010c444865617274626561745265636569766564042c417574686f72697479496404c02041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964601c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e0431012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e63652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e48417574686f72697479446973636f76657279000100000000204f6666656e63657301204f6666656e6365730c1c5265706f727473000101345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e646578010201104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e010400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010101104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e636508104b696e64384f706171756554696d65536c6f7408550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e64390120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e00006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e0100000000144e69636b7301105375646f04184e616d654f6600010130543a3a4163636f756e7449645c285665633c75383e2c2042616c616e63654f663c543e29000400047020546865206c6f6f6b7570207461626c6520666f72206e616d65732e0110207365745f6e616d6504106e616d651c5665633c75383e405d012053657420616e206163636f756e742773206e616d652e20546865206e616d652073686f756c642062652061205554462d382d656e636f64656420737472696e6720627920636f6e76656e74696f6e2c2074686f7567684c20776520646f6e277420636865636b2069742e00610120546865206e616d65206d6179206e6f74206265206d6f7265207468616e2060543a3a4d61784c656e677468602062797465732c206e6f72206c657373207468616e2060543a3a4d696e4c656e677468602062797465732e005d0120496620746865206163636f756e7420646f65736e277420616c726561647920686176652061206e616d652c207468656e206120666565206f6620605265736572766174696f6e466565602069732072657365727665644020696e20746865206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e84202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e2e68202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e28636c6561725f6e616d650028510120436c65617220616e206163636f756e742773206e616d6520616e642072657475726e20746865206465706f7369742e204661696c7320696620746865206163636f756e7420776173206e6f74206e616d65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204f6e652062616c616e6365206f7065726174696f6e2e68202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e246b696c6c5f6e616d6504187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636534e42052656d6f766520616e206163636f756e742773206e616d6520616e642074616b6520636861726765206f6620746865206465706f7369742e004901204661696c73206966206077686f6020686173206e6f74206265656e206e616d65642e20546865206465706f736974206973206465616c742077697468207468726f7567682060543a3a536c6173686564604c20696d62616c616e63652068616e646c65722e00310120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f206f72206d617463682060543a3a466f7263654f726967696e602e002c2023203c7765696768743e20202d204f2831292edc202d204f6e6520756e62616c616e6365642068616e646c6572202870726f6261626c7920612062616c616e6365207472616e736665722968202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e28666f7263655f6e616d6508187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365106e616d651c5665633c75383e30c82053657420612074686972642d7061727479206163636f756e742773206e616d652077697468206e6f206465706f7369742e00a0204e6f206c656e67746820636865636b696e6720697320646f6e65206f6e20746865206e616d652e00310120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f206f72206d617463682060543a3a466f7263654f726967696e602e002c2023203c7765696768743e20202d204f2831292e84202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e2e68202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e01141c4e616d6553657404244163636f756e74496404402041206e616d6520776173207365742e284e616d65466f7263656404244163636f756e74496404642041206e616d652077617320666f726369626c79207365742e2c4e616d654368616e67656404244163636f756e74496404502041206e616d6520776173206368616e6765642e2c4e616d65436c656172656408244163636f756e7449641c42616c616e636504d02041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e284e616d654b696c6c656408244163636f756e7449641c42616c616e636504c82041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e0c385265736572766174696f6e4665653042616c616e63654f663c543e40000064a7b3b6e00d00000000000000000444205265736572766174696f6e206665652e244d696e4c656e6774680c7533321003000000048820546865206d696e696d756d206c656e6774682061206e616d65206d61792062652e244d61784c656e6774680c7533321010000000048820546865206d6178696d756d206c656e6774682061206e616d65206d61792062652e0c20546f6f53686f727404542041206e616d6520697320746f6f2073686f72742e1c546f6f4c6f6e6704502041206e616d6520697320746f6f206c6f6e672e1c556e6e616d6564045c20416e206163636f756e7420696e2774206e616d65642e105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e010c107375646f042070726f706f73616c40426f783c543a3a50726f706f73616c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ed4202d20556e6b6e6f776e20776569676874206f662064657269766174697665206070726f706f73616c6020657865637574696f6e2e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652070726f706f73616c40426f783c543a3a50726f706f73616c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ed4202d20556e6b6e6f776e20776569676874206f662064657269766174697665206070726f706f73616c6020657865637574696f6e2e302023203c2f7765696768743e010c1453756469640410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e284b65794368616e67656404244163636f756e74496404f020546865207375646f6572206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e650410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e74245369676e616c696e6701245369676e616c696e671c3450726f706f73616c436f756e7401000c753332100000000004c02054686520746f74616c206e756d626572206f662070726f706f73616c7320637265617465642074687573206661722e44496e61637469766550726f706f73616c730100785665633c28543a3a486173682c20543a3a426c6f636b4e756d626572293e040004802041206c697374206f6620616c6c20657874616e742070726f706f73616c732e3c41637469766550726f706f73616c730100785665633c28543a3a486173682c20543a3a426c6f636b4e756d626572293e0400041d012041206c697374206f66206163746976652070726f706f73616c7320616c6f6e672077697468207468652074696d65206174207768696368207468657920636f6d706c6574652e48436f6d706c6574656450726f706f73616c730100785665633c28543a3a486173682c20543a3a426c6f636b4e756d626572293e040004c02041206c697374206f6620636f6d706c657465642070726f706f73616c732c2070656e64696e672064656c6574696f6e30566f74696e674c656e677468010038543a3a426c6f636b4e756d626572100000000004d420416d6f756e74206f662074696d6520612070726f706f73616c2072656d61696e7320696e2022566f74696e67222073746167652e2850726f706f73616c4f660001011c543a3a48617368b050726f706f73616c5265636f72643c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e000400041501204d617020666f722072657472696576696e672074686520696e666f726d6174696f6e2061626f757420616e792070726f706f73616c2066726f6d2069747320686173682e5050726f706f73616c4372656174696f6e426f6e6401003042616c616e63654f663c543e4000000000000000000000000000000000044820526567697374726174696f6e20626f6e6401083c6372656174655f70726f706f73616c14147469746c653450726f706f73616c5469746c6520636f6e74656e74734050726f706f73616c436f6e74656e7473206f7574636f6d6573405665633c566f74654f7574636f6d653e24766f74655f7479706540766f74696e673a3a566f7465547970652874616c6c795f7479706544766f74696e673a3a54616c6c7954797065048820437265617465732061206e6577207369676e616c696e672070726f706f73616c2e40616476616e63655f70726f706f73616c043470726f706f73616c5f686173681c543a3a4861736808090120416476616e63652061207369676e616c696e672070726f706f73616c20696e746f207468652022766f74696e6722206f722022636f6d6d6974222073746167652ef82043616e206f6e6c7920626520706572666f726d656420627920746865206f726967696e616c20617574686f72206f66207468652070726f706f73616c2e01102c4e657750726f706f73616c08244163636f756e744964104861736804d820456d69747465642061742070726f706f73616c206372656174696f6e3a202843726561746f722c2050726f706f73616c486173682934436f6d6d6974537461727465640c10486173680c7536342c426c6f636b4e756d62657204210120456d6974746564207768656e20636f6d6d697420737461676520626567696e733a202850726f706f73616c486173682c20566f746549642c20436f6d6d6974456e6454696d652934566f74696e67537461727465640c10486173680c7536342c426c6f636b4e756d62657204090120456d6974746564207768656e20766f74696e6720626567696e733a202850726f706f73616c486173682c20566f746549642c20566f74696e67456e6454696d65293c566f74696e67436f6d706c657465640810486173680c75363404190120456d6974746564207768656e20766f74696e6720697320636f6d706c657465643a202850726f706f73616c486173682c20566f746549642c20566f7465526573756c747329000454566f74655265636f7264446f65736e7445786973740018566f74696e670118566f74696e67082c566f74655265636f7264730001010c75363460566f74655265636f72643c543a3a4163636f756e7449643e00040004a820546865206d6170206f6620616c6c20766f7465207265636f72647320696e64657865642062792069643c566f74655265636f7264436f756e7401000c75363420000000000000000004c820546865206e756d626572206f6620766f7465207265636f72647320746861742068617665206265656e2063726561746564010818636f6d6d6974081c766f74655f69640c75363418636f6d6d69742c566f74654f7574636f6d6514250120412066756e6374696f6e20666f7220636f6d6d69742d72657665616c20766f74696e6720736368656d657320746861742061646473206120766f746520636f6d6d69746d656e742e001501204120766f746520636f6d6d69746d656e7420697320666f726d6174746564207573696e6720746865206e617469766520686173682066756e6374696f6e2e2054686572651901206172652063757272656e746c79206e6f2063727970746f65636f6e6f6d69632070756e6973686d656e747320616761696e7374206e6f742072657665616c696e67207468653020636f6d6d69746d656e742e1872657665616c0c1c766f74655f69640c75363410766f7465405665633c566f74654f7574636f6d653e187365637265744c4f7074696f6e3c566f74654f7574636f6d653e0c490120412066756e6374696f6e20746861742072657665616c73206120766f746520636f6d6d69746d656e74206f7220736572766573206173207468652067656e6572616c20766f74652066756e6374696f6e2e003d01205468657265206172652063757272656e746c79206e6f2063727970746f65636f6e6f6d696320696e63656e746976657320666f722072657665616c696e6720636f6d6d6974656420766f7465732e01102c566f7465437265617465640c0c753634244163636f756e74496420566f7465547970650494206e657720766f7465202869642c2063726561746f722c2074797065206f6620766f74652930566f7465416476616e6365640c0c75363424566f7465537461676524566f7465537461676504c420766f7465207374616765207472616e736974696f6e202869642c206f6c642073746167652c206e65772073746167652934566f7465436f6d6d6974746564080c753634244163636f756e7449640434207573657220636f6d6d69747330566f746552657665616c65640c0c753634244163636f756e744964405665633c566f74654f7574636f6d653e045020757365722072657665616c73206120766f7465000434566f7465436f6d706c6574656400385472656173757279526577617264013854726561737572795265776172640c3c4d696e74696e67496e74657276616c010038543a3a426c6f636b4e756d626572100000000004c020496e74657276616c20696e206e756d626572206f6620626c6f636b7320746f207265776172642074726561737572793443757272656e745061796f757401003042616c616e63654f663c543e400000000000000000000000000000000004642043757272656e74207061796f7574206f66206d6f64756c650c506f74010028543a3a42616c616e6365400000000000000000000000000000000004302043757272656e7420706f74010001043c54726561737572794d696e74696e670c1c42616c616e63652042616c616e6365322c426c6f636b4e756d626572000000041c30436865636b56657273696f6e30436865636b47656e6573697320436865636b45726128436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e7448436865636b426c6f636b4761734c696d6974", + "id": 29 +} diff --git a/packages/sdk/package.json b/packages/sdk/package.json index fecb356..bd383e4 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -27,9 +27,11 @@ "browser/*" ], "scripts": { - "build": "npm run build:node && npm run build:browser", + "build": "npm run generate:defs && npm run generate:meta && npm run build:node && npm run build:browser", "build:node": "tsup --config tsup.node.ts", "build:browser": "tsup --config tsup.browser.ts", + "generate:defs": "ts-node --skip-project ../../node_modules/.bin/polkadot-types-from-defs --package @phala/sdk --input ./src/interfaces --endpoint ./edgeware.json", + "generate:meta": "ts-node --skip-project ../../node_modules/.bin/polkadot-types-from-chain --package @phala/sdk --endpoint ./edgeware.json --output ./src/interfaces", "build:proto": "scripts/build_proto.sh", "dev": "tsup --watch", "lint": "eslint --cache .", @@ -51,12 +53,14 @@ }, "devDependencies": { "@esbuild-plugins/node-globals-polyfill": "^0.1.1", + "@polkadot/typegen": "^9.11.1", "@types/node": "^16.11.59", "@typescript-eslint/eslint-plugin": "^5.42.1", "@typescript-eslint/parser": "^5.42.1", "eslint": "^8.23.1", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.1", + "ts-node": "^10.9.1", "tsup": "^6.4.0", "typescript": "^4.8.4" }, diff --git a/packages/sdk/src/certificate.ts b/packages/sdk/src/certificate.ts index 5ed64ce..4d69a52 100644 --- a/packages/sdk/src/certificate.ts +++ b/packages/sdk/src/certificate.ts @@ -1,87 +1,91 @@ -import type {ApiPromise} from '@polkadot/api' -import type {InjectedAccount, InjectedAccountWithMeta} from '@polkadot/extension-inject/types' -import type {KeyringPair} from '@polkadot/keyring/types' -import type {Signer} from '@polkadot/types/types' -import type {Signer as InjectedSigner} from '@polkadot/api/types' +import type { ApiPromise } from "@polkadot/api"; +import type { Signer as InjectedSigner } from "@polkadot/api/types"; +import type { InjectedAccountWithMeta } from "@polkadot/extension-inject/types"; +import type { KeyringPair } from "@polkadot/keyring/types"; +import type { Signer } from "@polkadot/types/types"; -import {hexAddPrefix, hexToU8a, u8aToHex} from '@polkadot/util' -import {decodeAddress} from '@polkadot/util-crypto' -import {sr25519KeypairFromSeed, waitReady} from '@polkadot/wasm-crypto' -import {randomHex} from './lib/hex' -import {pruntime_rpc as pruntimeRpc} from './proto' +import { hexAddPrefix, hexToU8a, u8aToHex } from "@polkadot/util"; +import { decodeAddress } from "@polkadot/util-crypto"; +import { sr25519KeypairFromSeed, waitReady } from "@polkadot/wasm-crypto"; +import { randomHex } from "./lib/hex"; +import { pruntime_rpc as pruntimeRpc } from "./proto"; export type CertificateData = { - certificate: pruntimeRpc.ICertificate - pubkey: Uint8Array - secret: Uint8Array -} + certificate: pruntimeRpc.ICertificate; + pubkey: Uint8Array; + secret: Uint8Array; +}; interface CertificateBaseParams { - api: ApiPromise - signatureType?: pruntimeRpc.SignatureType + api: ApiPromise; + signatureType?: pruntimeRpc.SignatureType; } interface CertificateParamsWithSigner extends CertificateBaseParams { - signer: Signer | InjectedSigner - account: InjectedAccountWithMeta + signer: Signer | InjectedSigner; + account: InjectedAccountWithMeta; } interface CertificateParamsWithPair extends CertificateBaseParams { - pair: KeyringPair + pair: KeyringPair; } -type CertificateParams = CertificateParamsWithSigner | CertificateParamsWithPair +type CertificateParams = + | CertificateParamsWithSigner + | CertificateParamsWithPair; const isUsingSigner = ( params: CertificateParams ): params is CertificateParamsWithSigner => - (params as CertificateParamsWithSigner).signer !== undefined + (params as CertificateParamsWithSigner).signer !== undefined; export const signCertificate = async ( params: CertificateParams ): Promise => { - await waitReady() - const {api} = params - const generatedSeed = hexToU8a(hexAddPrefix(randomHex(32))) - const generatedPair = sr25519KeypairFromSeed(generatedSeed) - const [secret, pubkey] = [generatedPair.slice(0, 64), generatedPair.slice(64)] - console.log('sign certificate', params) + await waitReady(); + const { api } = params; + const generatedSeed = hexToU8a(hexAddPrefix(randomHex(32))); + const generatedPair = sr25519KeypairFromSeed(generatedSeed); + const [secret, pubkey] = [ + generatedPair.slice(0, 64), + generatedPair.slice(64), + ]; const encodedCertificateBody = api - .createType('CertificateBody', { + .createType("CertificateBody", { pubkey: u8aToHex(pubkey), ttl: 0x7fffffff, // FIXME: max ttl is not safe config_bits: 0, }) - .toU8a() + .toU8a(); - let signerPubkey: string - let signatureType = params.signatureType - let signature: Uint8Array + let signerPubkey: string; + let signatureType = params.signatureType; + let signature: Uint8Array; if (isUsingSigner(params)) { - const {account, signer} = params - const address = account.address - signerPubkey = u8aToHex(decodeAddress(address)) + const { account, signer } = params; + const address = account.address; + signerPubkey = u8aToHex(decodeAddress(address)); if (!signatureType) { - signatureType = getSignatureTypeFromAccount(account) + signatureType = getSignatureTypeFromAccount(account); } const signerResult = await signer.signRaw?.({ address, data: u8aToHex(encodedCertificateBody), - type: 'bytes', - }) + type: "bytes", + }); if (signerResult) { - signature = hexToU8a(signerResult.signature) + signature = hexToU8a(signerResult.signature); } else { - throw new Error('Failed to sign certificate') + throw new Error("Failed to sign certificate"); } } else { - const {pair} = params - signerPubkey = u8aToHex(pair.publicKey) + const { pair } = params; + signerPubkey = u8aToHex(pair.publicKey); if (!signatureType) { - signatureType = getSignatureTypeFromPair(pair) + signatureType = getSignatureTypeFromPair(pair); } - signature = pair.sign(encodedCertificateBody) + signature = pair.sign(encodedCertificateBody); } const certificate: pruntimeRpc.ICertificate = { @@ -89,7 +93,7 @@ export const signCertificate = async ( signature: { signedBy: { encodedBody: api - .createType('CertificateBody', { + .createType("CertificateBody", { pubkey: signerPubkey, ttl: 0x7fffffff, // FIXME: max ttl is not safe config_bits: 0, @@ -100,46 +104,46 @@ export const signCertificate = async ( signatureType, signature, }, - } + }; return { certificate, pubkey, secret, - } -} + }; +}; const getSignatureTypeFromAccount = (account: InjectedAccountWithMeta) => { - const keypairType = account.type || 'sr25519' + const keypairType = account.type || "sr25519"; // Polkadot JS signature use wrapBytes - const useWrapBytes = account.meta.source === 'polkadot-js' + const useWrapBytes = account.meta.source === "polkadot-js"; switch (keypairType) { - case 'sr25519': + case "sr25519": return useWrapBytes ? pruntimeRpc.SignatureType.Sr25519WrapBytes - : pruntimeRpc.SignatureType.Sr25519 - case 'ed25519': + : pruntimeRpc.SignatureType.Sr25519; + case "ed25519": return useWrapBytes ? pruntimeRpc.SignatureType.Ed25519WrapBytes - : pruntimeRpc.SignatureType.Ed25519 - case 'ecdsa': + : pruntimeRpc.SignatureType.Ed25519; + case "ecdsa": return useWrapBytes ? pruntimeRpc.SignatureType.EcdsaWrapBytes - : pruntimeRpc.SignatureType.Ecdsa + : pruntimeRpc.SignatureType.Ecdsa; default: - throw new Error('Unsupported keypair type') + throw new Error("Unsupported keypair type"); } -} +}; const getSignatureTypeFromPair = (pair: KeyringPair) => { switch (pair.type) { - case 'sr25519': - return pruntimeRpc.SignatureType.Sr25519 - case 'ed25519': - return pruntimeRpc.SignatureType.Ed25519 - case 'ecdsa': - return pruntimeRpc.SignatureType.Ecdsa + case "sr25519": + return pruntimeRpc.SignatureType.Sr25519; + case "ed25519": + return pruntimeRpc.SignatureType.Ed25519; + case "ecdsa": + return pruntimeRpc.SignatureType.Ecdsa; default: - throw new Error('Unsupported keypair type') + throw new Error("Unsupported keypair type"); } -} +}; diff --git a/packages/sdk/src/create.ts b/packages/sdk/src/create.ts index d938e79..95abff7 100644 --- a/packages/sdk/src/create.ts +++ b/packages/sdk/src/create.ts @@ -1,86 +1,86 @@ -import type {ApiPromise} from '@polkadot/api' -import type {SubmittableExtrinsic} from '@polkadot/api/types' -import type {Bytes, u64, Compact} from '@polkadot/types-codec' -import type {AccountId} from '@polkadot/types/interfaces' -import type {Codec} from '@polkadot/types/types' +import type { ApiPromise } from "@polkadot/api"; +import type { SubmittableExtrinsic } from "@polkadot/api/types"; +import type { Bytes, Compact, u64 } from "@polkadot/types-codec"; +import type { AccountId } from "@polkadot/types/interfaces"; +import type { Codec } from "@polkadot/types/types"; import { + BN, hexAddPrefix, hexStripPrefix, hexToU8a, stringToHex, u8aToHex, - BN, -} from '@polkadot/util' +} from "@polkadot/util"; import { sr25519Agree, sr25519KeypairFromSeed, sr25519Sign, waitReady, -} from '@polkadot/wasm-crypto' -import axios, {AxiosError} from 'axios' -import {from} from 'rxjs' -import type {CertificateData} from './certificate' -import {decrypt, encrypt} from './lib/aes-256-gcm' -import {randomHex} from './lib/hex' -import {prpc, pruntime_rpc as pruntimeRpc} from './proto' +} from "@polkadot/wasm-crypto"; +import axios, { AxiosError } from "axios"; +import { from } from "rxjs"; +import type { CertificateData } from "./certificate"; +import { decrypt, encrypt } from "./lib/aes-256-gcm"; +import { randomHex } from "./lib/hex"; +import { prpc, pruntime_rpc as pruntimeRpc } from "./proto"; export type QueryFn = ( encodedQuery: string, certificateData: CertificateData -) => Promise +) => Promise; export type SidevmQuery = ( bytes: Bytes, certificateData: CertificateData -) => Promise +) => Promise; type EncryptedData = { - iv: string - pubkey: string - data: string -} + iv: string; + pubkey: string; + data: string; +}; type CreateEncryptedData = ( data: string, agreementKey: Uint8Array -) => EncryptedData +) => EncryptedData; export type CommandFn = (params: { - contractId: string - payload: string - deposit: BN -}) => SubmittableExtrinsic<'promise'> + contractId: string; + payload: string; + deposit: BN; +}) => SubmittableExtrinsic<"promise">; export interface PhalaInstance { - query: QueryFn - command: CommandFn + query: QueryFn; + command: CommandFn; } export interface ContractExecResultWeightV2 extends Codec { gasConsumedV2?: { - refTime: Compact - proofSize: Compact - } - gasConsumed?: u64 + refTime: Compact; + proofSize: Compact; + }; + gasConsumed?: u64; gasRequiredV2?: { - refTime: Compact - proofSize: Compact - } - gasRequired?: u64 + refTime: Compact; + proofSize: Compact; + }; + gasRequired?: u64; } export interface CreateFnOptions { - api: ApiPromise - baseURL: string - contractId: string - remotePubkey?: string - autoDeposit?: boolean + api: ApiPromise; + baseURL: string; + contractId: string; + remotePubkey?: string; + autoDeposit?: boolean; } export interface CreateFnResult { - api: ApiPromise - sidevmQuery: SidevmQuery - instantiate: SidevmQuery + api: ApiPromise; + sidevmQuery: SidevmQuery; + instantiate: SidevmQuery; } export const createPruntimeApi = (baseURL: string) => { @@ -88,10 +88,10 @@ export const createPruntimeApi = (baseURL: string) => { const http = axios.create({ baseURL, headers: { - 'Content-Type': 'application/octet-stream', + "Content-Type": "application/octet-stream", }, - responseType: 'arraybuffer', - }).post + responseType: "arraybuffer", + }).post; const pruntimeApi = pruntimeRpc.PhactoryAPI.create( async (method, requestData, callback) => { @@ -99,110 +99,121 @@ export const createPruntimeApi = (baseURL: string) => { const res = await http( `/prpc/PhactoryAPI.${method.name}`, new Uint8Array(requestData) - ) - callback(null, new Uint8Array(res.data)) + ); + callback(null, new Uint8Array(res.data)); } catch (err: unknown) { if ( err instanceof AxiosError && err.response?.data instanceof ArrayBuffer ) { - const message = new Uint8Array(err.response.data) - callback(new Error(prpc.PrpcError.decode(message).message)) + const message = new Uint8Array(err.response.data); + callback(new Error(prpc.PrpcError.decode(message).message)); } else { - throw err + throw err; } } } - ) + ); - return pruntimeApi -} + return pruntimeApi; +}; -export async function create({api, baseURL, contractId, remotePubkey, autoDeposit = false}: CreateFnOptions): Promise { - await waitReady() +export async function create({ + api, + baseURL, + contractId, + remotePubkey, + autoDeposit = false, +}: CreateFnOptions): Promise { + await waitReady(); - const pruntimeApi = createPruntimeApi(baseURL) + const pruntimeApi = createPruntimeApi(baseURL); if (!remotePubkey) { // Get public key from remote for encrypting - const info = await pruntimeApi.getInfo({}) - if (!info || !info.publicKey) throw new Error('No remote pubkey') - remotePubkey = hexAddPrefix(info.publicKey) + const info = await pruntimeApi.getInfo({}); + if (!info || !info.publicKey) throw new Error("No remote pubkey"); + remotePubkey = hexAddPrefix(info.publicKey); } // Generate a keypair for encryption // NOTE: each instance only has a pre-generated pair now, it maybe better to generate a new keypair every time encrypting - const seed = hexToU8a(hexAddPrefix(randomHex(32))) - const pair = sr25519KeypairFromSeed(seed) - const [sk, pk] = [pair.slice(0, 64), pair.slice(64)] + const seed = hexToU8a(hexAddPrefix(randomHex(32))); + const pair = sr25519KeypairFromSeed(seed); + const [sk, pk] = [pair.slice(0, 64), pair.slice(64)]; const queryAgreementKey = sr25519Agree( hexToU8a(hexAddPrefix(remotePubkey)), sk - ) + ); const contractKey = ( await api.query.phalaRegistry.contractKeys(contractId) - ).toString() + ).toString(); if (!contractKey) { - throw new Error(`No contract key for ${contractId}`) + throw new Error(`No contract key for ${contractId}`); } - const commandAgreementKey = sr25519Agree(hexToU8a(contractKey), sk) + const commandAgreementKey = sr25519Agree(hexToU8a(contractKey), sk); const createEncryptedData: CreateEncryptedData = (data, agreementKey) => { - const iv = hexAddPrefix(randomHex(12)) + const iv = hexAddPrefix(randomHex(12)); return { iv, pubkey: u8aToHex(pk), data: hexAddPrefix(encrypt(data, agreementKey, hexToU8a(iv))), - } - } + }; + }; - let gasPrice = new BN(0) + let gasPrice = new BN(0); if (autoDeposit) { - const contractInfo = await api.query.phalaFatContracts.contracts(contractId) - const cluster = contractInfo.unwrap().cluster - const clusterInfo = await api.query.phalaFatContracts.clusters(cluster) - gasPrice = new BN(clusterInfo.unwrap().gasPrice) + const contractInfo = await api.query.phalaFatContracts.contracts( + contractId + ); + const cluster = contractInfo.unwrap().cluster; + const clusterInfo = await api.query.phalaFatContracts.clusters(cluster); + gasPrice = new BN(clusterInfo.unwrap().gasPrice); } - const query: QueryFn = async (encodedQuery, {certificate, pubkey, secret}) => { + const query: QueryFn = async ( + encodedQuery, + { certificate, pubkey, secret } + ) => { // Encrypt the ContractQuery. - const encryptedData = createEncryptedData(encodedQuery, queryAgreementKey) + const encryptedData = createEncryptedData(encodedQuery, queryAgreementKey); const encodedEncryptedData = api - .createType('EncryptedData', encryptedData) - .toU8a() + .createType("EncryptedData", encryptedData) + .toU8a(); // Sign the encrypted data. const signature: pruntimeRpc.ISignature = { signedBy: certificate, signatureType: pruntimeRpc.SignatureType.Sr25519, signature: sr25519Sign(pubkey, secret, encodedEncryptedData), - } + }; // Send request. const requestData = { encodedEncryptedData, signature, - } + }; return pruntimeApi.contractQuery(requestData).then((res) => { - const {encodedEncryptedData} = res - const {data: encryptedData, iv} = api - .createType('EncryptedData', encodedEncryptedData) + const { encodedEncryptedData } = res; + const { data: encryptedData, iv } = api + .createType("EncryptedData", encodedEncryptedData) .toJSON() as { - iv: string - data: string - } - const data = decrypt(encryptedData, queryAgreementKey, iv) - return hexAddPrefix(data) - }) - } + iv: string; + data: string; + }; + const data = decrypt(encryptedData, queryAgreementKey, iv); + return hexAddPrefix(data); + }); + }; const sidevmQuery: SidevmQuery = async (bytes, certificateData) => query( api - .createType('InkQuery', { + .createType("InkQuery", { head: { nonce: hexAddPrefix(randomHex(32)), id: contractId, @@ -213,12 +224,12 @@ export async function create({api, baseURL, contractId, remotePubkey, autoDeposi }) .toHex(), certificateData - ) - + ); + const instantiate: SidevmQuery = async (payload, certificateData) => query( api - .createType('InkQuery', { + .createType("InkQuery", { head: { nonce: hexAddPrefix(randomHex(32)), id: contractId, @@ -229,76 +240,76 @@ export async function create({api, baseURL, contractId, remotePubkey, autoDeposi }) .toHex(), certificateData - ) + ); - const command: CommandFn = ({contractId, payload, deposit}) => { + const command: CommandFn = ({ contractId, payload, deposit }) => { const encodedPayload = api - .createType('CommandPayload', { + .createType("CommandPayload", { encrypted: createEncryptedData(payload, commandAgreementKey), }) - .toHex() + .toHex(); try { return api.tx.phalaFatContracts.pushContractMessage( contractId, encodedPayload, deposit - ) + ); } catch (err) { return api.tx.phalaMq.pushMessage( stringToHex(`phala/contract/${hexStripPrefix(contractId)}/command`), encodedPayload - ) + ); } - } + }; const txContracts = ( dest: AccountId, value: BN, - gas: {refTime: BN}, + gas: { refTime: BN }, storageDepositLimit: BN | undefined, encParams: Uint8Array ) => { - let deposit = new BN(0) + let deposit = new BN(0); if (autoDeposit) { - const gasFee = new BN(gas.refTime).mul(gasPrice) - deposit = new BN(value).add(gasFee).add(new BN(storageDepositLimit || 0)) + const gasFee = new BN(gas.refTime).mul(gasPrice); + deposit = new BN(value).add(gasFee).add(new BN(storageDepositLimit || 0)); } return command({ contractId: dest.toHex(), payload: api - .createType('InkCommand', { + .createType("InkCommand", { InkMessage: { nonce: hexAddPrefix(randomHex(32)), // FIXME: unexpected u8a prefix - message: api.createType('Vec', encParams).toHex(), + message: api.createType("Vec", encParams).toHex(), transfer: value, gasLimit: gas.refTime, storageDepositLimit, }, }) .toHex(), - deposit - }) - } + deposit, + }); + }; - Object.defineProperty(txContracts, 'meta', { - value: {args: []}, + Object.defineProperty(txContracts, "meta", { + value: { args: [] }, enumerable: true, - }) + }); - const instantiateWithCode = () => null - instantiateWithCode.meta = {args: new Array(6)} + const instantiateWithCode = () => null; + instantiateWithCode.meta = { args: new Array(6) }; - Object.defineProperty(api.tx, 'contracts', { + Object.defineProperty(api.tx, "contracts", { value: { instantiateWithCode, call: txContracts, }, enumerable: true, - }) + }); - Object.defineProperty(api.rx.call, 'contractsApi', { + Object.defineProperty(api.rx.call, "contractsApi", { value: { call: ( origin: CertificateData, @@ -311,7 +322,7 @@ export async function create({api, baseURL, contractId, remotePubkey, autoDeposi return from( query( api - .createType('InkQuery', { + .createType("InkQuery", { head: { nonce: hexAddPrefix(randomHex(32)), id: dest, @@ -324,24 +335,24 @@ export async function create({api, baseURL, contractId, remotePubkey, autoDeposi origin ).then((data) => { return api.createType( - 'ContractExecResult', + "ContractExecResult", ( - api.createType('InkResponse', hexAddPrefix(data)).toJSON() as { - result: {ok: {inkMessageReturn: string}} + api.createType("InkResponse", hexAddPrefix(data)).toJSON() as { + result: { ok: { inkMessageReturn: string } }; } ).result.ok.inkMessageReturn - ) + ); }) - ) + ); }, }, enumerable: true, - }) + }); - Object.defineProperty(api.call, 'contractsApi', { - value: {call: () => null}, + Object.defineProperty(api.call, "contractsApi", { + value: { call: () => null }, enumerable: true, - }) + }); - return {api, sidevmQuery, instantiate} + return { api, sidevmQuery, instantiate }; } diff --git a/packages/sdk/src/global.d.ts b/packages/sdk/src/global.d.ts index a88f6f4..261d189 100644 --- a/packages/sdk/src/global.d.ts +++ b/packages/sdk/src/global.d.ts @@ -1,3 +1,3 @@ -declare module 'crypto-browserify' { - export * from 'crypto'; +declare module "crypto-browserify" { + export * from "crypto"; } diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts index e1ffc74..e2e588d 100644 --- a/packages/sdk/src/index.ts +++ b/packages/sdk/src/index.ts @@ -1,4 +1,4 @@ -export * from './lib/types' -export * from './lib/hex' -export * from './create' -export * from './certificate' +export * from "./lib/types"; +export * from "./lib/hex"; +export * from "./create"; +export * from "./certificate"; diff --git a/packages/sdk/src/interfaces/augment-api-consts.ts b/packages/sdk/src/interfaces/augment-api-consts.ts new file mode 100644 index 0000000..5bcc3cc --- /dev/null +++ b/packages/sdk/src/interfaces/augment-api-consts.ts @@ -0,0 +1,249 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable @typescript-eslint/no-empty-interface */ + +import { Bytes, u32 } from "@polkadot/types/primitive"; +import { Gas } from "@polkadot/types/interfaces/contracts"; +import { + Balance, + BalanceOf, + BlockNumber, + Moment, + Percent, + Permill, +} from "@polkadot/types/interfaces/runtime"; +import { SessionIndex } from "@polkadot/types/interfaces/session"; +import { EraIndex } from "@polkadot/types/interfaces/staking"; + +declare module "@polkadot/metadata/Decorated/consts/types" { + export interface Constants { + timestamp: { + /** + * The minimum period between blocks. Beware that this is different to the *expected* period + * that the block production apparatus provides. Your chosen consensus system will generally + * work with this to determine a sensible block time. e.g. For Aura, it will be double this + * period on default settings. + **/ + minimumPeriod: AugmentedConst; + }; + balances: { + /** + * The minimum amount required to keep an account open. + **/ + existentialDeposit: AugmentedConst; + /** + * The fee required to make a transfer. + **/ + transferFee: AugmentedConst; + /** + * The fee required to create an account. + **/ + creationFee: AugmentedConst; + }; + transactionPayment: { + /** + * The fee to be paid for making a transaction; the base. + **/ + transactionBaseFee: AugmentedConst; + /** + * The fee to be paid for making a transaction; the per-byte portion. + **/ + transactionByteFee: AugmentedConst; + }; + staking: { + /** + * Number of sessions per era. + **/ + sessionsPerEra: AugmentedConst; + /** + * Number of eras that staked funds must remain bonded for. + **/ + bondingDuration: AugmentedConst; + }; + session: { + /** + * Used as first key for `NextKeys` and `KeyOwner` to put all the data into the same branch + * of the trie. + **/ + dedupKeyPrefix: AugmentedConst; + }; + democracy: { + /** + * The minimum period of locking and the period between a proposal being approved and enacted. + * It should generally be a little more than the unstake period to ensure that + * voting stakers have an opportunity to remove themselves from the system in the case where + * they are on the losing side of a vote. + **/ + enactmentPeriod: AugmentedConst; + /** + * How often (in blocks) new public referenda are launched. + **/ + launchPeriod: AugmentedConst; + /** + * How often (in blocks) to check for new votes. + **/ + votingPeriod: AugmentedConst; + /** + * The minimum amount to be used as a deposit for a public referendum proposal. + **/ + minimumDeposit: AugmentedConst; + /** + * Minimum voting period allowed for an emergency referendum. + **/ + emergencyVotingPeriod: AugmentedConst; + /** + * Period in blocks where an external proposal may not be re-submitted after being vetoed. + **/ + cooloffPeriod: AugmentedConst; + /** + * The amount of balance that must be deposited per byte of preimage stored. + **/ + preimageByteDeposit: AugmentedConst; + }; + elections: { + candidacyBond: AugmentedConst; + votingBond: AugmentedConst; + desiredMembers: AugmentedConst; + desiredRunnersUp: AugmentedConst; + termDuration: AugmentedConst; + }; + finalityTracker: { + /** + * The number of recent samples to keep from this chain. Default is 101. + **/ + windowSize: AugmentedConst; + /** + * The delay after which point things become suspicious. Default is 1000. + **/ + reportLatency: AugmentedConst; + }; + treasury: { + /** + * Fraction of a proposal's value that should be bonded in order to place the proposal. + * An accepted proposal gets these back. A rejected proposal does not. + **/ + proposalBond: AugmentedConst; + /** + * Minimum amount of funds that should be placed in a deposit for making a proposal. + **/ + proposalBondMinimum: AugmentedConst; + /** + * Period between successive spends. + **/ + spendPeriod: AugmentedConst; + /** + * Percentage of spare funds (if any) that are burnt per spend period. + **/ + burn: AugmentedConst; + /** + * The period for which a tip remains open after is has achieved threshold tippers. + **/ + tipCountdown: AugmentedConst; + /** + * The amount of the final tip which goes to the original reporter of the tip. + **/ + tipFindersFee: AugmentedConst; + /** + * The amount held on deposit for placing a tip report. + **/ + tipReportDepositBase: AugmentedConst; + /** + * The amount held on deposit per byte within the tip report reason. + **/ + tipReportDepositPerByte: AugmentedConst; + }; + contracts: { + /** + * Number of block delay an extrinsic claim surcharge has. + * When claim surcharge is called by an extrinsic the rent is checked + * for current_block - delay + **/ + signedClaimHandicap: AugmentedConst; + /** + * The minimum amount required to generate a tombstone. + **/ + tombstoneDeposit: AugmentedConst; + /** + * Size of a contract at the time of instantiaion. This is a simple way to ensure that + * empty contracts eventually gets deleted. + **/ + storageSizeOffset: AugmentedConst; + /** + * Price of a byte of storage per one block interval. Should be greater than 0. + **/ + rentByteFee: AugmentedConst; + /** + * The amount of funds a contract should deposit in order to offset + * the cost of one byte. + * Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day, + * then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent. + * But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000, + * then it would pay 500 BU/day. + **/ + rentDepositOffset: AugmentedConst; + /** + * Reward that is received by the party whose touch has led + * to removal of a contract. + **/ + surchargeReward: AugmentedConst; + /** + * The fee required to make a transfer. + **/ + transferFee: AugmentedConst; + /** + * The fee required to create an account. + **/ + creationFee: AugmentedConst; + /** + * The fee to be paid for making a transaction; the base. + **/ + transactionBaseFee: AugmentedConst; + /** + * The fee to be paid for making a transaction; the per-byte portion. + **/ + transactionByteFee: AugmentedConst; + /** + * The fee required to instantiate a contract instance. A reasonable default value + * is 21. + **/ + contractFee: AugmentedConst; + /** + * The base fee charged for calling into a contract. A reasonable default + * value is 135. + **/ + callBaseFee: AugmentedConst; + /** + * The base fee charged for instantiating a contract. A reasonable default value + * is 175. + **/ + instantiateBaseFee: AugmentedConst; + /** + * The maximum nesting level of a call/instantiate stack. A reasonable default + * value is 100. + **/ + maxDepth: AugmentedConst; + /** + * The maximum size of a storage value in bytes. A reasonable default is 16 KiB. + **/ + maxValueSize: AugmentedConst; + /** + * The maximum amount of gas that could be expended per block. A reasonable + * default value is 10_000_000. + **/ + blockGasLimit: AugmentedConst; + }; + nicks: { + /** + * Reservation fee. + **/ + reservationFee: AugmentedConst; + /** + * The minimum length a name may be. + **/ + minLength: AugmentedConst; + /** + * The maximum length a name may be. + **/ + maxLength: AugmentedConst; + }; + } +} diff --git a/packages/sdk/src/interfaces/augment-api-query.ts b/packages/sdk/src/interfaces/augment-api-query.ts new file mode 100644 index 0000000..62c28b4 --- /dev/null +++ b/packages/sdk/src/interfaces/augment-api-query.ts @@ -0,0 +1,1049 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable @typescript-eslint/no-empty-interface */ + +import { ProposalRecord } from "@phala/sdk/interfaces/signaling"; +import { VoteRecord } from "@phala/sdk/interfaces/voting"; +import { ApiTypes } from "@polkadot/api/types"; +import { Option, U8aFixed, Vec } from "@polkadot/types/codec"; +import { UncleEntryItem } from "@polkadot/types/interfaces/authorship"; +import { + BalanceLock, + VestingSchedule, +} from "@polkadot/types/interfaces/balances"; +import { ProposalIndex, Votes } from "@polkadot/types/interfaces/collective"; +import { AuthorityId } from "@polkadot/types/interfaces/consensus"; +import { + CodeHash, + ContractInfo, + Gas, + PrefabWasmModule, + Schedule, +} from "@polkadot/types/interfaces/contracts"; +import { + Conviction, + PropIndex, + Proposal, + ReferendumIndex, + ReferendumInfo, +} from "@polkadot/types/interfaces/democracy"; +import { Vote, VoteThreshold } from "@polkadot/types/interfaces/elections"; +import { + AuthorityList, + SetId, + StoredPendingChange, + StoredState, +} from "@polkadot/types/interfaces/grandpa"; +import { + RegistrarInfo, + Registration, +} from "@polkadot/types/interfaces/identity"; +import { AuthIndex } from "@polkadot/types/interfaces/imOnline"; +import { + Kind, + OffenceDetails, + OpaqueTimeSlot, + ReportIdOf, +} from "@polkadot/types/interfaces/offences"; +import { + AccountId, + AccountIndex, + Balance, + BalanceOf, + BlockNumber, + Hash, + Index, + KeyTypeId, + Moment, + Perbill, + ValidatorId, + Weight, +} from "@polkadot/types/interfaces/runtime"; +import { Keys, SessionIndex } from "@polkadot/types/interfaces/session"; +import { + EraIndex, + EraPoints, + Exposure, + Forcing, + MomentOf, + Nominations, + RewardDestination, + SlashingSpans, + SpanIndex, + SpanRecord, + StakingLedger, + UnappliedSlash, + ValidatorPrefs, +} from "@polkadot/types/interfaces/staking"; +import { + DigestOf, + EventIndex, + EventRecord, +} from "@polkadot/types/interfaces/system"; +import { OpenTip, TreasuryProposal } from "@polkadot/types/interfaces/treasury"; +import { Multiplier } from "@polkadot/types/interfaces/txpayment"; +import { Multisig } from "@polkadot/types/interfaces/utility"; +import { bool, Bytes, Data, u32, u64 } from "@polkadot/types/primitive"; +import { AnyNumber, ITuple } from "@polkadot/types/types"; +import { Observable } from "rxjs"; + +declare module "@polkadot/api/types/storage" { + export interface AugmentedQueries { + system: { + /** + * Extrinsics nonce for accounts. + **/ + accountNonce: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable + >; + /** + * Total extrinsics count for the current block. + **/ + extrinsicCount: AugmentedQuery Observable>>; + /** + * Total weight for all extrinsics put together, for the current block. + **/ + allExtrinsicsWeight: AugmentedQuery< + ApiType, + () => Observable> + >; + /** + * Total length (in bytes) for all extrinsics put together, for the current block. + **/ + allExtrinsicsLen: AugmentedQuery Observable>>; + /** + * Map of block numbers to block hashes. + **/ + blockHash: AugmentedQuery< + ApiType, + (arg: BlockNumber | AnyNumber | Uint8Array) => Observable + >; + /** + * Extrinsics data for the current block (maps an extrinsic's index to its data). + **/ + extrinsicData: AugmentedQuery< + ApiType, + (arg: u32 | AnyNumber | Uint8Array) => Observable + >; + /** + * The current block number being processed. Set by `execute_block`. + **/ + number: AugmentedQuery Observable>; + /** + * Hash of the previous block. + **/ + parentHash: AugmentedQuery Observable>; + /** + * Extrinsics root of the current block, also part of the block header. + **/ + extrinsicsRoot: AugmentedQuery Observable>; + /** + * Digest of the current block, also part of the block header. + **/ + digest: AugmentedQuery Observable>; + /** + * Events deposited for the current block. + **/ + events: AugmentedQuery Observable>>; + /** + * The number of events in the `Events` list. + **/ + eventCount: AugmentedQuery Observable>; + /** + * Mapping between a topic (represented by T::Hash) and a vector of indexes + * of events in the `>` list. + * All topic vectors have deterministic storage locations depending on the topic. This + * allows light-clients to leverage the changes trie storage tracking mechanism and + * in case of changes fetch the list of events of interest. + * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just + * the `EventIndex` then in case if the topic has the same contents on the next block + * no notification will be triggered thus the event might be lost. + **/ + eventTopics: AugmentedQuery< + ApiType, + ( + arg: Hash | string | Uint8Array + ) => Observable>> + >; + }; + utility: { + /** + * The set of open multisig operations. + **/ + multisigs: AugmentedQueryDoubleMap< + ApiType, + ( + key1: AccountId | string | Uint8Array, + key2: U8aFixed | string | Uint8Array + ) => Observable> + >; + }; + timestamp: { + /** + * Current time for the current block. + **/ + now: AugmentedQuery Observable>; + /** + * Did the timestamp get updated in this block? + **/ + didUpdate: AugmentedQuery Observable>; + }; + authorship: { + /** + * Uncles + **/ + uncles: AugmentedQuery Observable>>; + /** + * Author of current block. + **/ + author: AugmentedQuery Observable>>; + /** + * Whether uncles were already set in this block. + **/ + didSetUncles: AugmentedQuery Observable>; + }; + indices: { + /** + * The next free enumeration set. + **/ + nextEnumSet: AugmentedQuery Observable>; + /** + * The enumeration sets. + **/ + enumSet: AugmentedQuery< + ApiType, + ( + arg: AccountIndex | AnyNumber | Uint8Array + ) => Observable> + >; + }; + balances: { + /** + * The total units issued in the system. + **/ + totalIssuance: AugmentedQuery Observable>; + /** + * Information regarding the vesting of a given account. + **/ + vesting: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * The 'free' balance of a given account. + * This is the only balance that matters in terms of most operations on tokens. It + * alone is used to determine the balance when in the contract execution environment. When this + * balance falls below the value of `ExistentialDeposit`, then the 'current account' is + * deleted: specifically `FreeBalance`. Further, the `OnFreeBalanceZero` callback + * is invoked, giving a chance to external modules to clean up data associated with + * the deleted account. + * `frame_system::AccountNonce` is also deleted if `ReservedBalance` is also zero (it also gets + * collapsed to zero if it ever becomes less than `ExistentialDeposit`. + **/ + freeBalance: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable + >; + /** + * The amount of the balance of a given account that is externally reserved; this can still get + * slashed, but gets slashed last of all. + * This balance is a 'reserve' balance that other subsystems use in order to set aside tokens + * that are still 'owned' by the account holder, but which are suspendable. + * When this balance falls below the value of `ExistentialDeposit`, then this 'reserve account' + * is deleted: specifically, `ReservedBalance`. + * `frame_system::AccountNonce` is also deleted if `FreeBalance` is also zero (it also gets + * collapsed to zero if it ever becomes less than `ExistentialDeposit`.) + **/ + reservedBalance: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable + >; + /** + * Any liquidity locks on some account balances. + **/ + locks: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable> + >; + }; + transactionPayment: { + nextFeeMultiplier: AugmentedQuery Observable>; + }; + staking: { + /** + * The ideal number of staking participants. + **/ + validatorCount: AugmentedQuery Observable>; + /** + * Minimum number of staking participants before emergency conditions are imposed. + **/ + minimumValidatorCount: AugmentedQuery Observable>; + /** + * Any validators that may never be slashed or forcibly kicked. It's a Vec since they're + * easy to initialize and the performance hit is minimal (we expect no more than four + * invulnerables) and restricted to testnets. + **/ + invulnerables: AugmentedQuery Observable>>; + /** + * Map from all locked "stash" accounts to the controller account. + **/ + bonded: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable> + >; + /** + * Map from all (unlocked) "controller" accounts to the info regarding the staking. + **/ + ledger: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * Where the reward payment should be made. Keyed by stash. + **/ + payee: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable + >; + /** + * The map from (wannabe) validator stash key to the preferences of that validator. + **/ + validators: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable + >; + /** + * The map from nominator stash key to the set of stash keys of all validators to nominate. + * NOTE: is private so that we can ensure upgraded before all typical accesses. + * Direct storage APIs can still bypass this protection. + **/ + nominators: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * Nominators for a particular account that is in action right now. You can't iterate + * through validators here, but you can find them in the Session module. + * This is keyed by the stash account. + **/ + stakers: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable + >; + /** + * The currently elected validator set keyed by stash account ID. + **/ + currentElected: AugmentedQuery Observable>>; + /** + * The current era index. + **/ + currentEra: AugmentedQuery Observable>; + /** + * The start of the current era. + **/ + currentEraStart: AugmentedQuery Observable>; + /** + * The session index at which the current era started. + **/ + currentEraStartSessionIndex: AugmentedQuery< + ApiType, + () => Observable + >; + /** + * Rewards for the current era. Using indices of current elected set. + **/ + currentEraPointsEarned: AugmentedQuery< + ApiType, + () => Observable + >; + /** + * The amount of balance actively at stake for each validator slot, currently. + * This is used to derive rewards and punishments. + **/ + slotStake: AugmentedQuery Observable>; + /** + * True if the next session change will be a new era regardless of index. + **/ + forceEra: AugmentedQuery Observable>; + /** + * The percentage of the slash that is distributed to reporters. + * The rest of the slashed value is handled by the `Slash`. + **/ + slashRewardFraction: AugmentedQuery Observable>; + /** + * The amount of currency given to reporters of a slash event which was + * canceled by extraordinary circumstances (e.g. governance). + **/ + canceledSlashPayout: AugmentedQuery Observable>; + /** + * All unapplied slashes that are queued for later. + **/ + unappliedSlashes: AugmentedQuery< + ApiType, + ( + arg: EraIndex | AnyNumber | Uint8Array + ) => Observable> + >; + /** + * A mapping from still-bonded eras to the first session index of that era. + **/ + bondedEras: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * All slashing events on validators, mapped by era to the highest slash proportion + * and slash value of the era. + **/ + validatorSlashInEra: AugmentedQueryDoubleMap< + ApiType, + ( + key1: EraIndex | AnyNumber | Uint8Array, + key2: AccountId | string | Uint8Array + ) => Observable>> + >; + /** + * All slashing events on nominators, mapped by era to the highest slash value of the era. + **/ + nominatorSlashInEra: AugmentedQueryDoubleMap< + ApiType, + ( + key1: EraIndex | AnyNumber | Uint8Array, + key2: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * Slashing spans for stash accounts. + **/ + slashingSpans: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * Records information about the maximum slash of a stash within a slashing span, + * as well as how much reward has been paid out. + **/ + spanSlash: AugmentedQuery< + ApiType, + ( + arg: + | ITuple<[AccountId, SpanIndex]> + | [ + AccountId | string | Uint8Array, + SpanIndex | AnyNumber | Uint8Array + ] + ) => Observable + >; + /** + * The earliest era for which we have a pending, unapplied slash. + **/ + earliestUnappliedSlash: AugmentedQuery< + ApiType, + () => Observable> + >; + /** + * The version of storage for upgrade. + **/ + storageVersion: AugmentedQuery Observable>; + }; + session: { + /** + * The current set of validators. + **/ + validators: AugmentedQuery Observable>>; + /** + * Current index of the session. + **/ + currentIndex: AugmentedQuery Observable>; + /** + * True if the underlying economic identities or weighting behind the validators + * has changed in the queued validator set. + **/ + queuedChanged: AugmentedQuery Observable>; + /** + * The queued keys for the next session. When the next session begins, these keys + * will be used to determine the validator's session keys. + **/ + queuedKeys: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * Indices of disabled validators. + * The set is cleared when `on_session_ending` returns a new set of identities. + **/ + disabledValidators: AugmentedQuery Observable>>; + /** + * The next session keys for a validator. + * The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch of + * the trie. Having all data in the same branch should prevent slowing down other queries. + **/ + nextKeys: AugmentedQueryDoubleMap< + ApiType, + ( + key1: Bytes | string | Uint8Array, + key2: ValidatorId | string | Uint8Array + ) => Observable> + >; + /** + * The owner of a key. The second key is the `KeyTypeId` + the encoded key. + * The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch of + * the trie. Having all data in the same branch should prevent slowing down other queries. + **/ + keyOwner: AugmentedQueryDoubleMap< + ApiType, + ( + key1: Bytes | string | Uint8Array, + key2: + | ITuple<[KeyTypeId, Bytes]> + | [KeyTypeId | AnyNumber | Uint8Array, Bytes | string | Uint8Array] + ) => Observable> + >; + }; + democracy: { + /** + * The number of (public) proposals that have been made so far. + **/ + publicPropCount: AugmentedQuery Observable>; + /** + * The public proposals. Unsorted. The second item is the proposal's hash. + **/ + publicProps: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * Map of hashes to the proposal preimage, along with who registered it and their deposit. + * The block number is the block at which it was deposited. + **/ + preimages: AugmentedQuery< + ApiType, + ( + arg: Hash | string | Uint8Array + ) => Observable< + Option> + > + >; + /** + * Those who have locked a deposit. + **/ + depositOf: AugmentedQuery< + ApiType, + ( + arg: PropIndex | AnyNumber | Uint8Array + ) => Observable]>>> + >; + /** + * The next free referendum index, aka the number of referenda started so far. + **/ + referendumCount: AugmentedQuery< + ApiType, + () => Observable + >; + /** + * The lowest referendum index representing an unbaked referendum. Equal to + * `ReferendumCount` if there isn't a unbaked referendum. + **/ + lowestUnbaked: AugmentedQuery Observable>; + /** + * Information concerning any given referendum. + **/ + referendumInfoOf: AugmentedQuery< + ApiType, + ( + arg: ReferendumIndex | AnyNumber | Uint8Array + ) => Observable> + >; + /** + * Queue of successful referenda to be dispatched. Stored ordered by block number. + **/ + dispatchQueue: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * Get the voters for the current proposal. + **/ + votersFor: AugmentedQuery< + ApiType, + ( + arg: ReferendumIndex | AnyNumber | Uint8Array + ) => Observable> + >; + /** + * Get the vote in a given referendum of a particular voter. The result is meaningful only + * if `voters_for` includes the voter when called with the referendum (you'll get the + * default `Vote` value otherwise). If you don't want to check `voters_for`, then you can + * also check for simple existence with `VoteOf::exists` first. + **/ + voteOf: AugmentedQuery< + ApiType, + ( + arg: + | ITuple<[ReferendumIndex, AccountId]> + | [ + ReferendumIndex | AnyNumber | Uint8Array, + AccountId | string | Uint8Array + ] + ) => Observable + >; + /** + * Who is able to vote for whom. Value is the fund-holding account, key is the + * vote-transaction-sending account. + **/ + proxy: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable> + >; + /** + * Get the account (and lock periods) to which another account is delegating vote. + **/ + delegations: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * True if the last referendum tabled was submitted externally. False if it was a public + * proposal. + **/ + lastTabledWasExternal: AugmentedQuery Observable>; + /** + * The referendum to be tabled whenever it would be valid to table an external proposal. + * This happens when a referendum needs to be tabled and one of two conditions are met: + * - `LastTabledWasExternal` is `false`; or + * - `PublicProps` is empty. + **/ + nextExternal: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * A record of who vetoed what. Maps proposal hash to a possible existent block number + * (until when it may not be resubmitted) and who vetoed it. + **/ + blacklist: AugmentedQuery< + ApiType, + ( + arg: Hash | string | Uint8Array + ) => Observable]>>> + >; + /** + * Record of all proposals that have been subject to emergency cancellation. + **/ + cancellations: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable + >; + }; + council: { + /** + * The hashes of the active proposals. + **/ + proposals: AugmentedQuery Observable>>; + /** + * Actual proposal for a given hash, if it's current. + **/ + proposalOf: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable> + >; + /** + * Votes on a given proposal, if it is ongoing. + **/ + voting: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable> + >; + /** + * Proposals so far. + **/ + proposalCount: AugmentedQuery Observable>; + /** + * The current members of the collective. This is stored sorted (just by value). + **/ + members: AugmentedQuery Observable>>; + }; + elections: { + /** + * The current elected membership. Sorted based on account id. + **/ + members: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * The current runners_up. Sorted based on low to high merit (worse to best runner). + **/ + runnersUp: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * The total number of vote rounds that have happened, excluding the upcoming one. + **/ + electionRounds: AugmentedQuery Observable>; + /** + * Votes of a particular voter, with the round index of the votes. + **/ + votesOf: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable> + >; + /** + * Locked stake of a voter. + **/ + stakeOf: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable + >; + /** + * The present candidate list. Sorted based on account-id. A current member or a runner can + * never enter this vector and is always implicitly assumed to be a candidate. + **/ + candidates: AugmentedQuery Observable>>; + }; + grandpa: { + /** + * DEPRECATED + * This used to store the current authority set, which has been migrated to the well-known + * GRANDPA_AUTHORITES_KEY unhashed key. + **/ + authorities: AugmentedQuery Observable>; + /** + * State of the current authority set. + **/ + state: AugmentedQuery Observable>; + /** + * Pending change: (signaled at, scheduled change). + **/ + pendingChange: AugmentedQuery< + ApiType, + () => Observable> + >; + /** + * next block number where we can force a change. + **/ + nextForced: AugmentedQuery< + ApiType, + () => Observable> + >; + /** + * `true` if we are currently stalled. + **/ + stalled: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * The number of changes (both in terms of keys and underlying economic responsibilities) + * in the "set" of Grandpa validators from genesis. + **/ + currentSetId: AugmentedQuery Observable>; + /** + * A mapping from grandpa set ID to the index of the *most recent* session for which its members were responsible. + **/ + setIdSession: AugmentedQuery< + ApiType, + ( + arg: SetId | AnyNumber | Uint8Array + ) => Observable> + >; + }; + treasury: { + /** + * Number of proposals that have been made. + **/ + proposalCount: AugmentedQuery Observable>; + /** + * Proposals that have been made. + **/ + proposals: AugmentedQuery< + ApiType, + ( + arg: ProposalIndex | AnyNumber | Uint8Array + ) => Observable> + >; + /** + * Proposal indices that have been approved but not yet awarded. + **/ + approvals: AugmentedQuery Observable>>; + /** + * Tips that are not yet completed. Keyed by the hash of `(reason, who)` from the value. + * This has the insecure enumerable hash function since the key itself is already + * guaranteed to be a secure hash. + **/ + tips: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable> + >; + /** + * Simple preimage lookup from the reason's hash to the original data. Again, has an + * insecure enumerable hash since the key is guaranteed to be the result of a secure hash. + **/ + reasons: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable> + >; + }; + contracts: { + /** + * Gas spent so far in this block. + **/ + gasSpent: AugmentedQuery Observable>; + /** + * Current cost schedule for contracts. + **/ + currentSchedule: AugmentedQuery Observable>; + /** + * A mapping from an original code hash to the original code, untouched by instrumentation. + **/ + pristineCode: AugmentedQuery< + ApiType, + (arg: CodeHash | string | Uint8Array) => Observable> + >; + /** + * A mapping between an original code hash and instrumented wasm code, ready for execution. + **/ + codeStorage: AugmentedQuery< + ApiType, + ( + arg: CodeHash | string | Uint8Array + ) => Observable> + >; + /** + * The subtrie counter. + **/ + accountCounter: AugmentedQuery Observable>; + /** + * The code associated with a given account. + **/ + contractInfoOf: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * The price of one unit of gas. + **/ + gasPrice: AugmentedQuery Observable>; + }; + identity: { + /** + * Information that is pertinent to identify the entity behind an account. + **/ + identityOf: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable> + >; + /** + * The super-identity of an alternative "sub" identity together with its name, within that + * context. If the account is not some other account's sub-identity, then just `None`. + **/ + superOf: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable>> + >; + /** + * Alternative "sub" identities of this account. + * The first item is the deposit, the second is a vector of the accounts. + **/ + subsOf: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable]>> + >; + /** + * The set of registrars. Not expected to get very big as can only be added through a + * special origin (likely a council motion). + * The index into this can be cast to `RegistrarIndex` to get a valid value. + **/ + registrars: AugmentedQuery< + ApiType, + () => Observable>> + >; + }; + imOnline: { + /** + * The block number after which it's ok to send heartbeats in current session. + * At the beginning of each session we set this to a value that should + * fall roughly in the middle of the session duration. + * The idea is to first wait for the validators to produce a block + * in the current session, so that the heartbeat later on will not be necessary. + **/ + heartbeatAfter: AugmentedQuery Observable>; + /** + * The current set of keys that may issue a heartbeat. + **/ + keys: AugmentedQuery Observable>>; + /** + * For each session index, we keep a mapping of `AuthIndex` + * to `offchain::OpaqueNetworkState`. + **/ + receivedHeartbeats: AugmentedQueryDoubleMap< + ApiType, + ( + key1: SessionIndex | AnyNumber | Uint8Array, + key2: AuthIndex | AnyNumber | Uint8Array + ) => Observable> + >; + /** + * For each session index, we keep a mapping of `T::ValidatorId` to the + * number of blocks authored by the given authority. + **/ + authoredBlocks: AugmentedQueryDoubleMap< + ApiType, + ( + key1: SessionIndex | AnyNumber | Uint8Array, + key2: ValidatorId | string | Uint8Array + ) => Observable + >; + }; + offences: { + /** + * The primary structure that holds all offence records keyed by report identifiers. + **/ + reports: AugmentedQuery< + ApiType, + ( + arg: ReportIdOf | string | Uint8Array + ) => Observable> + >; + /** + * A vector of reports of the same kind that happened at the same time slot. + **/ + concurrentReportsIndex: AugmentedQueryDoubleMap< + ApiType, + ( + key1: Kind | string | Uint8Array, + key2: OpaqueTimeSlot | string | Uint8Array + ) => Observable> + >; + /** + * Enumerates all reports of a kind along with the time they happened. + * All reports are sorted by the time of offence. + * Note that the actual type of this mapping is `Vec`, this is because values of + * different types are not supported at the moment so we are doing the manual serialization. + **/ + reportsByKindIndex: AugmentedQuery< + ApiType, + (arg: Kind | string | Uint8Array) => Observable + >; + }; + randomnessCollectiveFlip: { + /** + * Series of block headers from the last 81 blocks that acts as random seed material. This + * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of + * the oldest hash. + **/ + randomMaterial: AugmentedQuery Observable>>; + }; + nicks: { + /** + * The lookup table for names. + **/ + nameOf: AugmentedQuery< + ApiType, + ( + arg: AccountId | string | Uint8Array + ) => Observable>> + >; + }; + sudo: { + /** + * The `AccountId` of the sudo key. + **/ + key: AugmentedQuery Observable>; + }; + signaling: { + /** + * The total number of proposals created thus far. + **/ + proposalCount: AugmentedQuery Observable>; + /** + * A list of all extant proposals. + **/ + inactiveProposals: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * A list of active proposals along with the time at which they complete. + **/ + activeProposals: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * A list of completed proposals, pending deletion + **/ + completedProposals: AugmentedQuery< + ApiType, + () => Observable>> + >; + /** + * Amount of time a proposal remains in "Voting" stage. + **/ + votingLength: AugmentedQuery Observable>; + /** + * Map for retrieving the information about any proposal from its hash. + **/ + proposalOf: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable> + >; + /** + * Registration bond + **/ + proposalCreationBond: AugmentedQuery< + ApiType, + () => Observable + >; + }; + voting: { + /** + * The map of all vote records indexed by id + **/ + voteRecords: AugmentedQuery< + ApiType, + (arg: u64 | AnyNumber | Uint8Array) => Observable> + >; + /** + * The number of vote records that have been created + **/ + voteRecordCount: AugmentedQuery Observable>; + }; + treasuryReward: { + /** + * Interval in number of blocks to reward treasury + **/ + mintingInterval: AugmentedQuery Observable>; + /** + * Current payout of module + **/ + currentPayout: AugmentedQuery Observable>; + /** + * Current pot + **/ + pot: AugmentedQuery Observable>; + }; + } + + export interface QueryableStorage + extends AugmentedQueries {} +} diff --git a/packages/sdk/src/interfaces/augment-api-tx.ts b/packages/sdk/src/interfaces/augment-api-tx.ts new file mode 100644 index 0000000..ff25e04 --- /dev/null +++ b/packages/sdk/src/interfaces/augment-api-tx.ts @@ -0,0 +1,1883 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable @typescript-eslint/no-empty-interface */ + +import { + ProposalContents, + ProposalTitle, +} from "@phala/sdk/interfaces/signaling"; +import { TallyType, VoteOutcome, VoteType } from "@phala/sdk/interfaces/voting"; +import { + ApiTypes, + AugmentedSubmittable, + SubmittableExtrinsic, +} from "@polkadot/api/types"; +import { Compact, Option, U8aFixed, Vec } from "@polkadot/types/codec"; +import { + MemberCount, + ProposalIndex, +} from "@polkadot/types/interfaces/collective"; +import { CodeHash, Gas, Schedule } from "@polkadot/types/interfaces/contracts"; +import { + Conviction, + PropIndex, + Proposal, + ReferendumIndex, +} from "@polkadot/types/interfaces/democracy"; +import { Vote } from "@polkadot/types/interfaces/elections"; +import { Signature } from "@polkadot/types/interfaces/extrinsics"; +import { + IdentityFields, + IdentityInfo, + IdentityJudgement, + RegistrarIndex, +} from "@polkadot/types/interfaces/identity"; +import { Heartbeat } from "@polkadot/types/interfaces/imOnline"; +import { + AccountId, + AccountIndex, + Address, + Balance, + BalanceOf, + BlockNumber, + Call, + ChangesTrieConfiguration, + Hash, + Header, + KeyValue, + LookupSource, + Moment, +} from "@polkadot/types/interfaces/runtime"; +import { Keys } from "@polkadot/types/interfaces/session"; +import { + EraIndex, + RewardDestination, + ValidatorPrefs, +} from "@polkadot/types/interfaces/staking"; +import { Key } from "@polkadot/types/interfaces/system"; +import { Timepoint } from "@polkadot/types/interfaces/utility"; +import { bool, Bytes, Data, u16, u32, u64 } from "@polkadot/types/primitive"; +import { AnyNumber, ITuple } from "@polkadot/types/types"; + +declare module "@polkadot/api/types/submittable" { + export interface AugmentedSubmittables { + system: { + /** + * A big dispatch that will disallow any other transaction to be included. + **/ + fillBlock: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Make some on-chain remark. + **/ + remark: AugmentedSubmittable< + (remark: Bytes | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Set the number of pages in the WebAssembly environment's heap. + **/ + setHeapPages: AugmentedSubmittable< + (pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Set the new runtime code. + **/ + setCode: AugmentedSubmittable< + (code: Bytes | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Set the new runtime code without doing any checks of the given `code`. + **/ + setCodeWithoutChecks: AugmentedSubmittable< + (code: Bytes | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Set the new changes trie configuration. + **/ + setChangesTrieConfig: AugmentedSubmittable< + ( + changesTrieConfig: + | Option + | null + | object + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set some items of storage. + **/ + setStorage: AugmentedSubmittable< + (items: Vec | KeyValue[]) => SubmittableExtrinsic + >; + /** + * Kill some items from storage. + **/ + killStorage: AugmentedSubmittable< + ( + keys: Vec | (Key | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Kill all storage items with a key that starts with the given prefix. + **/ + killPrefix: AugmentedSubmittable< + (prefix: Key | string | Uint8Array) => SubmittableExtrinsic + >; + }; + utility: { + /** + * Send a batch of dispatch calls. + * This will execute until the first one fails and then stop. + * May be called from any origin. + * - `calls`: The calls to be dispatched from the same origin. + * # + * - The sum of the weights of the `calls`. + * - One event. + * # + * This will return `Ok` in all circumstances. To determine the success of the batch, an + * event is deposited. If a call failed and the batch was interrupted, then the + * `BatchInterrupted` event is deposited, along with the number of successful calls made + * and the error of the failed call. If all were successful, then the `BatchCompleted` + * event is deposited. + **/ + batch: AugmentedSubmittable< + ( + calls: + | Vec + | (Call | { callIndex?: any; args?: any } | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Send a call through an indexed pseudonym of the sender. + * The dispatch origin for this call must be _Signed_. + * # + * - The weight of the `call`. + * # + **/ + asSub: AugmentedSubmittable< + ( + index: u16 | AnyNumber | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * If there are enough, then dispatch the call. + * Payment: `MultisigDepositBase` will be reserved if this is the first approval, plus + * `threshold` times `MultisigDepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * The dispatch origin for this call must be _Signed_. + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call`: The call to be executed. + * NOTE: Unless this is the final approval, you will generally want to use + * `approve_as_multi` instead, since it only requires a hash of the call. + * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise + * on success, result is `Ok` and the result from the interior call, if it was executed, + * may be found in the deposited `MultisigExecuted` event. + * # + * - `O(S + Z + Call)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - The weight of the `call`. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a + * deposit taken for its lifetime of + * `MultisigDepositBase + threshold * MultisigDepositFactor`. + * # + **/ + asMulti: AugmentedSubmittable< + ( + threshold: u16 | AnyNumber | Uint8Array, + otherSignatories: + | Vec + | (AccountId | string | Uint8Array)[], + maybeTimepoint: + | Option + | null + | object + | string + | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * Payment: `MultisigDepositBase` will be reserved if this is the first approval, plus + * `threshold` times `MultisigDepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * The dispatch origin for this call must be _Signed_. + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call_hash`: The hash of the call to be executed. + * NOTE: If this is the final approval, you will want to use `as_multi` instead. + * # + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a + * deposit taken for its lifetime of + * `MultisigDepositBase + threshold * MultisigDepositFactor`. + * # + **/ + approveAsMulti: AugmentedSubmittable< + ( + threshold: u16 | AnyNumber | Uint8Array, + otherSignatories: + | Vec + | (AccountId | string | Uint8Array)[], + maybeTimepoint: + | Option + | null + | object + | string + | Uint8Array, + callHash: U8aFixed | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously + * for this operation will be unreserved on success. + * The dispatch origin for this call must be _Signed_. + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `timepoint`: The timepoint (block number and transaction index) of the first approval + * transaction for this dispatch. + * - `call_hash`: The hash of the call to be executed. + * # + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - One event. + * - I/O: 1 read `O(S)`, one remove. + * - Storage: removes one item. + * # + **/ + cancelAsMulti: AugmentedSubmittable< + ( + threshold: u16 | AnyNumber | Uint8Array, + otherSignatories: + | Vec + | (AccountId | string | Uint8Array)[], + timepoint: + | Timepoint + | { height?: any; index?: any } + | string + | Uint8Array, + callHash: U8aFixed | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + timestamp: { + /** + * Set the current time. + * This call should be invoked exactly once per block. It will panic at the finalization + * phase, if this call hasn't been invoked by that time. + * The timestamp should be greater than the previous one by the amount specified by + * `MinimumPeriod`. + * The dispatch origin for this call must be `Inherent`. + **/ + set: AugmentedSubmittable< + ( + now: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + }; + authorship: { + /** + * Provide a set of uncles. + **/ + setUncles: AugmentedSubmittable< + ( + newUncles: + | Vec
+ | ( + | Header + | { + parentHash?: any; + number?: any; + stateRoot?: any; + extrinsicsRoot?: any; + digest?: any; + } + | string + | Uint8Array + )[] + ) => SubmittableExtrinsic + >; + }; + balances: { + /** + * Transfer some liquid free balance to another account. + * `transfer` will set the `FreeBalance` of the sender and receiver. + * It will decrease the total issuance of the system by the `TransferFee`. + * If the sender's account is below the existential deposit as a result + * of the transfer, the account will be reaped. + * The dispatch origin for this call must be `Signed` by the transactor. + * # + * - Dependent on arguments but not critical, given proper implementations for + * input config types. See related functions below. + * - It contains a limited number of reads and writes internally and no complex computation. + * Related functions: + * - `ensure_can_withdraw` is always called internally but has a bounded complexity. + * - Transferring balances to accounts that did not exist before will cause + * `T::OnNewAccount::on_new_account` to be called. + * - Removing enough funds from an account will trigger + * `T::DustRemoval::on_unbalanced` and `T::OnFreeBalanceZero::on_free_balance_zero`. + * - `transfer_keep_alive` works the same way as `transfer`, but has an additional + * check that the transfer will not kill the origin account. + * # + **/ + transfer: AugmentedSubmittable< + ( + dest: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + value: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the balances of a given account. + * This will alter `FreeBalance` and `ReservedBalance` in storage. it will + * also decrease the total issuance of the system (`TotalIssuance`). + * If the new free or reserved balance is below the existential deposit, + * it will reset the account nonce (`frame_system::AccountNonce`). + * The dispatch origin for this call is `root`. + * # + * - Independent of the arguments. + * - Contains a limited number of reads and writes. + * # + **/ + setBalance: AugmentedSubmittable< + ( + who: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + newFree: Compact | AnyNumber | Uint8Array, + newReserved: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Exactly as `transfer`, except the origin must be root and the source account may be + * specified. + **/ + forceTransfer: AugmentedSubmittable< + ( + source: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + dest: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + value: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Same as the [`transfer`] call, but with a check that the transfer will not kill the + * origin account. + * 99% of the time you want [`transfer`] instead. + * [`transfer`]: struct.Module.html#method.transfer + **/ + transferKeepAlive: AugmentedSubmittable< + ( + dest: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + value: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + }; + staking: { + /** + * Take the origin account as a stash and lock up `value` of its balance. `controller` will + * be the account that controls it. + * `value` must be more than the `minimum_balance` specified by `T::Currency`. + * The dispatch origin for this call must be _Signed_ by the stash account. + * # + * - Independent of the arguments. Moderate complexity. + * - O(1). + * - Three extra DB entries. + * NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned unless + * the `origin` falls below _existential deposit_ and gets removed as dust. + * # + **/ + bond: AugmentedSubmittable< + ( + controller: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + value: Compact | AnyNumber | Uint8Array, + payee: + | RewardDestination + | ("Staked" | "Stash" | "Controller") + | number + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Add some extra amount that have appeared in the stash `free_balance` into the balance up + * for staking. + * Use this if there are additional funds in your stash account that you wish to bond. + * Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount + * that can be added. + * The dispatch origin for this call must be _Signed_ by the stash, not the controller. + * # + * - Independent of the arguments. Insignificant complexity. + * - O(1). + * - One DB entry. + * # + **/ + bondExtra: AugmentedSubmittable< + ( + maxAdditional: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule a portion of the stash to be unlocked ready for transfer out after the bond + * period ends. If this leaves an amount actively bonded less than + * T::Currency::minimum_balance(), then it is increased to the full amount. + * Once the unlock period is done, you can call `withdraw_unbonded` to actually move + * the funds out of management ready for transfer. + * No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`) + * can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need + * to be called first to remove some of the chunks (if possible). + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * See also [`Call::withdraw_unbonded`]. + * # + * - Independent of the arguments. Limited but potentially exploitable complexity. + * - Contains a limited number of reads. + * - Each call (requires the remainder of the bonded balance to be above `minimum_balance`) + * will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage. + * The only way to clean the aforementioned storage item is also user-controlled via `withdraw_unbonded`. + * - One DB entry. + * + **/ + unbond: AugmentedSubmittable< + ( + value: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Remove any unlocked chunks from the `unlocking` queue from our management. + * This essentially frees up that balance to be used by the stash account to do + * whatever it wants. + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * See also [`Call::unbond`]. + * # + * - Could be dependent on the `origin` argument and how much `unlocking` chunks exist. + * It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is + * indirectly user-controlled. See [`unbond`] for more detail. + * - Contains a limited number of reads, yet the size of which could be large based on `ledger`. + * - Writes are limited to the `origin` account key. + * # + **/ + withdrawUnbonded: AugmentedSubmittable< + () => SubmittableExtrinsic + >; + /** + * Declare the desire to validate for the origin controller. + * Effects will be felt at the beginning of the next era. + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + * # + **/ + validate: AugmentedSubmittable< + ( + prefs: ValidatorPrefs | { commission?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Declare the desire to nominate `targets` for the origin controller. + * Effects will be felt at the beginning of the next era. + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * # + * - The transaction's complexity is proportional to the size of `targets`, + * which is capped at `MAX_NOMINATIONS`. + * - Both the reads and writes follow a similar pattern. + * # + **/ + nominate: AugmentedSubmittable< + ( + targets: + | Vec + | ( + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + )[] + ) => SubmittableExtrinsic + >; + /** + * Declare no desire to either validate or nominate. + * Effects will be felt at the beginning of the next era. + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains one read. + * - Writes are limited to the `origin` account key. + * # + **/ + chill: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * (Re-)set the payment target for a controller. + * Effects will be felt at the beginning of the next era. + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + * # + **/ + setPayee: AugmentedSubmittable< + ( + payee: + | RewardDestination + | ("Staked" | "Stash" | "Controller") + | number + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * (Re-)set the controller of a stash. + * Effects will be felt at the beginning of the next era. + * The dispatch origin for this call must be _Signed_ by the stash, not the controller. + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + * # + **/ + setController: AugmentedSubmittable< + ( + controller: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * The ideal number of validators. + **/ + setValidatorCount: AugmentedSubmittable< + ( + updated: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Force there to be no new eras indefinitely. + * # + * - No arguments. + * # + **/ + forceNoEras: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Force there to be a new era at the end of the next session. After this, it will be + * reset to normal (non-forced) behaviour. + * # + * - No arguments. + * # + **/ + forceNewEra: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Set the validators who cannot be slashed (if any). + **/ + setInvulnerables: AugmentedSubmittable< + ( + validators: Vec | (AccountId | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Force a current staker to become completely unstaked, immediately. + **/ + forceUnstake: AugmentedSubmittable< + ( + stash: AccountId | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Force there to be a new era at the end of sessions indefinitely. + * # + * - One storage write + * # + **/ + forceNewEraAlways: AugmentedSubmittable< + () => SubmittableExtrinsic + >; + /** + * Cancel enactment of a deferred slash. Can be called by either the root origin or + * the `T::SlashCancelOrigin`. + * passing the era and indices of the slashes for that era to kill. + * # + * - One storage write. + * # + **/ + cancelDeferredSlash: AugmentedSubmittable< + ( + era: EraIndex | AnyNumber | Uint8Array, + slashIndices: Vec | (u32 | AnyNumber | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Rebond a portion of the stash scheduled to be unlocked. + * # + * - Time complexity: O(1). Bounded by `MAX_UNLOCKING_CHUNKS`. + * - Storage changes: Can't increase storage, only decrease it. + * # + **/ + rebond: AugmentedSubmittable< + ( + value: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + }; + session: { + /** + * Sets the session key(s) of the function caller to `keys`. + * Allows an account to set its session key prior to becoming a validator. + * This doesn't take effect until the next session. + * The dispatch origin of this function must be signed. + * # + * - O(log n) in number of accounts. + * - One extra DB entry. + * # + **/ + setKeys: AugmentedSubmittable< + ( + keys: Keys, + proof: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + democracy: { + /** + * Propose a sensitive action to be taken. + * # + * - O(1). + * - Two DB changes, one DB entry. + * # + **/ + propose: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array, + value: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Propose a sensitive action to be taken. + * # + * - O(1). + * - One DB entry. + * # + **/ + second: AugmentedSubmittable< + ( + proposal: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal; + * otherwise it is a vote to keep the status quo. + * # + * - O(1). + * - One DB change, one DB entry. + * # + **/ + vote: AugmentedSubmittable< + ( + refIndex: Compact | AnyNumber | Uint8Array, + vote: + | Vote + | { + aye: boolean; + conviction?: + | ( + | "None" + | "Locked1x" + | "Locked2x" + | "Locked3x" + | "Locked4x" + | "Locked5x" + | "Locked6x" + ) + | number; + } + | boolean + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Vote in a referendum on behalf of a stash. If `vote.is_aye()`, the vote is to enact + * the proposal; otherwise it is a vote to keep the status quo. + * # + * - O(1). + * - One DB change, one DB entry. + * # + **/ + proxyVote: AugmentedSubmittable< + ( + refIndex: Compact | AnyNumber | Uint8Array, + vote: + | Vote + | { + aye: boolean; + conviction?: + | ( + | "None" + | "Locked1x" + | "Locked2x" + | "Locked3x" + | "Locked4x" + | "Locked5x" + | "Locked6x" + ) + | number; + } + | boolean + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule an emergency cancellation of a referendum. Cannot happen twice to the same + * referendum. + **/ + emergencyCancel: AugmentedSubmittable< + ( + refIndex: ReferendumIndex | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule a referendum to be tabled once it is legal to schedule an external + * referendum. + **/ + externalPropose: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule a majority-carries referendum to be tabled next once it is legal to schedule + * an external referendum. + * Unlike `external_propose`, blacklisting has no effect on this and it may replace a + * pre-scheduled `external_propose` call. + **/ + externalProposeMajority: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule a negative-turnout-bias referendum to be tabled next once it is legal to + * schedule an external referendum. + * Unlike `external_propose`, blacklisting has no effect on this and it may replace a + * pre-scheduled `external_propose` call. + **/ + externalProposeDefault: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule the currently externally-proposed majority-carries referendum to be tabled + * immediately. If there is no externally-proposed referendum currently, or if there is one + * but it is not a majority-carries referendum then it fails. + * - `proposal_hash`: The hash of the current external proposal. + * - `voting_period`: The period that is allowed for voting on this proposal. Increased to + * `EmergencyVotingPeriod` if too low. + * - `delay`: The number of block after voting has ended in approval and this should be + * enacted. This doesn't have a minimum amount. + **/ + fastTrack: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array, + votingPeriod: BlockNumber | AnyNumber | Uint8Array, + delay: BlockNumber | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Veto and blacklist the external proposal hash. + **/ + vetoExternal: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Remove a referendum. + **/ + cancelReferendum: AugmentedSubmittable< + ( + refIndex: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Cancel a proposal queued for enactment. + **/ + cancelQueued: AugmentedSubmittable< + ( + which: ReferendumIndex | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Specify a proxy. Called by the stash. + * # + * - One extra DB entry. + * # + **/ + setProxy: AugmentedSubmittable< + ( + proxy: AccountId | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Clear the proxy. Called by the proxy. + * # + * - One DB clear. + * # + **/ + resignProxy: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Clear the proxy. Called by the stash. + * # + * - One DB clear. + * # + **/ + removeProxy: AugmentedSubmittable< + ( + proxy: AccountId | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Delegate vote. + * # + * - One extra DB entry. + * # + **/ + delegate: AugmentedSubmittable< + ( + to: AccountId | string | Uint8Array, + conviction: + | Conviction + | ( + | "None" + | "Locked1x" + | "Locked2x" + | "Locked3x" + | "Locked4x" + | "Locked5x" + | "Locked6x" + ) + | number + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Undelegate vote. + * # + * - O(1). + * # + **/ + undelegate: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Veto and blacklist the proposal hash. Must be from Root origin. + **/ + clearPublicProposals: AugmentedSubmittable< + () => SubmittableExtrinsic + >; + /** + * Register the preimage for an upcoming proposal. This doesn't require the proposal to be + * in the dispatch queue but does require a deposit, returned once enacted. + **/ + notePreimage: AugmentedSubmittable< + ( + encodedProposal: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Register the preimage for an upcoming proposal. This requires the proposal to be + * in the dispatch queue. No deposit is needed. + **/ + noteImminentPreimage: AugmentedSubmittable< + ( + encodedProposal: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Remove an expired proposal preimage and collect the deposit. + * This will only work after `VotingPeriod` blocks from the time that the preimage was + * noted, if it's the same account doing it. If it's a different account, then it'll only + * work an additional `EnactmentPeriod` later. + **/ + reapPreimage: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + council: { + /** + * Set the collective's membership manually to `new_members`. Be nice to the chain and + * provide it pre-sorted. + * Requires root origin. + **/ + setMembers: AugmentedSubmittable< + ( + newMembers: Vec | (AccountId | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Dispatch a proposal from a member using the `Member` origin. + * Origin must be a member of the collective. + **/ + execute: AugmentedSubmittable< + ( + proposal: + | Proposal + | { callIndex?: any; args?: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * # + * - Bounded storage reads and writes. + * - Argument `threshold` has bearing on weight. + * # + **/ + propose: AugmentedSubmittable< + ( + threshold: Compact | AnyNumber | Uint8Array, + proposal: + | Proposal + | { callIndex?: any; args?: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * # + * - Bounded storage read and writes. + * - Will be slightly heavier if the proposal is approved / disapproved after the vote. + * # + **/ + vote: AugmentedSubmittable< + ( + proposal: Hash | string | Uint8Array, + index: Compact | AnyNumber | Uint8Array, + approve: bool | boolean | Uint8Array + ) => SubmittableExtrinsic + >; + }; + elections: { + /** + * Vote for a set of candidates for the upcoming round of election. + * The `votes` should: + * - not be empty. + * - be less than the number of candidates. + * Upon voting, `value` units of `who`'s balance is locked and a bond amount is reserved. + * It is the responsibility of the caller to not place all of their balance into the lock + * and keep some for further transactions. + * # + * #### State + * Reads: O(1) + * Writes: O(V) given `V` votes. V is bounded by 16. + * # + **/ + vote: AugmentedSubmittable< + ( + votes: Vec | (AccountId | string | Uint8Array)[], + value: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Remove `origin` as a voter. This removes the lock and returns the bond. + * # + * #### State + * Reads: O(1) + * Writes: O(1) + * # + **/ + removeVoter: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Report `target` for being an defunct voter. In case of a valid report, the reporter is + * rewarded by the bond amount of `target`. Otherwise, the reporter itself is removed and + * their bond is slashed. + * A defunct voter is defined to be: + * - a voter whose current submitted votes are all invalid. i.e. all of them are no + * longer a candidate nor an active member. + * # + * #### State + * Reads: O(NLogM) given M current candidates and N votes for `target`. + * Writes: O(1) + * # + **/ + reportDefunctVoter: AugmentedSubmittable< + ( + target: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Submit oneself for candidacy. + * A candidate will either: + * - Lose at the end of the term and forfeit their deposit. + * - Win and become a member. Members will eventually get their stash back. + * - Become a runner-up. Runners-ups are reserved members in case one gets forcefully + * removed. + * # + * #### State + * Reads: O(LogN) Given N candidates. + * Writes: O(1) + * # + **/ + submitCandidacy: AugmentedSubmittable< + () => SubmittableExtrinsic + >; + /** + * Renounce one's intention to be a candidate for the next election round. 3 potential + * outcomes exist: + * - `origin` is a candidate and not elected in any set. In this case, the bond is + * unreserved, returned and origin is removed as a candidate. + * - `origin` is a current runner up. In this case, the bond is unreserved, returned and + * origin is removed as a runner. + * - `origin` is a current member. In this case, the bond is unreserved and origin is + * removed as a member, consequently not being a candidate for the next round anymore. + * Similar to [`remove_voter`], if replacement runners exists, they are immediately used. + **/ + renounceCandidacy: AugmentedSubmittable< + () => SubmittableExtrinsic + >; + /** + * Remove a particular member from the set. This is effective immediately and the bond of + * the outgoing member is slashed. + * If a runner-up is available, then the best runner-up will be removed and replaces the + * outgoing member. Otherwise, a new phragmen round is started. + * Note that this does not affect the designated block number of the next election. + * # + * #### State + * Reads: O(do_phragmen) + * Writes: O(do_phragmen) + * # + **/ + removeMember: AugmentedSubmittable< + ( + who: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + }; + finalityTracker: { + /** + * Hint that the author of this block thinks the best finalized + * block is the given number. + **/ + finalHint: AugmentedSubmittable< + ( + hint: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + }; + grandpa: { + /** + * Report some misbehavior. + **/ + reportMisbehavior: AugmentedSubmittable< + (report: Bytes | string | Uint8Array) => SubmittableExtrinsic + >; + }; + treasury: { + /** + * Put forward a suggestion for spending. A deposit proportional to the value + * is reserved and slashed if the proposal is rejected. It is returned once the + * proposal is awarded. + * # + * - O(1). + * - Limited storage reads. + * - One DB change, one extra DB entry. + * # + **/ + proposeSpend: AugmentedSubmittable< + ( + value: Compact | AnyNumber | Uint8Array, + beneficiary: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Reject a proposed spend. The original deposit will be slashed. + * # + * - O(1). + * - Limited storage reads. + * - One DB clear. + * # + **/ + rejectProposal: AugmentedSubmittable< + ( + proposalId: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary + * and the original deposit will be returned. + * # + * - O(1). + * - Limited storage reads. + * - One DB change. + * # + **/ + approveProposal: AugmentedSubmittable< + ( + proposalId: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Report something `reason` that deserves a tip and claim any eventual the finder's fee. + * The dispatch origin for this call must be _Signed_. + * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as + * `TipReportDepositPerByte` for each byte in `reason`. + * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be + * a UTF-8-encoded URL. + * - `who`: The account which should be credited for the tip. + * Emits `NewTip` if successful. + * # + * - `O(R)` where `R` length of `reason`. + * - One balance operation. + * - One storage mutation (codec `O(R)`). + * - One event. + * # + **/ + reportAwesome: AugmentedSubmittable< + ( + reason: Bytes | string | Uint8Array, + who: AccountId | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Retract a prior tip-report from `report_awesome`, and cancel the process of tipping. + * If successful, the original deposit will be unreserved. + * The dispatch origin for this call must be _Signed_ and the tip identified by `hash` + * must have been reported by the signing account through `report_awesome` (and not + * through `tip_new`). + * - `hash`: The identity of the open tip for which a tip value is declared. This is formed + * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. + * Emits `TipRetracted` if successful. + * # + * - `O(T)` + * - One balance operation. + * - Two storage removals (one read, codec `O(T)`). + * - One event. + * # + **/ + retractTip: AugmentedSubmittable< + (hash: Hash | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Give a tip for something new; no finder's fee will be taken. + * The dispatch origin for this call must be _Signed_ and the signing account must be a + * member of the `Tippers` set. + * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be + * a UTF-8-encoded URL. + * - `who`: The account which should be credited for the tip. + * - `tip_value`: The amount of tip that the sender would like to give. The median tip + * value of active tippers will be given to the `who`. + * Emits `NewTip` if successful. + * # + * - `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. `T` is + * naturally capped as a membership set, `R` is limited through transaction-size. + * - Two storage insertions (codecs `O(R)`, `O(T)`), one read `O(1)`. + * - One event. + * # + **/ + tipNew: AugmentedSubmittable< + ( + reason: Bytes | string | Uint8Array, + who: AccountId | string | Uint8Array, + tipValue: BalanceOf | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Declare a tip value for an already-open tip. + * The dispatch origin for this call must be _Signed_ and the signing account must be a + * member of the `Tippers` set. + * - `hash`: The identity of the open tip for which a tip value is declared. This is formed + * as the hash of the tuple of the hash of the original tip `reason` and the beneficiary + * account ID. + * - `tip_value`: The amount of tip that the sender would like to give. The median tip + * value of active tippers will be given to the `who`. + * Emits `TipClosing` if the threshold of tippers has been reached and the countdown period + * has started. + * # + * - `O(T)` + * - One storage mutation (codec `O(T)`), one storage read `O(1)`. + * - Up to one event. + * # + **/ + tip: AugmentedSubmittable< + ( + hash: Hash | string | Uint8Array, + tipValue: BalanceOf | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Close and payout a tip. + * The dispatch origin for this call must be _Signed_. + * The tip identified by `hash` must have finished its countdown period. + * - `hash`: The identity of the open tip for which a tip value is declared. This is formed + * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. + * # + * - `O(T)` + * - One storage retrieval (codec `O(T)`) and two removals. + * - Up to three balance operations. + * # + **/ + closeTip: AugmentedSubmittable< + (hash: Hash | string | Uint8Array) => SubmittableExtrinsic + >; + }; + contracts: { + /** + * Updates the schedule for metering contracts. + * The schedule must have a greater version than the stored schedule. + **/ + updateSchedule: AugmentedSubmittable< + ( + schedule: + | Schedule + | { + version?: any; + putCodePerByteCost?: any; + growMemCost?: any; + regularOpCost?: any; + returnDataPerByteCost?: any; + eventDataPerByteCost?: any; + eventPerTopicCost?: any; + eventBaseCost?: any; + sandboxDataReadCost?: any; + sandboxDataWriteCost?: any; + transferCost?: any; + maxEventTopics?: any; + maxStackHeight?: any; + maxMemoryPages?: any; + enablePrintln?: any; + maxSubjectLen?: any; + } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Stores the given binary Wasm code into the chain's storage and returns its `codehash`. + * You can instantiate contracts only with stored code. + **/ + putCode: AugmentedSubmittable< + ( + gasLimit: Compact | AnyNumber | Uint8Array, + code: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Makes a call to an account, optionally transferring some balance. + * * If the account is a smart-contract account, the associated code will be + * executed and any value will be transferred. + * * If the account is a regular account, any value will be transferred. + * * If no account exists and the call value is not less than `existential_deposit`, + * a regular account will be created and any value will be transferred. + **/ + call: AugmentedSubmittable< + ( + dest: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + value: Compact | AnyNumber | Uint8Array, + gasLimit: Compact | AnyNumber | Uint8Array, + data: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Instantiates a new contract from the `codehash` generated by `put_code`, optionally transferring some balance. + * Instantiation is executed as follows: + * - The destination address is computed based on the sender and hash of the code. + * - The smart-contract account is created at the computed address. + * - The `ctor_code` is executed in the context of the newly-created account. Buffer returned + * after the execution is saved as the `code` of the account. That code will be invoked + * upon any call received by this account. + * - The contract is initialized. + **/ + instantiate: AugmentedSubmittable< + ( + endowment: Compact | AnyNumber | Uint8Array, + gasLimit: Compact | AnyNumber | Uint8Array, + codeHash: CodeHash | string | Uint8Array, + data: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Allows block producers to claim a small reward for evicting a contract. If a block producer + * fails to do so, a regular users will be allowed to claim the reward. + * If contract is not evicted as a result of this call, no actions are taken and + * the sender is not eligible for the reward. + **/ + claimSurcharge: AugmentedSubmittable< + ( + dest: AccountId | string | Uint8Array, + auxSender: Option | null | object | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + identity: { + /** + * Add a registrar to the system. + * The dispatch origin for this call must be `RegistrarOrigin` or `Root`. + * - `account`: the account of the registrar. + * Emits `RegistrarAdded` if successful. + * # + * - `O(R)` where `R` registrar-count (governance-bounded). + * - One storage mutation (codec `O(R)`). + * - One event. + * # + **/ + addRegistrar: AugmentedSubmittable< + ( + account: AccountId | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set an account's identity information and reserve the appropriate deposit. + * If the account already has identity information, the deposit is taken as part payment + * for the new deposit. + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * identity. + * - `info`: The identity information. + * Emits `IdentitySet` if successful. + * # + * - `O(X + X' + R)` where `X` additional-field-count (deposit-bounded and code-bounded). + * - At most two balance operations. + * - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`). + * - One event. + * # + **/ + setIdentity: AugmentedSubmittable< + ( + info: + | IdentityInfo + | { + additional?: any; + display?: any; + legal?: any; + web?: any; + riot?: any; + email?: any; + pgpFingerprint?: any; + image?: any; + twitter?: any; + } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the sub-accounts of the sender. + * Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned + * and an amount `SubAccountDeposit` will be reserved for each item in `subs`. + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * identity. + * - `subs`: The identity's sub-accounts. + * # + * - `O(S)` where `S` subs-count (hard- and deposit-bounded). + * - At most two balance operations. + * - At most O(2 * S + 1) storage mutations; codec complexity `O(1 * S + S * 1)`); + * one storage-exists. + * # + **/ + setSubs: AugmentedSubmittable< + ( + subs: + | Vec> + | [ + AccountId | string | Uint8Array, + ( + | Data + | { none: any } + | { raw: any } + | { blakeTwo256: any } + | { sha256: any } + | { keccak256: any } + | { shaThree256: any } + | string + | Uint8Array + ) + ][] + ) => SubmittableExtrinsic + >; + /** + * Clear an account's identity info and all sub-account and return all deposits. + * Payment: All reserved balances on the account are returned. + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * identity. + * Emits `IdentityCleared` if successful. + * # + * - `O(R + S + X)`. + * - One balance-reserve operation. + * - `S + 2` storage deletions. + * - One event. + * # + **/ + clearIdentity: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Request a judgement from a registrar. + * Payment: At most `max_fee` will be reserved for payment to the registrar if judgement + * given. + * The dispatch origin for this call must be _Signed_ and the sender must have a + * registered identity. + * - `reg_index`: The index of the registrar whose judgement is requested. + * - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as: + * ```nocompile + * Self::registrars(reg_index).uwnrap().fee + * ``` + * Emits `JudgementRequested` if successful. + * # + * - `O(R + X)`. + * - One balance-reserve operation. + * - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`. + * - One event. + * # + **/ + requestJudgement: AugmentedSubmittable< + ( + regIndex: Compact | AnyNumber | Uint8Array, + maxFee: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Cancel a previous request. + * Payment: A previously reserved deposit is returned on success. + * The dispatch origin for this call must be _Signed_ and the sender must have a + * registered identity. + * - `reg_index`: The index of the registrar whose judgement is no longer requested. + * Emits `JudgementUnrequested` if successful. + * # + * - `O(R + X)`. + * - One balance-reserve operation. + * - One storage mutation `O(R + X)`. + * - One event. + * # + **/ + cancelRequest: AugmentedSubmittable< + ( + regIndex: RegistrarIndex | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the fee required for a judgement to be requested from a registrar. + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `index`. + * - `index`: the index of the registrar whose fee is to be set. + * - `fee`: the new fee. + * # + * - `O(R)`. + * - One storage mutation `O(R)`. + * # + **/ + setFee: AugmentedSubmittable< + ( + index: Compact | AnyNumber | Uint8Array, + fee: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Change the account associated with a registrar. + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `index`. + * - `index`: the index of the registrar whose fee is to be set. + * - `new`: the new account ID. + * # + * - `O(R)`. + * - One storage mutation `O(R)`. + * # + **/ + setAccountId: AugmentedSubmittable< + ( + index: Compact | AnyNumber | Uint8Array, + updated: AccountId | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the field information for a registrar. + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `index`. + * - `index`: the index of the registrar whose fee is to be set. + * - `fields`: the fields that the registrar concerns themselves with. + * # + * - `O(R)`. + * - One storage mutation `O(R)`. + * # + **/ + setFields: AugmentedSubmittable< + ( + index: Compact | AnyNumber | Uint8Array, + fields: IdentityFields + ) => SubmittableExtrinsic + >; + /** + * Provide a judgement for an account's identity. + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `reg_index`. + * - `reg_index`: the index of the registrar whose judgement is being made. + * - `target`: the account whose identity the judgement is upon. This must be an account + * with a registered identity. + * - `judgement`: the judgement of the registrar of index `reg_index` about `target`. + * Emits `JudgementGiven` if successful. + * # + * - `O(R + X)`. + * - One balance-transfer operation. + * - Up to one account-lookup operation. + * - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`. + * - One event. + * # + **/ + provideJudgement: AugmentedSubmittable< + ( + regIndex: Compact | AnyNumber | Uint8Array, + target: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + judgement: + | IdentityJudgement + | { unknown: any } + | { feePaid: any } + | { reasonable: any } + | { knownGood: any } + | { outOfDate: any } + | { lowQuality: any } + | { erroneous: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Remove an account's identity and sub-account information and slash the deposits. + * Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by + * `Slash`. Verification request deposits are not returned; they should be cancelled + * manually using `cancel_request`. + * The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`. + * - `target`: the account whose identity the judgement is upon. This must be an account + * with a registered identity. + * Emits `IdentityKilled` if successful. + * # + * - `O(R + S + X)`. + * - One balance-reserve operation. + * - `S + 2` storage mutations. + * - One event. + * # + **/ + killIdentity: AugmentedSubmittable< + ( + target: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + }; + imOnline: { + heartbeat: AugmentedSubmittable< + ( + heartbeat: + | Heartbeat + | { + blockNumber?: any; + networkState?: any; + sessionIndex?: any; + authorityIndex?: any; + } + | string + | Uint8Array, + signature: Signature | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + nicks: { + /** + * Set an account's name. The name should be a UTF-8-encoded string by convention, though + * we don't check it. + * The name may not be more than `T::MaxLength` bytes, nor less than `T::MinLength` bytes. + * If the account doesn't already have a name, then a fee of `ReservationFee` is reserved + * in the account. + * The dispatch origin for this call must be _Signed_. + * # + * - O(1). + * - At most one balance operation. + * - One storage read/write. + * - One event. + * # + **/ + setName: AugmentedSubmittable< + (name: Bytes | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Clear an account's name and return the deposit. Fails if the account was not named. + * The dispatch origin for this call must be _Signed_. + * # + * - O(1). + * - One balance operation. + * - One storage read/write. + * - One event. + * # + **/ + clearName: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Remove an account's name and take charge of the deposit. + * Fails if `who` has not been named. The deposit is dealt with through `T::Slashed` + * imbalance handler. + * The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`. + * # + * - O(1). + * - One unbalanced handler (probably a balance transfer) + * - One storage read/write. + * - One event. + * # + **/ + killName: AugmentedSubmittable< + ( + target: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set a third-party account's name with no deposit. + * No length checking is done on the name. + * The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`. + * # + * - O(1). + * - At most one balance operation. + * - One storage read/write. + * - One event. + * # + **/ + forceName: AugmentedSubmittable< + ( + target: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + name: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + sudo: { + /** + * Authenticates the sudo key and dispatches a function call with `Root` origin. + * The dispatch origin for this call must be _Signed_. + * # + * - O(1). + * - Limited storage reads. + * - One DB write (event). + * - Unknown weight of derivative `proposal` execution. + * # + **/ + sudo: AugmentedSubmittable< + ( + proposal: + | Proposal + | { callIndex?: any; args?: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key. + * The dispatch origin for this call must be _Signed_. + * # + * - O(1). + * - Limited storage reads. + * - One DB change. + * # + **/ + setKey: AugmentedSubmittable< + ( + updated: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Authenticates the sudo key and dispatches a function call with `Signed` origin from + * a given account. + * The dispatch origin for this call must be _Signed_. + * # + * - O(1). + * - Limited storage reads. + * - One DB write (event). + * - Unknown weight of derivative `proposal` execution. + * # + **/ + sudoAs: AugmentedSubmittable< + ( + who: + | LookupSource + | Address + | AccountId + | AccountIndex + | string + | Uint8Array, + proposal: + | Proposal + | { callIndex?: any; args?: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + }; + signaling: { + /** + * Creates a new signaling proposal. + **/ + createProposal: AugmentedSubmittable< + ( + title: ProposalTitle | string | Uint8Array, + contents: ProposalContents | string | Uint8Array, + outcomes: Vec | (VoteOutcome | string | Uint8Array)[], + voteType: + | VoteType + | ("Binary" | "MultiOption" | "RankedChoice") + | number + | Uint8Array, + tallyType: TallyType | ("OnePerson" | "OneCoin") | number | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Advance a signaling proposal into the "voting" or "commit" stage. + * Can only be performed by the original author of the proposal. + **/ + advanceProposal: AugmentedSubmittable< + ( + proposalHash: Hash | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + voting: { + /** + * A function for commit-reveal voting schemes that adds a vote commitment. + * A vote commitment is formatted using the native hash function. There + * are currently no cryptoeconomic punishments against not revealing the + * commitment. + **/ + commit: AugmentedSubmittable< + ( + voteId: u64 | AnyNumber | Uint8Array, + commit: VoteOutcome | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * A function that reveals a vote commitment or serves as the general vote function. + * There are currently no cryptoeconomic incentives for revealing commited votes. + **/ + reveal: AugmentedSubmittable< + ( + voteId: u64 | AnyNumber | Uint8Array, + vote: Vec | (VoteOutcome | string | Uint8Array)[], + secret: Option | null | object | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + } + + export interface SubmittableExtrinsics + extends AugmentedSubmittables { + (extrinsic: Uint8Array | string): SubmittableExtrinsic; + } +} diff --git a/packages/sdk/src/interfaces/augment-api.ts b/packages/sdk/src/interfaces/augment-api.ts new file mode 100644 index 0000000..0d20876 --- /dev/null +++ b/packages/sdk/src/interfaces/augment-api.ts @@ -0,0 +1,7 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable @typescript-eslint/no-empty-interface */ + +import "@polkadot/api/augment/rpc"; +import "./augment-api-consts"; +import "./augment-api-query"; +import "./augment-api-tx"; diff --git a/packages/sdk/src/interfaces/augment-types.ts b/packages/sdk/src/interfaces/augment-types.ts new file mode 100644 index 0000000..17e3205 --- /dev/null +++ b/packages/sdk/src/interfaces/augment-types.ts @@ -0,0 +1,2366 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +// import type lookup before we augment - in some environments +// this is required to allow for ambient/previous definitions +import "@polkadot/types/types/registry"; + +import type { + ProposalContents, + ProposalRecord, + ProposalTitle, +} from "@phala/sdk/signaling"; +import type { Balance2 } from "@phala/sdk/treasuryRewards"; +import type { + Commitments, + Reveals, + TallyType, + VoteData, + VoteOutcome, + VoteRecord, + VoteStage, + VoteType, +} from "@phala/sdk/voting"; +import type { Data, StorageKey } from "@polkadot/types"; +import type { + BitVec, + Bool, + Bytes, + F32, + F64, + I128, + I16, + I256, + I32, + I64, + I8, + Json, + Null, + OptionBool, + Raw, + Text, + Type, + U128, + U16, + U256, + U32, + U64, + U8, + USize, + bool, + f32, + f64, + i128, + i16, + i256, + i32, + i64, + i8, + u128, + u16, + u256, + u32, + u64, + u8, + usize, +} from "@polkadot/types-codec"; +import type { + AssetApproval, + AssetApprovalKey, + AssetBalance, + AssetDestroyWitness, + AssetDetails, + AssetMetadata, + TAssetBalance, + TAssetDepositBalance, +} from "@polkadot/types/interfaces/assets"; +import type { + BlockAttestations, + IncludedBlocks, + MoreAttestations, +} from "@polkadot/types/interfaces/attestations"; +import type { RawAuraPreDigest } from "@polkadot/types/interfaces/aura"; +import type { + ExtrinsicOrHash, + ExtrinsicStatus, +} from "@polkadot/types/interfaces/author"; +import type { UncleEntryItem } from "@polkadot/types/interfaces/authorship"; +import type { + AllowedSlots, + BabeAuthorityWeight, + BabeBlockWeight, + BabeEpochConfiguration, + BabeEquivocationProof, + BabeGenesisConfiguration, + BabeGenesisConfigurationV1, + BabeWeight, + Epoch, + EpochAuthorship, + MaybeRandomness, + MaybeVrf, + NextConfigDescriptor, + NextConfigDescriptorV1, + OpaqueKeyOwnershipProof, + Randomness, + RawBabePreDigest, + RawBabePreDigestCompat, + RawBabePreDigestPrimary, + RawBabePreDigestPrimaryTo159, + RawBabePreDigestSecondaryPlain, + RawBabePreDigestSecondaryTo159, + RawBabePreDigestSecondaryVRF, + RawBabePreDigestTo159, + SlotNumber, + VrfData, + VrfOutput, + VrfProof, +} from "@polkadot/types/interfaces/babe"; +import type { + AccountData, + BalanceLock, + BalanceLockTo212, + BalanceStatus, + Reasons, + ReserveData, + ReserveIdentifier, + VestingSchedule, + WithdrawReasons, +} from "@polkadot/types/interfaces/balances"; +import type { + BeefyAuthoritySet, + BeefyCommitment, + BeefyId, + BeefyNextAuthoritySet, + BeefyPayload, + BeefyPayloadId, + BeefySignedCommitment, + MmrRootHash, + ValidatorSet, + ValidatorSetId, +} from "@polkadot/types/interfaces/beefy"; +import type { + BenchmarkBatch, + BenchmarkConfig, + BenchmarkList, + BenchmarkMetadata, + BenchmarkParameter, + BenchmarkResult, +} from "@polkadot/types/interfaces/benchmark"; +import type { + CheckInherentsResult, + InherentData, + InherentIdentifier, +} from "@polkadot/types/interfaces/blockbuilder"; +import type { + BridgeMessageId, + BridgedBlockHash, + BridgedBlockNumber, + BridgedHeader, + CallOrigin, + ChainId, + DeliveredMessages, + DispatchFeePayment, + InboundLaneData, + InboundRelayer, + InitializationData, + LaneId, + MessageData, + MessageKey, + MessageNonce, + MessagesDeliveryProofOf, + MessagesProofOf, + OperatingMode, + OutboundLaneData, + OutboundMessageFee, + OutboundPayload, + Parameter, + RelayerId, + UnrewardedRelayer, + UnrewardedRelayersState, +} from "@polkadot/types/interfaces/bridges"; +import type { BlockHash } from "@polkadot/types/interfaces/chain"; +import type { PrefixedStorageKey } from "@polkadot/types/interfaces/childstate"; +import type { StatementKind } from "@polkadot/types/interfaces/claims"; +import type { + CollectiveOrigin, + MemberCount, + ProposalIndex, + Votes, + VotesTo230, +} from "@polkadot/types/interfaces/collective"; +import type { + AuthorityId, + RawVRFOutput, +} from "@polkadot/types/interfaces/consensus"; +import type { + AliveContractInfo, + CodeHash, + CodeSource, + CodeUploadRequest, + CodeUploadResult, + CodeUploadResultValue, + ContractCallFlags, + ContractCallRequest, + ContractExecResult, + ContractExecResultOk, + ContractExecResultResult, + ContractExecResultSuccessTo255, + ContractExecResultSuccessTo260, + ContractExecResultTo255, + ContractExecResultTo260, + ContractExecResultTo267, + ContractExecResultU64, + ContractInfo, + ContractInstantiateResult, + ContractInstantiateResultTo267, + ContractInstantiateResultTo299, + ContractInstantiateResultU64, + ContractReturnFlags, + ContractStorageKey, + DeletedContract, + ExecReturnValue, + Gas, + HostFnWeights, + HostFnWeightsTo264, + InstantiateRequest, + InstantiateRequestV1, + InstantiateRequestV2, + InstantiateReturnValue, + InstantiateReturnValueOk, + InstantiateReturnValueTo267, + InstructionWeights, + Limits, + LimitsTo264, + PrefabWasmModule, + RentProjection, + Schedule, + ScheduleTo212, + ScheduleTo258, + ScheduleTo264, + SeedOf, + StorageDeposit, + TombstoneContractInfo, + TrieId, +} from "@polkadot/types/interfaces/contracts"; +import type { + ContractConstructorSpecLatest, + ContractConstructorSpecV0, + ContractConstructorSpecV1, + ContractConstructorSpecV2, + ContractConstructorSpecV3, + ContractContractSpecV0, + ContractContractSpecV1, + ContractContractSpecV2, + ContractContractSpecV3, + ContractContractSpecV4, + ContractCryptoHasher, + ContractDiscriminant, + ContractDisplayName, + ContractEventParamSpecLatest, + ContractEventParamSpecV0, + ContractEventParamSpecV2, + ContractEventSpecLatest, + ContractEventSpecV0, + ContractEventSpecV1, + ContractEventSpecV2, + ContractLayoutArray, + ContractLayoutCell, + ContractLayoutEnum, + ContractLayoutHash, + ContractLayoutHashingStrategy, + ContractLayoutKey, + ContractLayoutStruct, + ContractLayoutStructField, + ContractMessageParamSpecLatest, + ContractMessageParamSpecV0, + ContractMessageParamSpecV2, + ContractMessageSpecLatest, + ContractMessageSpecV0, + ContractMessageSpecV1, + ContractMessageSpecV2, + ContractMetadata, + ContractMetadataLatest, + ContractMetadataV0, + ContractMetadataV1, + ContractMetadataV2, + ContractMetadataV3, + ContractMetadataV4, + ContractProject, + ContractProjectContract, + ContractProjectInfo, + ContractProjectSource, + ContractProjectV0, + ContractSelector, + ContractStorageLayout, + ContractTypeSpec, +} from "@polkadot/types/interfaces/contractsAbi"; +import type { + FundIndex, + FundInfo, + LastContribution, + TrieIndex, +} from "@polkadot/types/interfaces/crowdloan"; +import type { + CollationInfo, + CollationInfoV1, + ConfigData, + MessageId, + OverweightIndex, + PageCounter, + PageIndexData, +} from "@polkadot/types/interfaces/cumulus"; +import type { + AccountVote, + AccountVoteSplit, + AccountVoteStandard, + Conviction, + Delegations, + PreimageStatus, + PreimageStatusAvailable, + PriorLock, + PropIndex, + Proposal, + ProxyState, + ReferendumIndex, + ReferendumInfo, + ReferendumInfoFinished, + ReferendumInfoTo239, + ReferendumStatus, + Tally, + Voting, + VotingDelegating, + VotingDirect, + VotingDirectVote, +} from "@polkadot/types/interfaces/democracy"; +import type { BlockStats } from "@polkadot/types/interfaces/dev"; +import type { + ApprovalFlag, + DefunctVoter, + Renouncing, + SetIndex, + Vote, + VoteIndex, + VoteThreshold, + VoterInfo, +} from "@polkadot/types/interfaces/elections"; +import type { + CreatedBlock, + ImportedAux, +} from "@polkadot/types/interfaces/engine"; +import type { + BlockV0, + BlockV1, + BlockV2, + EIP1559Transaction, + EIP2930Transaction, + EthAccessList, + EthAccessListItem, + EthAccount, + EthAddress, + EthBlock, + EthBloom, + EthCallRequest, + EthFeeHistory, + EthFilter, + EthFilterAddress, + EthFilterChanges, + EthFilterTopic, + EthFilterTopicEntry, + EthFilterTopicInner, + EthHeader, + EthLog, + EthReceipt, + EthReceiptV0, + EthReceiptV3, + EthRichBlock, + EthRichHeader, + EthStorageProof, + EthSubKind, + EthSubParams, + EthSubResult, + EthSyncInfo, + EthSyncStatus, + EthTransaction, + EthTransactionAction, + EthTransactionCondition, + EthTransactionRequest, + EthTransactionSignature, + EthTransactionStatus, + EthWork, + EthereumAccountId, + EthereumAddress, + EthereumLookupSource, + EthereumSignature, + LegacyTransaction, + TransactionV0, + TransactionV1, + TransactionV2, +} from "@polkadot/types/interfaces/eth"; +import type { + EvmAccount, + EvmCallInfo, + EvmCreateInfo, + EvmLog, + EvmVicinity, + ExitError, + ExitFatal, + ExitReason, + ExitRevert, + ExitSucceed, +} from "@polkadot/types/interfaces/evm"; +import type { + AnySignature, + EcdsaSignature, + Ed25519Signature, + Era, + Extrinsic, + ExtrinsicEra, + ExtrinsicPayload, + ExtrinsicPayloadUnknown, + ExtrinsicPayloadV4, + ExtrinsicSignature, + ExtrinsicSignatureV4, + ExtrinsicUnknown, + ExtrinsicV4, + ImmortalEra, + MortalEra, + MultiSignature, + Signature, + SignerPayload, + Sr25519Signature, +} from "@polkadot/types/interfaces/extrinsics"; +import type { + AssetOptions, + Owner, + PermissionLatest, + PermissionVersions, + PermissionsV1, +} from "@polkadot/types/interfaces/genericAsset"; +import type { + ActiveGilt, + ActiveGiltsTotal, + ActiveIndex, + GiltBid, +} from "@polkadot/types/interfaces/gilt"; +import type { + AuthorityIndex, + AuthorityList, + AuthoritySet, + AuthoritySetChange, + AuthoritySetChanges, + AuthorityWeight, + DelayKind, + DelayKindBest, + EncodedFinalityProofs, + ForkTreePendingChange, + ForkTreePendingChangeNode, + GrandpaCommit, + GrandpaEquivocation, + GrandpaEquivocationProof, + GrandpaEquivocationValue, + GrandpaJustification, + GrandpaPrecommit, + GrandpaPrevote, + GrandpaSignedPrecommit, + JustificationNotification, + KeyOwnerProof, + NextAuthority, + PendingChange, + PendingPause, + PendingResume, + Precommits, + Prevotes, + ReportedRoundStates, + RoundState, + SetId, + StoredPendingChange, + StoredState, +} from "@polkadot/types/interfaces/grandpa"; +import type { + IdentityFields, + IdentityInfo, + IdentityInfoAdditional, + IdentityInfoTo198, + IdentityJudgement, + RegistrarIndex, + RegistrarInfo, + Registration, + RegistrationJudgement, + RegistrationTo198, +} from "@polkadot/types/interfaces/identity"; +import type { + AuthIndex, + AuthoritySignature, + Heartbeat, + HeartbeatTo244, + OpaqueMultiaddr, + OpaqueNetworkState, + OpaquePeerId, +} from "@polkadot/types/interfaces/imOnline"; +import type { + CallIndex, + LotteryConfig, +} from "@polkadot/types/interfaces/lottery"; +import type { + ErrorMetadataLatest, + ErrorMetadataV10, + ErrorMetadataV11, + ErrorMetadataV12, + ErrorMetadataV13, + ErrorMetadataV14, + ErrorMetadataV9, + EventMetadataLatest, + EventMetadataV10, + EventMetadataV11, + EventMetadataV12, + EventMetadataV13, + EventMetadataV14, + EventMetadataV9, + ExtrinsicMetadataLatest, + ExtrinsicMetadataV11, + ExtrinsicMetadataV12, + ExtrinsicMetadataV13, + ExtrinsicMetadataV14, + FunctionArgumentMetadataLatest, + FunctionArgumentMetadataV10, + FunctionArgumentMetadataV11, + FunctionArgumentMetadataV12, + FunctionArgumentMetadataV13, + FunctionArgumentMetadataV14, + FunctionArgumentMetadataV9, + FunctionMetadataLatest, + FunctionMetadataV10, + FunctionMetadataV11, + FunctionMetadataV12, + FunctionMetadataV13, + FunctionMetadataV14, + FunctionMetadataV9, + MetadataAll, + MetadataLatest, + MetadataV10, + MetadataV11, + MetadataV12, + MetadataV13, + MetadataV14, + MetadataV9, + ModuleConstantMetadataV10, + ModuleConstantMetadataV11, + ModuleConstantMetadataV12, + ModuleConstantMetadataV13, + ModuleConstantMetadataV9, + ModuleMetadataV10, + ModuleMetadataV11, + ModuleMetadataV12, + ModuleMetadataV13, + ModuleMetadataV9, + OpaqueMetadata, + PalletCallMetadataLatest, + PalletCallMetadataV14, + PalletConstantMetadataLatest, + PalletConstantMetadataV14, + PalletErrorMetadataLatest, + PalletErrorMetadataV14, + PalletEventMetadataLatest, + PalletEventMetadataV14, + PalletMetadataLatest, + PalletMetadataV14, + PalletStorageMetadataLatest, + PalletStorageMetadataV14, + PortableType, + PortableTypeV14, + SignedExtensionMetadataLatest, + SignedExtensionMetadataV14, + StorageEntryMetadataLatest, + StorageEntryMetadataV10, + StorageEntryMetadataV11, + StorageEntryMetadataV12, + StorageEntryMetadataV13, + StorageEntryMetadataV14, + StorageEntryMetadataV9, + StorageEntryModifierLatest, + StorageEntryModifierV10, + StorageEntryModifierV11, + StorageEntryModifierV12, + StorageEntryModifierV13, + StorageEntryModifierV14, + StorageEntryModifierV9, + StorageEntryTypeLatest, + StorageEntryTypeV10, + StorageEntryTypeV11, + StorageEntryTypeV12, + StorageEntryTypeV13, + StorageEntryTypeV14, + StorageEntryTypeV9, + StorageHasher, + StorageHasherV10, + StorageHasherV11, + StorageHasherV12, + StorageHasherV13, + StorageHasherV14, + StorageHasherV9, + StorageMetadataV10, + StorageMetadataV11, + StorageMetadataV12, + StorageMetadataV13, + StorageMetadataV9, +} from "@polkadot/types/interfaces/metadata"; +import type { + MmrBatchProof, + MmrEncodableOpaqueLeaf, + MmrError, + MmrLeafBatchProof, + MmrLeafIndex, + MmrLeafProof, + MmrNodeIndex, + MmrProof, +} from "@polkadot/types/interfaces/mmr"; +import type { NpApiError } from "@polkadot/types/interfaces/nompools"; +import type { StorageKind } from "@polkadot/types/interfaces/offchain"; +import type { + DeferredOffenceOf, + Kind, + OffenceDetails, + Offender, + OpaqueTimeSlot, + ReportIdOf, + Reporter, +} from "@polkadot/types/interfaces/offences"; +import type { + AbridgedCandidateReceipt, + AbridgedHostConfiguration, + AbridgedHrmpChannel, + AssignmentId, + AssignmentKind, + AttestedCandidate, + AuctionIndex, + AuthorityDiscoveryId, + AvailabilityBitfield, + AvailabilityBitfieldRecord, + BackedCandidate, + Bidder, + BufferedSessionChange, + CandidateCommitments, + CandidateDescriptor, + CandidateEvent, + CandidateHash, + CandidateInfo, + CandidatePendingAvailability, + CandidateReceipt, + CollatorId, + CollatorSignature, + CommittedCandidateReceipt, + CoreAssignment, + CoreIndex, + CoreOccupied, + CoreState, + DisputeLocation, + DisputeResult, + DisputeState, + DisputeStatement, + DisputeStatementSet, + DoubleVoteReport, + DownwardMessage, + ExplicitDisputeStatement, + GlobalValidationData, + GlobalValidationSchedule, + GroupIndex, + GroupRotationInfo, + HeadData, + HostConfiguration, + HrmpChannel, + HrmpChannelId, + HrmpOpenChannelRequest, + InboundDownwardMessage, + InboundHrmpMessage, + InboundHrmpMessages, + IncomingParachain, + IncomingParachainDeploy, + IncomingParachainFixed, + InvalidDisputeStatementKind, + LeasePeriod, + LeasePeriodOf, + LocalValidationData, + MessageIngestionType, + MessageQueueChain, + MessagingStateSnapshot, + MessagingStateSnapshotEgressEntry, + MultiDisputeStatementSet, + NewBidder, + OccupiedCore, + OccupiedCoreAssumption, + OldV1SessionInfo, + OutboundHrmpMessage, + ParaGenesisArgs, + ParaId, + ParaInfo, + ParaLifecycle, + ParaPastCodeMeta, + ParaScheduling, + ParaValidatorIndex, + ParachainDispatchOrigin, + ParachainInherentData, + ParachainProposal, + ParachainsInherentData, + ParathreadClaim, + ParathreadClaimQueue, + ParathreadEntry, + PersistedValidationData, + PvfCheckStatement, + QueuedParathread, + RegisteredParachainInfo, + RelayBlockNumber, + RelayChainBlockNumber, + RelayChainHash, + RelayHash, + Remark, + ReplacementTimes, + Retriable, + ScheduledCore, + Scheduling, + ScrapedOnChainVotes, + ServiceQuality, + SessionInfo, + SessionInfoValidatorGroup, + SignedAvailabilityBitfield, + SignedAvailabilityBitfields, + SigningContext, + SlotRange, + SlotRange10, + Statement, + SubId, + SystemInherentData, + TransientValidationData, + UpgradeGoAhead, + UpgradeRestriction, + UpwardMessage, + ValidDisputeStatementKind, + ValidationCode, + ValidationCodeHash, + ValidationData, + ValidationDataType, + ValidationFunctionParams, + ValidatorSignature, + ValidityAttestation, + VecInboundHrmpMessage, + WinnersData, + WinnersData10, + WinnersDataTuple, + WinnersDataTuple10, + WinningData, + WinningData10, + WinningDataEntry, +} from "@polkadot/types/interfaces/parachains"; +import type { + FeeDetails, + InclusionFee, + RuntimeDispatchInfo, + RuntimeDispatchInfoV1, + RuntimeDispatchInfoV2, +} from "@polkadot/types/interfaces/payment"; +import type { Approvals } from "@polkadot/types/interfaces/poll"; +import type { + ProxyAnnouncement, + ProxyDefinition, + ProxyType, +} from "@polkadot/types/interfaces/proxy"; +import type { + AccountStatus, + AccountValidity, +} from "@polkadot/types/interfaces/purchase"; +import type { + ActiveRecovery, + RecoveryConfig, +} from "@polkadot/types/interfaces/recovery"; +import type { RpcMethods } from "@polkadot/types/interfaces/rpc"; +import type { + AccountId, + AccountId20, + AccountId32, + AccountId33, + AccountIdOf, + AccountIndex, + Address, + AssetId, + Balance, + BalanceOf, + Block, + BlockNumber, + BlockNumberFor, + BlockNumberOf, + Call, + CallHash, + CallHashOf, + ChangesTrieConfiguration, + ChangesTrieSignal, + CodecHash, + Consensus, + ConsensusEngineId, + CrateVersion, + Digest, + DigestItem, + EncodedJustification, + ExtrinsicsWeight, + Fixed128, + Fixed64, + FixedI128, + FixedI64, + FixedU128, + FixedU64, + H1024, + H128, + H160, + H2048, + H256, + H32, + H512, + H64, + Hash, + Header, + HeaderPartial, + I32F32, + Index, + IndicesLookupSource, + Justification, + Justifications, + KeyTypeId, + KeyValue, + LockIdentifier, + LookupSource, + LookupTarget, + ModuleId, + Moment, + MultiAddress, + MultiSigner, + OpaqueCall, + Origin, + OriginCaller, + PalletId, + PalletVersion, + PalletsOrigin, + Pays, + PerU16, + Perbill, + Percent, + Permill, + Perquintill, + Phantom, + PhantomData, + PreRuntime, + Releases, + RuntimeDbWeight, + Seal, + SealV0, + SignedBlock, + SignedBlockWithJustification, + SignedBlockWithJustifications, + Slot, + SlotDuration, + StorageData, + StorageInfo, + StorageProof, + TransactionInfo, + TransactionLongevity, + TransactionPriority, + TransactionStorageProof, + TransactionTag, + U32F32, + ValidatorId, + ValidatorIdOf, + Weight, + WeightMultiplier, + WeightV1, + WeightV2, +} from "@polkadot/types/interfaces/runtime"; +import type { + Si0Field, + Si0LookupTypeId, + Si0Path, + Si0Type, + Si0TypeDef, + Si0TypeDefArray, + Si0TypeDefBitSequence, + Si0TypeDefCompact, + Si0TypeDefComposite, + Si0TypeDefPhantom, + Si0TypeDefPrimitive, + Si0TypeDefSequence, + Si0TypeDefTuple, + Si0TypeDefVariant, + Si0TypeParameter, + Si0Variant, + Si1Field, + Si1LookupTypeId, + Si1Path, + Si1Type, + Si1TypeDef, + Si1TypeDefArray, + Si1TypeDefBitSequence, + Si1TypeDefCompact, + Si1TypeDefComposite, + Si1TypeDefPrimitive, + Si1TypeDefSequence, + Si1TypeDefTuple, + Si1TypeDefVariant, + Si1TypeParameter, + Si1Variant, + SiField, + SiLookupTypeId, + SiPath, + SiType, + SiTypeDef, + SiTypeDefArray, + SiTypeDefBitSequence, + SiTypeDefCompact, + SiTypeDefComposite, + SiTypeDefPrimitive, + SiTypeDefSequence, + SiTypeDefTuple, + SiTypeDefVariant, + SiTypeParameter, + SiVariant, +} from "@polkadot/types/interfaces/scaleInfo"; +import type { + Period, + Priority, + SchedulePeriod, + SchedulePriority, + Scheduled, + ScheduledTo254, + TaskAddress, +} from "@polkadot/types/interfaces/scheduler"; +import type { + BeefyKey, + FullIdentification, + IdentificationTuple, + Keys, + MembershipProof, + SessionIndex, + SessionKeys1, + SessionKeys10, + SessionKeys10B, + SessionKeys2, + SessionKeys3, + SessionKeys4, + SessionKeys5, + SessionKeys6, + SessionKeys6B, + SessionKeys7, + SessionKeys7B, + SessionKeys8, + SessionKeys8B, + SessionKeys9, + SessionKeys9B, + ValidatorCount, +} from "@polkadot/types/interfaces/session"; +import type { + Bid, + BidKind, + SocietyJudgement, + SocietyVote, + StrikeCount, + VouchingStatus, +} from "@polkadot/types/interfaces/society"; +import type { + ActiveEraInfo, + CompactAssignments, + CompactAssignmentsTo257, + CompactAssignmentsTo265, + CompactAssignmentsWith16, + CompactAssignmentsWith24, + CompactScore, + CompactScoreCompact, + ElectionCompute, + ElectionPhase, + ElectionResult, + ElectionScore, + ElectionSize, + ElectionStatus, + EraIndex, + EraPoints, + EraRewardPoints, + EraRewards, + Exposure, + ExtendedBalance, + Forcing, + IndividualExposure, + KeyType, + MomentOf, + Nominations, + NominatorIndex, + NominatorIndexCompact, + OffchainAccuracy, + OffchainAccuracyCompact, + PhragmenScore, + Points, + RawSolution, + RawSolutionTo265, + RawSolutionWith16, + RawSolutionWith24, + ReadySolution, + RewardDestination, + RewardPoint, + RoundSnapshot, + SeatHolder, + SignedSubmission, + SignedSubmissionOf, + SignedSubmissionTo276, + SlashJournalEntry, + SlashingSpans, + SlashingSpansTo204, + SolutionOrSnapshotSize, + SolutionSupport, + SolutionSupports, + SpanIndex, + SpanRecord, + StakingLedger, + StakingLedgerTo223, + StakingLedgerTo240, + SubmissionIndicesOf, + Supports, + UnappliedSlash, + UnappliedSlashOther, + UnlockChunk, + ValidatorIndex, + ValidatorIndexCompact, + ValidatorPrefs, + ValidatorPrefsTo145, + ValidatorPrefsTo196, + ValidatorPrefsWithBlocked, + ValidatorPrefsWithCommission, + VoteWeight, + Voter, +} from "@polkadot/types/interfaces/staking"; +import type { + ApiId, + BlockTrace, + BlockTraceEvent, + BlockTraceEventData, + BlockTraceSpan, + KeyValueOption, + MigrationStatusResult, + ReadProof, + RuntimeVersion, + RuntimeVersionApi, + RuntimeVersionPartial, + RuntimeVersionPre3, + RuntimeVersionPre4, + SpecVersion, + StorageChangeSet, + TraceBlockResponse, + TraceError, +} from "@polkadot/types/interfaces/state"; +import type { WeightToFeeCoefficient } from "@polkadot/types/interfaces/support"; +import type { + AccountInfo, + AccountInfoWithDualRefCount, + AccountInfoWithProviders, + AccountInfoWithRefCount, + AccountInfoWithRefCountU8, + AccountInfoWithTripleRefCount, + ApplyExtrinsicResult, + ApplyExtrinsicResultPre6, + ArithmeticError, + BlockLength, + BlockWeights, + ChainProperties, + ChainType, + ConsumedWeight, + DigestOf, + DispatchClass, + DispatchError, + DispatchErrorModule, + DispatchErrorModulePre6, + DispatchErrorModuleU8, + DispatchErrorModuleU8a, + DispatchErrorPre6, + DispatchErrorPre6First, + DispatchErrorTo198, + DispatchInfo, + DispatchInfoTo190, + DispatchInfoTo244, + DispatchOutcome, + DispatchOutcomePre6, + DispatchResult, + DispatchResultOf, + DispatchResultTo198, + Event, + EventId, + EventIndex, + EventRecord, + Health, + InvalidTransaction, + Key, + LastRuntimeUpgradeInfo, + NetworkState, + NetworkStatePeerset, + NetworkStatePeersetInfo, + NodeRole, + NotConnectedPeer, + Peer, + PeerEndpoint, + PeerEndpointAddr, + PeerInfo, + PeerPing, + PerDispatchClassU32, + PerDispatchClassWeight, + PerDispatchClassWeightsPerClass, + Phase, + RawOrigin, + RefCount, + RefCountTo259, + SyncState, + SystemOrigin, + TokenError, + TransactionValidityError, + TransactionalError, + UnknownTransaction, + WeightPerClass, +} from "@polkadot/types/interfaces/system"; +import type { + Bounty, + BountyIndex, + BountyStatus, + BountyStatusActive, + BountyStatusCuratorProposed, + BountyStatusPendingPayout, + OpenTip, + OpenTipFinderTo225, + OpenTipTip, + OpenTipTo225, + TreasuryProposal, +} from "@polkadot/types/interfaces/treasury"; +import type { Multiplier } from "@polkadot/types/interfaces/txpayment"; +import type { + TransactionSource, + TransactionValidity, + ValidTransaction, +} from "@polkadot/types/interfaces/txqueue"; +import type { + ClassDetails, + ClassId, + ClassMetadata, + DepositBalance, + DepositBalanceOf, + DestroyWitness, + InstanceDetails, + InstanceId, + InstanceMetadata, +} from "@polkadot/types/interfaces/uniques"; +import type { Multisig, Timepoint } from "@polkadot/types/interfaces/utility"; +import type { VestingInfo } from "@polkadot/types/interfaces/vesting"; +import type { + AssetInstance, + AssetInstanceV0, + AssetInstanceV1, + AssetInstanceV2, + BodyId, + BodyPart, + DoubleEncodedCall, + Fungibility, + FungibilityV0, + FungibilityV1, + FungibilityV2, + InboundStatus, + InstructionV2, + InteriorMultiLocation, + Junction, + JunctionV0, + JunctionV1, + JunctionV2, + Junctions, + JunctionsV1, + JunctionsV2, + MultiAsset, + MultiAssetFilter, + MultiAssetFilterV1, + MultiAssetFilterV2, + MultiAssetV0, + MultiAssetV1, + MultiAssetV2, + MultiAssets, + MultiAssetsV1, + MultiAssetsV2, + MultiLocation, + MultiLocationV0, + MultiLocationV1, + MultiLocationV2, + NetworkId, + OriginKindV0, + OriginKindV1, + OriginKindV2, + OutboundStatus, + Outcome, + QueryId, + QueryStatus, + QueueConfigData, + Response, + ResponseV0, + ResponseV1, + ResponseV2, + ResponseV2Error, + ResponseV2Result, + VersionMigrationStage, + VersionedMultiAsset, + VersionedMultiAssets, + VersionedMultiLocation, + VersionedResponse, + VersionedXcm, + WeightLimitV2, + WildFungibility, + WildFungibilityV0, + WildFungibilityV1, + WildFungibilityV2, + WildMultiAsset, + WildMultiAssetV1, + WildMultiAssetV2, + Xcm, + XcmAssetId, + XcmError, + XcmErrorV0, + XcmErrorV1, + XcmErrorV2, + XcmOrder, + XcmOrderV0, + XcmOrderV1, + XcmOrderV2, + XcmOrigin, + XcmOriginKind, + XcmV0, + XcmV1, + XcmV2, + XcmVersion, + XcmpMessageFormat, +} from "@polkadot/types/interfaces/xcm"; + +declare module "@polkadot/types/types/registry" { + interface InterfaceTypes { + AbridgedCandidateReceipt: AbridgedCandidateReceipt; + AbridgedHostConfiguration: AbridgedHostConfiguration; + AbridgedHrmpChannel: AbridgedHrmpChannel; + AccountData: AccountData; + AccountId: AccountId; + AccountId20: AccountId20; + AccountId32: AccountId32; + AccountId33: AccountId33; + AccountIdOf: AccountIdOf; + AccountIndex: AccountIndex; + AccountInfo: AccountInfo; + AccountInfoWithDualRefCount: AccountInfoWithDualRefCount; + AccountInfoWithProviders: AccountInfoWithProviders; + AccountInfoWithRefCount: AccountInfoWithRefCount; + AccountInfoWithRefCountU8: AccountInfoWithRefCountU8; + AccountInfoWithTripleRefCount: AccountInfoWithTripleRefCount; + AccountStatus: AccountStatus; + AccountValidity: AccountValidity; + AccountVote: AccountVote; + AccountVoteSplit: AccountVoteSplit; + AccountVoteStandard: AccountVoteStandard; + ActiveEraInfo: ActiveEraInfo; + ActiveGilt: ActiveGilt; + ActiveGiltsTotal: ActiveGiltsTotal; + ActiveIndex: ActiveIndex; + ActiveRecovery: ActiveRecovery; + Address: Address; + AliveContractInfo: AliveContractInfo; + AllowedSlots: AllowedSlots; + AnySignature: AnySignature; + ApiId: ApiId; + ApplyExtrinsicResult: ApplyExtrinsicResult; + ApplyExtrinsicResultPre6: ApplyExtrinsicResultPre6; + ApprovalFlag: ApprovalFlag; + Approvals: Approvals; + ArithmeticError: ArithmeticError; + AssetApproval: AssetApproval; + AssetApprovalKey: AssetApprovalKey; + AssetBalance: AssetBalance; + AssetDestroyWitness: AssetDestroyWitness; + AssetDetails: AssetDetails; + AssetId: AssetId; + AssetInstance: AssetInstance; + AssetInstanceV0: AssetInstanceV0; + AssetInstanceV1: AssetInstanceV1; + AssetInstanceV2: AssetInstanceV2; + AssetMetadata: AssetMetadata; + AssetOptions: AssetOptions; + AssignmentId: AssignmentId; + AssignmentKind: AssignmentKind; + AttestedCandidate: AttestedCandidate; + AuctionIndex: AuctionIndex; + AuthIndex: AuthIndex; + AuthorityDiscoveryId: AuthorityDiscoveryId; + AuthorityId: AuthorityId; + AuthorityIndex: AuthorityIndex; + AuthorityList: AuthorityList; + AuthoritySet: AuthoritySet; + AuthoritySetChange: AuthoritySetChange; + AuthoritySetChanges: AuthoritySetChanges; + AuthoritySignature: AuthoritySignature; + AuthorityWeight: AuthorityWeight; + AvailabilityBitfield: AvailabilityBitfield; + AvailabilityBitfieldRecord: AvailabilityBitfieldRecord; + BabeAuthorityWeight: BabeAuthorityWeight; + BabeBlockWeight: BabeBlockWeight; + BabeEpochConfiguration: BabeEpochConfiguration; + BabeEquivocationProof: BabeEquivocationProof; + BabeGenesisConfiguration: BabeGenesisConfiguration; + BabeGenesisConfigurationV1: BabeGenesisConfigurationV1; + BabeWeight: BabeWeight; + BackedCandidate: BackedCandidate; + Balance: Balance; + Balance2: Balance2; + BalanceLock: BalanceLock; + BalanceLockTo212: BalanceLockTo212; + BalanceOf: BalanceOf; + BalanceStatus: BalanceStatus; + BeefyAuthoritySet: BeefyAuthoritySet; + BeefyCommitment: BeefyCommitment; + BeefyId: BeefyId; + BeefyKey: BeefyKey; + BeefyNextAuthoritySet: BeefyNextAuthoritySet; + BeefyPayload: BeefyPayload; + BeefyPayloadId: BeefyPayloadId; + BeefySignedCommitment: BeefySignedCommitment; + BenchmarkBatch: BenchmarkBatch; + BenchmarkConfig: BenchmarkConfig; + BenchmarkList: BenchmarkList; + BenchmarkMetadata: BenchmarkMetadata; + BenchmarkParameter: BenchmarkParameter; + BenchmarkResult: BenchmarkResult; + Bid: Bid; + Bidder: Bidder; + BidKind: BidKind; + BitVec: BitVec; + Block: Block; + BlockAttestations: BlockAttestations; + BlockHash: BlockHash; + BlockLength: BlockLength; + BlockNumber: BlockNumber; + BlockNumberFor: BlockNumberFor; + BlockNumberOf: BlockNumberOf; + BlockStats: BlockStats; + BlockTrace: BlockTrace; + BlockTraceEvent: BlockTraceEvent; + BlockTraceEventData: BlockTraceEventData; + BlockTraceSpan: BlockTraceSpan; + BlockV0: BlockV0; + BlockV1: BlockV1; + BlockV2: BlockV2; + BlockWeights: BlockWeights; + BodyId: BodyId; + BodyPart: BodyPart; + bool: bool; + Bool: Bool; + Bounty: Bounty; + BountyIndex: BountyIndex; + BountyStatus: BountyStatus; + BountyStatusActive: BountyStatusActive; + BountyStatusCuratorProposed: BountyStatusCuratorProposed; + BountyStatusPendingPayout: BountyStatusPendingPayout; + BridgedBlockHash: BridgedBlockHash; + BridgedBlockNumber: BridgedBlockNumber; + BridgedHeader: BridgedHeader; + BridgeMessageId: BridgeMessageId; + BufferedSessionChange: BufferedSessionChange; + Bytes: Bytes; + Call: Call; + CallHash: CallHash; + CallHashOf: CallHashOf; + CallIndex: CallIndex; + CallOrigin: CallOrigin; + CandidateCommitments: CandidateCommitments; + CandidateDescriptor: CandidateDescriptor; + CandidateEvent: CandidateEvent; + CandidateHash: CandidateHash; + CandidateInfo: CandidateInfo; + CandidatePendingAvailability: CandidatePendingAvailability; + CandidateReceipt: CandidateReceipt; + ChainId: ChainId; + ChainProperties: ChainProperties; + ChainType: ChainType; + ChangesTrieConfiguration: ChangesTrieConfiguration; + ChangesTrieSignal: ChangesTrieSignal; + CheckInherentsResult: CheckInherentsResult; + ClassDetails: ClassDetails; + ClassId: ClassId; + ClassMetadata: ClassMetadata; + CodecHash: CodecHash; + CodeHash: CodeHash; + CodeSource: CodeSource; + CodeUploadRequest: CodeUploadRequest; + CodeUploadResult: CodeUploadResult; + CodeUploadResultValue: CodeUploadResultValue; + CollationInfo: CollationInfo; + CollationInfoV1: CollationInfoV1; + CollatorId: CollatorId; + CollatorSignature: CollatorSignature; + CollectiveOrigin: CollectiveOrigin; + Commitments: Commitments; + CommittedCandidateReceipt: CommittedCandidateReceipt; + CompactAssignments: CompactAssignments; + CompactAssignmentsTo257: CompactAssignmentsTo257; + CompactAssignmentsTo265: CompactAssignmentsTo265; + CompactAssignmentsWith16: CompactAssignmentsWith16; + CompactAssignmentsWith24: CompactAssignmentsWith24; + CompactScore: CompactScore; + CompactScoreCompact: CompactScoreCompact; + ConfigData: ConfigData; + Consensus: Consensus; + ConsensusEngineId: ConsensusEngineId; + ConsumedWeight: ConsumedWeight; + ContractCallFlags: ContractCallFlags; + ContractCallRequest: ContractCallRequest; + ContractConstructorSpecLatest: ContractConstructorSpecLatest; + ContractConstructorSpecV0: ContractConstructorSpecV0; + ContractConstructorSpecV1: ContractConstructorSpecV1; + ContractConstructorSpecV2: ContractConstructorSpecV2; + ContractConstructorSpecV3: ContractConstructorSpecV3; + ContractContractSpecV0: ContractContractSpecV0; + ContractContractSpecV1: ContractContractSpecV1; + ContractContractSpecV2: ContractContractSpecV2; + ContractContractSpecV3: ContractContractSpecV3; + ContractContractSpecV4: ContractContractSpecV4; + ContractCryptoHasher: ContractCryptoHasher; + ContractDiscriminant: ContractDiscriminant; + ContractDisplayName: ContractDisplayName; + ContractEventParamSpecLatest: ContractEventParamSpecLatest; + ContractEventParamSpecV0: ContractEventParamSpecV0; + ContractEventParamSpecV2: ContractEventParamSpecV2; + ContractEventSpecLatest: ContractEventSpecLatest; + ContractEventSpecV0: ContractEventSpecV0; + ContractEventSpecV1: ContractEventSpecV1; + ContractEventSpecV2: ContractEventSpecV2; + ContractExecResult: ContractExecResult; + ContractExecResultOk: ContractExecResultOk; + ContractExecResultResult: ContractExecResultResult; + ContractExecResultSuccessTo255: ContractExecResultSuccessTo255; + ContractExecResultSuccessTo260: ContractExecResultSuccessTo260; + ContractExecResultTo255: ContractExecResultTo255; + ContractExecResultTo260: ContractExecResultTo260; + ContractExecResultTo267: ContractExecResultTo267; + ContractExecResultU64: ContractExecResultU64; + ContractInfo: ContractInfo; + ContractInstantiateResult: ContractInstantiateResult; + ContractInstantiateResultTo267: ContractInstantiateResultTo267; + ContractInstantiateResultTo299: ContractInstantiateResultTo299; + ContractInstantiateResultU64: ContractInstantiateResultU64; + ContractLayoutArray: ContractLayoutArray; + ContractLayoutCell: ContractLayoutCell; + ContractLayoutEnum: ContractLayoutEnum; + ContractLayoutHash: ContractLayoutHash; + ContractLayoutHashingStrategy: ContractLayoutHashingStrategy; + ContractLayoutKey: ContractLayoutKey; + ContractLayoutStruct: ContractLayoutStruct; + ContractLayoutStructField: ContractLayoutStructField; + ContractMessageParamSpecLatest: ContractMessageParamSpecLatest; + ContractMessageParamSpecV0: ContractMessageParamSpecV0; + ContractMessageParamSpecV2: ContractMessageParamSpecV2; + ContractMessageSpecLatest: ContractMessageSpecLatest; + ContractMessageSpecV0: ContractMessageSpecV0; + ContractMessageSpecV1: ContractMessageSpecV1; + ContractMessageSpecV2: ContractMessageSpecV2; + ContractMetadata: ContractMetadata; + ContractMetadataLatest: ContractMetadataLatest; + ContractMetadataV0: ContractMetadataV0; + ContractMetadataV1: ContractMetadataV1; + ContractMetadataV2: ContractMetadataV2; + ContractMetadataV3: ContractMetadataV3; + ContractMetadataV4: ContractMetadataV4; + ContractProject: ContractProject; + ContractProjectContract: ContractProjectContract; + ContractProjectInfo: ContractProjectInfo; + ContractProjectSource: ContractProjectSource; + ContractProjectV0: ContractProjectV0; + ContractReturnFlags: ContractReturnFlags; + ContractSelector: ContractSelector; + ContractStorageKey: ContractStorageKey; + ContractStorageLayout: ContractStorageLayout; + ContractTypeSpec: ContractTypeSpec; + Conviction: Conviction; + CoreAssignment: CoreAssignment; + CoreIndex: CoreIndex; + CoreOccupied: CoreOccupied; + CoreState: CoreState; + CrateVersion: CrateVersion; + CreatedBlock: CreatedBlock; + Data: Data; + DeferredOffenceOf: DeferredOffenceOf; + DefunctVoter: DefunctVoter; + DelayKind: DelayKind; + DelayKindBest: DelayKindBest; + Delegations: Delegations; + DeletedContract: DeletedContract; + DeliveredMessages: DeliveredMessages; + DepositBalance: DepositBalance; + DepositBalanceOf: DepositBalanceOf; + DestroyWitness: DestroyWitness; + Digest: Digest; + DigestItem: DigestItem; + DigestOf: DigestOf; + DispatchClass: DispatchClass; + DispatchError: DispatchError; + DispatchErrorModule: DispatchErrorModule; + DispatchErrorModulePre6: DispatchErrorModulePre6; + DispatchErrorModuleU8: DispatchErrorModuleU8; + DispatchErrorModuleU8a: DispatchErrorModuleU8a; + DispatchErrorPre6: DispatchErrorPre6; + DispatchErrorPre6First: DispatchErrorPre6First; + DispatchErrorTo198: DispatchErrorTo198; + DispatchFeePayment: DispatchFeePayment; + DispatchInfo: DispatchInfo; + DispatchInfoTo190: DispatchInfoTo190; + DispatchInfoTo244: DispatchInfoTo244; + DispatchOutcome: DispatchOutcome; + DispatchOutcomePre6: DispatchOutcomePre6; + DispatchResult: DispatchResult; + DispatchResultOf: DispatchResultOf; + DispatchResultTo198: DispatchResultTo198; + DisputeLocation: DisputeLocation; + DisputeResult: DisputeResult; + DisputeState: DisputeState; + DisputeStatement: DisputeStatement; + DisputeStatementSet: DisputeStatementSet; + DoubleEncodedCall: DoubleEncodedCall; + DoubleVoteReport: DoubleVoteReport; + DownwardMessage: DownwardMessage; + EcdsaSignature: EcdsaSignature; + Ed25519Signature: Ed25519Signature; + EIP1559Transaction: EIP1559Transaction; + EIP2930Transaction: EIP2930Transaction; + ElectionCompute: ElectionCompute; + ElectionPhase: ElectionPhase; + ElectionResult: ElectionResult; + ElectionScore: ElectionScore; + ElectionSize: ElectionSize; + ElectionStatus: ElectionStatus; + EncodedFinalityProofs: EncodedFinalityProofs; + EncodedJustification: EncodedJustification; + Epoch: Epoch; + EpochAuthorship: EpochAuthorship; + Era: Era; + EraIndex: EraIndex; + EraPoints: EraPoints; + EraRewardPoints: EraRewardPoints; + EraRewards: EraRewards; + ErrorMetadataLatest: ErrorMetadataLatest; + ErrorMetadataV10: ErrorMetadataV10; + ErrorMetadataV11: ErrorMetadataV11; + ErrorMetadataV12: ErrorMetadataV12; + ErrorMetadataV13: ErrorMetadataV13; + ErrorMetadataV14: ErrorMetadataV14; + ErrorMetadataV9: ErrorMetadataV9; + EthAccessList: EthAccessList; + EthAccessListItem: EthAccessListItem; + EthAccount: EthAccount; + EthAddress: EthAddress; + EthBlock: EthBlock; + EthBloom: EthBloom; + EthCallRequest: EthCallRequest; + EthereumAccountId: EthereumAccountId; + EthereumAddress: EthereumAddress; + EthereumLookupSource: EthereumLookupSource; + EthereumSignature: EthereumSignature; + EthFeeHistory: EthFeeHistory; + EthFilter: EthFilter; + EthFilterAddress: EthFilterAddress; + EthFilterChanges: EthFilterChanges; + EthFilterTopic: EthFilterTopic; + EthFilterTopicEntry: EthFilterTopicEntry; + EthFilterTopicInner: EthFilterTopicInner; + EthHeader: EthHeader; + EthLog: EthLog; + EthReceipt: EthReceipt; + EthReceiptV0: EthReceiptV0; + EthReceiptV3: EthReceiptV3; + EthRichBlock: EthRichBlock; + EthRichHeader: EthRichHeader; + EthStorageProof: EthStorageProof; + EthSubKind: EthSubKind; + EthSubParams: EthSubParams; + EthSubResult: EthSubResult; + EthSyncInfo: EthSyncInfo; + EthSyncStatus: EthSyncStatus; + EthTransaction: EthTransaction; + EthTransactionAction: EthTransactionAction; + EthTransactionCondition: EthTransactionCondition; + EthTransactionRequest: EthTransactionRequest; + EthTransactionSignature: EthTransactionSignature; + EthTransactionStatus: EthTransactionStatus; + EthWork: EthWork; + Event: Event; + EventId: EventId; + EventIndex: EventIndex; + EventMetadataLatest: EventMetadataLatest; + EventMetadataV10: EventMetadataV10; + EventMetadataV11: EventMetadataV11; + EventMetadataV12: EventMetadataV12; + EventMetadataV13: EventMetadataV13; + EventMetadataV14: EventMetadataV14; + EventMetadataV9: EventMetadataV9; + EventRecord: EventRecord; + EvmAccount: EvmAccount; + EvmCallInfo: EvmCallInfo; + EvmCreateInfo: EvmCreateInfo; + EvmLog: EvmLog; + EvmVicinity: EvmVicinity; + ExecReturnValue: ExecReturnValue; + ExitError: ExitError; + ExitFatal: ExitFatal; + ExitReason: ExitReason; + ExitRevert: ExitRevert; + ExitSucceed: ExitSucceed; + ExplicitDisputeStatement: ExplicitDisputeStatement; + Exposure: Exposure; + ExtendedBalance: ExtendedBalance; + Extrinsic: Extrinsic; + ExtrinsicEra: ExtrinsicEra; + ExtrinsicMetadataLatest: ExtrinsicMetadataLatest; + ExtrinsicMetadataV11: ExtrinsicMetadataV11; + ExtrinsicMetadataV12: ExtrinsicMetadataV12; + ExtrinsicMetadataV13: ExtrinsicMetadataV13; + ExtrinsicMetadataV14: ExtrinsicMetadataV14; + ExtrinsicOrHash: ExtrinsicOrHash; + ExtrinsicPayload: ExtrinsicPayload; + ExtrinsicPayloadUnknown: ExtrinsicPayloadUnknown; + ExtrinsicPayloadV4: ExtrinsicPayloadV4; + ExtrinsicSignature: ExtrinsicSignature; + ExtrinsicSignatureV4: ExtrinsicSignatureV4; + ExtrinsicStatus: ExtrinsicStatus; + ExtrinsicsWeight: ExtrinsicsWeight; + ExtrinsicUnknown: ExtrinsicUnknown; + ExtrinsicV4: ExtrinsicV4; + f32: f32; + F32: F32; + f64: f64; + F64: F64; + FeeDetails: FeeDetails; + Fixed128: Fixed128; + Fixed64: Fixed64; + FixedI128: FixedI128; + FixedI64: FixedI64; + FixedU128: FixedU128; + FixedU64: FixedU64; + Forcing: Forcing; + ForkTreePendingChange: ForkTreePendingChange; + ForkTreePendingChangeNode: ForkTreePendingChangeNode; + FullIdentification: FullIdentification; + FunctionArgumentMetadataLatest: FunctionArgumentMetadataLatest; + FunctionArgumentMetadataV10: FunctionArgumentMetadataV10; + FunctionArgumentMetadataV11: FunctionArgumentMetadataV11; + FunctionArgumentMetadataV12: FunctionArgumentMetadataV12; + FunctionArgumentMetadataV13: FunctionArgumentMetadataV13; + FunctionArgumentMetadataV14: FunctionArgumentMetadataV14; + FunctionArgumentMetadataV9: FunctionArgumentMetadataV9; + FunctionMetadataLatest: FunctionMetadataLatest; + FunctionMetadataV10: FunctionMetadataV10; + FunctionMetadataV11: FunctionMetadataV11; + FunctionMetadataV12: FunctionMetadataV12; + FunctionMetadataV13: FunctionMetadataV13; + FunctionMetadataV14: FunctionMetadataV14; + FunctionMetadataV9: FunctionMetadataV9; + FundIndex: FundIndex; + FundInfo: FundInfo; + Fungibility: Fungibility; + FungibilityV0: FungibilityV0; + FungibilityV1: FungibilityV1; + FungibilityV2: FungibilityV2; + Gas: Gas; + GiltBid: GiltBid; + GlobalValidationData: GlobalValidationData; + GlobalValidationSchedule: GlobalValidationSchedule; + GrandpaCommit: GrandpaCommit; + GrandpaEquivocation: GrandpaEquivocation; + GrandpaEquivocationProof: GrandpaEquivocationProof; + GrandpaEquivocationValue: GrandpaEquivocationValue; + GrandpaJustification: GrandpaJustification; + GrandpaPrecommit: GrandpaPrecommit; + GrandpaPrevote: GrandpaPrevote; + GrandpaSignedPrecommit: GrandpaSignedPrecommit; + GroupIndex: GroupIndex; + GroupRotationInfo: GroupRotationInfo; + H1024: H1024; + H128: H128; + H160: H160; + H2048: H2048; + H256: H256; + H32: H32; + H512: H512; + H64: H64; + Hash: Hash; + HeadData: HeadData; + Header: Header; + HeaderPartial: HeaderPartial; + Health: Health; + Heartbeat: Heartbeat; + HeartbeatTo244: HeartbeatTo244; + HostConfiguration: HostConfiguration; + HostFnWeights: HostFnWeights; + HostFnWeightsTo264: HostFnWeightsTo264; + HrmpChannel: HrmpChannel; + HrmpChannelId: HrmpChannelId; + HrmpOpenChannelRequest: HrmpOpenChannelRequest; + i128: i128; + I128: I128; + i16: i16; + I16: I16; + i256: i256; + I256: I256; + i32: i32; + I32: I32; + I32F32: I32F32; + i64: i64; + I64: I64; + i8: i8; + I8: I8; + IdentificationTuple: IdentificationTuple; + IdentityFields: IdentityFields; + IdentityInfo: IdentityInfo; + IdentityInfoAdditional: IdentityInfoAdditional; + IdentityInfoTo198: IdentityInfoTo198; + IdentityJudgement: IdentityJudgement; + ImmortalEra: ImmortalEra; + ImportedAux: ImportedAux; + InboundDownwardMessage: InboundDownwardMessage; + InboundHrmpMessage: InboundHrmpMessage; + InboundHrmpMessages: InboundHrmpMessages; + InboundLaneData: InboundLaneData; + InboundRelayer: InboundRelayer; + InboundStatus: InboundStatus; + IncludedBlocks: IncludedBlocks; + InclusionFee: InclusionFee; + IncomingParachain: IncomingParachain; + IncomingParachainDeploy: IncomingParachainDeploy; + IncomingParachainFixed: IncomingParachainFixed; + Index: Index; + IndicesLookupSource: IndicesLookupSource; + IndividualExposure: IndividualExposure; + InherentData: InherentData; + InherentIdentifier: InherentIdentifier; + InitializationData: InitializationData; + InstanceDetails: InstanceDetails; + InstanceId: InstanceId; + InstanceMetadata: InstanceMetadata; + InstantiateRequest: InstantiateRequest; + InstantiateRequestV1: InstantiateRequestV1; + InstantiateRequestV2: InstantiateRequestV2; + InstantiateReturnValue: InstantiateReturnValue; + InstantiateReturnValueOk: InstantiateReturnValueOk; + InstantiateReturnValueTo267: InstantiateReturnValueTo267; + InstructionV2: InstructionV2; + InstructionWeights: InstructionWeights; + InteriorMultiLocation: InteriorMultiLocation; + InvalidDisputeStatementKind: InvalidDisputeStatementKind; + InvalidTransaction: InvalidTransaction; + Json: Json; + Junction: Junction; + Junctions: Junctions; + JunctionsV1: JunctionsV1; + JunctionsV2: JunctionsV2; + JunctionV0: JunctionV0; + JunctionV1: JunctionV1; + JunctionV2: JunctionV2; + Justification: Justification; + JustificationNotification: JustificationNotification; + Justifications: Justifications; + Key: Key; + KeyOwnerProof: KeyOwnerProof; + Keys: Keys; + KeyType: KeyType; + KeyTypeId: KeyTypeId; + KeyValue: KeyValue; + KeyValueOption: KeyValueOption; + Kind: Kind; + LaneId: LaneId; + LastContribution: LastContribution; + LastRuntimeUpgradeInfo: LastRuntimeUpgradeInfo; + LeasePeriod: LeasePeriod; + LeasePeriodOf: LeasePeriodOf; + LegacyTransaction: LegacyTransaction; + Limits: Limits; + LimitsTo264: LimitsTo264; + LocalValidationData: LocalValidationData; + LockIdentifier: LockIdentifier; + LookupSource: LookupSource; + LookupTarget: LookupTarget; + LotteryConfig: LotteryConfig; + MaybeRandomness: MaybeRandomness; + MaybeVrf: MaybeVrf; + MemberCount: MemberCount; + MembershipProof: MembershipProof; + MessageData: MessageData; + MessageId: MessageId; + MessageIngestionType: MessageIngestionType; + MessageKey: MessageKey; + MessageNonce: MessageNonce; + MessageQueueChain: MessageQueueChain; + MessagesDeliveryProofOf: MessagesDeliveryProofOf; + MessagesProofOf: MessagesProofOf; + MessagingStateSnapshot: MessagingStateSnapshot; + MessagingStateSnapshotEgressEntry: MessagingStateSnapshotEgressEntry; + MetadataAll: MetadataAll; + MetadataLatest: MetadataLatest; + MetadataV10: MetadataV10; + MetadataV11: MetadataV11; + MetadataV12: MetadataV12; + MetadataV13: MetadataV13; + MetadataV14: MetadataV14; + MetadataV9: MetadataV9; + MigrationStatusResult: MigrationStatusResult; + MmrBatchProof: MmrBatchProof; + MmrEncodableOpaqueLeaf: MmrEncodableOpaqueLeaf; + MmrError: MmrError; + MmrLeafBatchProof: MmrLeafBatchProof; + MmrLeafIndex: MmrLeafIndex; + MmrLeafProof: MmrLeafProof; + MmrNodeIndex: MmrNodeIndex; + MmrProof: MmrProof; + MmrRootHash: MmrRootHash; + ModuleConstantMetadataV10: ModuleConstantMetadataV10; + ModuleConstantMetadataV11: ModuleConstantMetadataV11; + ModuleConstantMetadataV12: ModuleConstantMetadataV12; + ModuleConstantMetadataV13: ModuleConstantMetadataV13; + ModuleConstantMetadataV9: ModuleConstantMetadataV9; + ModuleId: ModuleId; + ModuleMetadataV10: ModuleMetadataV10; + ModuleMetadataV11: ModuleMetadataV11; + ModuleMetadataV12: ModuleMetadataV12; + ModuleMetadataV13: ModuleMetadataV13; + ModuleMetadataV9: ModuleMetadataV9; + Moment: Moment; + MomentOf: MomentOf; + MoreAttestations: MoreAttestations; + MortalEra: MortalEra; + MultiAddress: MultiAddress; + MultiAsset: MultiAsset; + MultiAssetFilter: MultiAssetFilter; + MultiAssetFilterV1: MultiAssetFilterV1; + MultiAssetFilterV2: MultiAssetFilterV2; + MultiAssets: MultiAssets; + MultiAssetsV1: MultiAssetsV1; + MultiAssetsV2: MultiAssetsV2; + MultiAssetV0: MultiAssetV0; + MultiAssetV1: MultiAssetV1; + MultiAssetV2: MultiAssetV2; + MultiDisputeStatementSet: MultiDisputeStatementSet; + MultiLocation: MultiLocation; + MultiLocationV0: MultiLocationV0; + MultiLocationV1: MultiLocationV1; + MultiLocationV2: MultiLocationV2; + Multiplier: Multiplier; + Multisig: Multisig; + MultiSignature: MultiSignature; + MultiSigner: MultiSigner; + NetworkId: NetworkId; + NetworkState: NetworkState; + NetworkStatePeerset: NetworkStatePeerset; + NetworkStatePeersetInfo: NetworkStatePeersetInfo; + NewBidder: NewBidder; + NextAuthority: NextAuthority; + NextConfigDescriptor: NextConfigDescriptor; + NextConfigDescriptorV1: NextConfigDescriptorV1; + NodeRole: NodeRole; + Nominations: Nominations; + NominatorIndex: NominatorIndex; + NominatorIndexCompact: NominatorIndexCompact; + NotConnectedPeer: NotConnectedPeer; + NpApiError: NpApiError; + Null: Null; + OccupiedCore: OccupiedCore; + OccupiedCoreAssumption: OccupiedCoreAssumption; + OffchainAccuracy: OffchainAccuracy; + OffchainAccuracyCompact: OffchainAccuracyCompact; + OffenceDetails: OffenceDetails; + Offender: Offender; + OldV1SessionInfo: OldV1SessionInfo; + OpaqueCall: OpaqueCall; + OpaqueKeyOwnershipProof: OpaqueKeyOwnershipProof; + OpaqueMetadata: OpaqueMetadata; + OpaqueMultiaddr: OpaqueMultiaddr; + OpaqueNetworkState: OpaqueNetworkState; + OpaquePeerId: OpaquePeerId; + OpaqueTimeSlot: OpaqueTimeSlot; + OpenTip: OpenTip; + OpenTipFinderTo225: OpenTipFinderTo225; + OpenTipTip: OpenTipTip; + OpenTipTo225: OpenTipTo225; + OperatingMode: OperatingMode; + OptionBool: OptionBool; + Origin: Origin; + OriginCaller: OriginCaller; + OriginKindV0: OriginKindV0; + OriginKindV1: OriginKindV1; + OriginKindV2: OriginKindV2; + OutboundHrmpMessage: OutboundHrmpMessage; + OutboundLaneData: OutboundLaneData; + OutboundMessageFee: OutboundMessageFee; + OutboundPayload: OutboundPayload; + OutboundStatus: OutboundStatus; + Outcome: Outcome; + OverweightIndex: OverweightIndex; + Owner: Owner; + PageCounter: PageCounter; + PageIndexData: PageIndexData; + PalletCallMetadataLatest: PalletCallMetadataLatest; + PalletCallMetadataV14: PalletCallMetadataV14; + PalletConstantMetadataLatest: PalletConstantMetadataLatest; + PalletConstantMetadataV14: PalletConstantMetadataV14; + PalletErrorMetadataLatest: PalletErrorMetadataLatest; + PalletErrorMetadataV14: PalletErrorMetadataV14; + PalletEventMetadataLatest: PalletEventMetadataLatest; + PalletEventMetadataV14: PalletEventMetadataV14; + PalletId: PalletId; + PalletMetadataLatest: PalletMetadataLatest; + PalletMetadataV14: PalletMetadataV14; + PalletsOrigin: PalletsOrigin; + PalletStorageMetadataLatest: PalletStorageMetadataLatest; + PalletStorageMetadataV14: PalletStorageMetadataV14; + PalletVersion: PalletVersion; + ParachainDispatchOrigin: ParachainDispatchOrigin; + ParachainInherentData: ParachainInherentData; + ParachainProposal: ParachainProposal; + ParachainsInherentData: ParachainsInherentData; + ParaGenesisArgs: ParaGenesisArgs; + ParaId: ParaId; + ParaInfo: ParaInfo; + ParaLifecycle: ParaLifecycle; + Parameter: Parameter; + ParaPastCodeMeta: ParaPastCodeMeta; + ParaScheduling: ParaScheduling; + ParathreadClaim: ParathreadClaim; + ParathreadClaimQueue: ParathreadClaimQueue; + ParathreadEntry: ParathreadEntry; + ParaValidatorIndex: ParaValidatorIndex; + Pays: Pays; + Peer: Peer; + PeerEndpoint: PeerEndpoint; + PeerEndpointAddr: PeerEndpointAddr; + PeerInfo: PeerInfo; + PeerPing: PeerPing; + PendingChange: PendingChange; + PendingPause: PendingPause; + PendingResume: PendingResume; + Perbill: Perbill; + Percent: Percent; + PerDispatchClassU32: PerDispatchClassU32; + PerDispatchClassWeight: PerDispatchClassWeight; + PerDispatchClassWeightsPerClass: PerDispatchClassWeightsPerClass; + Period: Period; + Permill: Permill; + PermissionLatest: PermissionLatest; + PermissionsV1: PermissionsV1; + PermissionVersions: PermissionVersions; + Perquintill: Perquintill; + PersistedValidationData: PersistedValidationData; + PerU16: PerU16; + Phantom: Phantom; + PhantomData: PhantomData; + Phase: Phase; + PhragmenScore: PhragmenScore; + Points: Points; + PortableType: PortableType; + PortableTypeV14: PortableTypeV14; + Precommits: Precommits; + PrefabWasmModule: PrefabWasmModule; + PrefixedStorageKey: PrefixedStorageKey; + PreimageStatus: PreimageStatus; + PreimageStatusAvailable: PreimageStatusAvailable; + PreRuntime: PreRuntime; + Prevotes: Prevotes; + Priority: Priority; + PriorLock: PriorLock; + PropIndex: PropIndex; + Proposal: Proposal; + ProposalContents: ProposalContents; + ProposalIndex: ProposalIndex; + ProposalRecord: ProposalRecord; + ProposalTitle: ProposalTitle; + ProxyAnnouncement: ProxyAnnouncement; + ProxyDefinition: ProxyDefinition; + ProxyState: ProxyState; + ProxyType: ProxyType; + PvfCheckStatement: PvfCheckStatement; + QueryId: QueryId; + QueryStatus: QueryStatus; + QueueConfigData: QueueConfigData; + QueuedParathread: QueuedParathread; + Randomness: Randomness; + Raw: Raw; + RawAuraPreDigest: RawAuraPreDigest; + RawBabePreDigest: RawBabePreDigest; + RawBabePreDigestCompat: RawBabePreDigestCompat; + RawBabePreDigestPrimary: RawBabePreDigestPrimary; + RawBabePreDigestPrimaryTo159: RawBabePreDigestPrimaryTo159; + RawBabePreDigestSecondaryPlain: RawBabePreDigestSecondaryPlain; + RawBabePreDigestSecondaryTo159: RawBabePreDigestSecondaryTo159; + RawBabePreDigestSecondaryVRF: RawBabePreDigestSecondaryVRF; + RawBabePreDigestTo159: RawBabePreDigestTo159; + RawOrigin: RawOrigin; + RawSolution: RawSolution; + RawSolutionTo265: RawSolutionTo265; + RawSolutionWith16: RawSolutionWith16; + RawSolutionWith24: RawSolutionWith24; + RawVRFOutput: RawVRFOutput; + ReadProof: ReadProof; + ReadySolution: ReadySolution; + Reasons: Reasons; + RecoveryConfig: RecoveryConfig; + RefCount: RefCount; + RefCountTo259: RefCountTo259; + ReferendumIndex: ReferendumIndex; + ReferendumInfo: ReferendumInfo; + ReferendumInfoFinished: ReferendumInfoFinished; + ReferendumInfoTo239: ReferendumInfoTo239; + ReferendumStatus: ReferendumStatus; + RegisteredParachainInfo: RegisteredParachainInfo; + RegistrarIndex: RegistrarIndex; + RegistrarInfo: RegistrarInfo; + Registration: Registration; + RegistrationJudgement: RegistrationJudgement; + RegistrationTo198: RegistrationTo198; + RelayBlockNumber: RelayBlockNumber; + RelayChainBlockNumber: RelayChainBlockNumber; + RelayChainHash: RelayChainHash; + RelayerId: RelayerId; + RelayHash: RelayHash; + Releases: Releases; + Remark: Remark; + Renouncing: Renouncing; + RentProjection: RentProjection; + ReplacementTimes: ReplacementTimes; + ReportedRoundStates: ReportedRoundStates; + Reporter: Reporter; + ReportIdOf: ReportIdOf; + ReserveData: ReserveData; + ReserveIdentifier: ReserveIdentifier; + Response: Response; + ResponseV0: ResponseV0; + ResponseV1: ResponseV1; + ResponseV2: ResponseV2; + ResponseV2Error: ResponseV2Error; + ResponseV2Result: ResponseV2Result; + Retriable: Retriable; + Reveals: Reveals; + RewardDestination: RewardDestination; + RewardPoint: RewardPoint; + RoundSnapshot: RoundSnapshot; + RoundState: RoundState; + RpcMethods: RpcMethods; + RuntimeDbWeight: RuntimeDbWeight; + RuntimeDispatchInfo: RuntimeDispatchInfo; + RuntimeDispatchInfoV1: RuntimeDispatchInfoV1; + RuntimeDispatchInfoV2: RuntimeDispatchInfoV2; + RuntimeVersion: RuntimeVersion; + RuntimeVersionApi: RuntimeVersionApi; + RuntimeVersionPartial: RuntimeVersionPartial; + RuntimeVersionPre3: RuntimeVersionPre3; + RuntimeVersionPre4: RuntimeVersionPre4; + Schedule: Schedule; + Scheduled: Scheduled; + ScheduledCore: ScheduledCore; + ScheduledTo254: ScheduledTo254; + SchedulePeriod: SchedulePeriod; + SchedulePriority: SchedulePriority; + ScheduleTo212: ScheduleTo212; + ScheduleTo258: ScheduleTo258; + ScheduleTo264: ScheduleTo264; + Scheduling: Scheduling; + ScrapedOnChainVotes: ScrapedOnChainVotes; + Seal: Seal; + SealV0: SealV0; + SeatHolder: SeatHolder; + SeedOf: SeedOf; + ServiceQuality: ServiceQuality; + SessionIndex: SessionIndex; + SessionInfo: SessionInfo; + SessionInfoValidatorGroup: SessionInfoValidatorGroup; + SessionKeys1: SessionKeys1; + SessionKeys10: SessionKeys10; + SessionKeys10B: SessionKeys10B; + SessionKeys2: SessionKeys2; + SessionKeys3: SessionKeys3; + SessionKeys4: SessionKeys4; + SessionKeys5: SessionKeys5; + SessionKeys6: SessionKeys6; + SessionKeys6B: SessionKeys6B; + SessionKeys7: SessionKeys7; + SessionKeys7B: SessionKeys7B; + SessionKeys8: SessionKeys8; + SessionKeys8B: SessionKeys8B; + SessionKeys9: SessionKeys9; + SessionKeys9B: SessionKeys9B; + SetId: SetId; + SetIndex: SetIndex; + Si0Field: Si0Field; + Si0LookupTypeId: Si0LookupTypeId; + Si0Path: Si0Path; + Si0Type: Si0Type; + Si0TypeDef: Si0TypeDef; + Si0TypeDefArray: Si0TypeDefArray; + Si0TypeDefBitSequence: Si0TypeDefBitSequence; + Si0TypeDefCompact: Si0TypeDefCompact; + Si0TypeDefComposite: Si0TypeDefComposite; + Si0TypeDefPhantom: Si0TypeDefPhantom; + Si0TypeDefPrimitive: Si0TypeDefPrimitive; + Si0TypeDefSequence: Si0TypeDefSequence; + Si0TypeDefTuple: Si0TypeDefTuple; + Si0TypeDefVariant: Si0TypeDefVariant; + Si0TypeParameter: Si0TypeParameter; + Si0Variant: Si0Variant; + Si1Field: Si1Field; + Si1LookupTypeId: Si1LookupTypeId; + Si1Path: Si1Path; + Si1Type: Si1Type; + Si1TypeDef: Si1TypeDef; + Si1TypeDefArray: Si1TypeDefArray; + Si1TypeDefBitSequence: Si1TypeDefBitSequence; + Si1TypeDefCompact: Si1TypeDefCompact; + Si1TypeDefComposite: Si1TypeDefComposite; + Si1TypeDefPrimitive: Si1TypeDefPrimitive; + Si1TypeDefSequence: Si1TypeDefSequence; + Si1TypeDefTuple: Si1TypeDefTuple; + Si1TypeDefVariant: Si1TypeDefVariant; + Si1TypeParameter: Si1TypeParameter; + Si1Variant: Si1Variant; + SiField: SiField; + Signature: Signature; + SignedAvailabilityBitfield: SignedAvailabilityBitfield; + SignedAvailabilityBitfields: SignedAvailabilityBitfields; + SignedBlock: SignedBlock; + SignedBlockWithJustification: SignedBlockWithJustification; + SignedBlockWithJustifications: SignedBlockWithJustifications; + SignedExtensionMetadataLatest: SignedExtensionMetadataLatest; + SignedExtensionMetadataV14: SignedExtensionMetadataV14; + SignedSubmission: SignedSubmission; + SignedSubmissionOf: SignedSubmissionOf; + SignedSubmissionTo276: SignedSubmissionTo276; + SignerPayload: SignerPayload; + SigningContext: SigningContext; + SiLookupTypeId: SiLookupTypeId; + SiPath: SiPath; + SiType: SiType; + SiTypeDef: SiTypeDef; + SiTypeDefArray: SiTypeDefArray; + SiTypeDefBitSequence: SiTypeDefBitSequence; + SiTypeDefCompact: SiTypeDefCompact; + SiTypeDefComposite: SiTypeDefComposite; + SiTypeDefPrimitive: SiTypeDefPrimitive; + SiTypeDefSequence: SiTypeDefSequence; + SiTypeDefTuple: SiTypeDefTuple; + SiTypeDefVariant: SiTypeDefVariant; + SiTypeParameter: SiTypeParameter; + SiVariant: SiVariant; + SlashingSpans: SlashingSpans; + SlashingSpansTo204: SlashingSpansTo204; + SlashJournalEntry: SlashJournalEntry; + Slot: Slot; + SlotDuration: SlotDuration; + SlotNumber: SlotNumber; + SlotRange: SlotRange; + SlotRange10: SlotRange10; + SocietyJudgement: SocietyJudgement; + SocietyVote: SocietyVote; + SolutionOrSnapshotSize: SolutionOrSnapshotSize; + SolutionSupport: SolutionSupport; + SolutionSupports: SolutionSupports; + SpanIndex: SpanIndex; + SpanRecord: SpanRecord; + SpecVersion: SpecVersion; + Sr25519Signature: Sr25519Signature; + StakingLedger: StakingLedger; + StakingLedgerTo223: StakingLedgerTo223; + StakingLedgerTo240: StakingLedgerTo240; + Statement: Statement; + StatementKind: StatementKind; + StorageChangeSet: StorageChangeSet; + StorageData: StorageData; + StorageDeposit: StorageDeposit; + StorageEntryMetadataLatest: StorageEntryMetadataLatest; + StorageEntryMetadataV10: StorageEntryMetadataV10; + StorageEntryMetadataV11: StorageEntryMetadataV11; + StorageEntryMetadataV12: StorageEntryMetadataV12; + StorageEntryMetadataV13: StorageEntryMetadataV13; + StorageEntryMetadataV14: StorageEntryMetadataV14; + StorageEntryMetadataV9: StorageEntryMetadataV9; + StorageEntryModifierLatest: StorageEntryModifierLatest; + StorageEntryModifierV10: StorageEntryModifierV10; + StorageEntryModifierV11: StorageEntryModifierV11; + StorageEntryModifierV12: StorageEntryModifierV12; + StorageEntryModifierV13: StorageEntryModifierV13; + StorageEntryModifierV14: StorageEntryModifierV14; + StorageEntryModifierV9: StorageEntryModifierV9; + StorageEntryTypeLatest: StorageEntryTypeLatest; + StorageEntryTypeV10: StorageEntryTypeV10; + StorageEntryTypeV11: StorageEntryTypeV11; + StorageEntryTypeV12: StorageEntryTypeV12; + StorageEntryTypeV13: StorageEntryTypeV13; + StorageEntryTypeV14: StorageEntryTypeV14; + StorageEntryTypeV9: StorageEntryTypeV9; + StorageHasher: StorageHasher; + StorageHasherV10: StorageHasherV10; + StorageHasherV11: StorageHasherV11; + StorageHasherV12: StorageHasherV12; + StorageHasherV13: StorageHasherV13; + StorageHasherV14: StorageHasherV14; + StorageHasherV9: StorageHasherV9; + StorageInfo: StorageInfo; + StorageKey: StorageKey; + StorageKind: StorageKind; + StorageMetadataV10: StorageMetadataV10; + StorageMetadataV11: StorageMetadataV11; + StorageMetadataV12: StorageMetadataV12; + StorageMetadataV13: StorageMetadataV13; + StorageMetadataV9: StorageMetadataV9; + StorageProof: StorageProof; + StoredPendingChange: StoredPendingChange; + StoredState: StoredState; + StrikeCount: StrikeCount; + SubId: SubId; + SubmissionIndicesOf: SubmissionIndicesOf; + Supports: Supports; + SyncState: SyncState; + SystemInherentData: SystemInherentData; + SystemOrigin: SystemOrigin; + Tally: Tally; + TallyType: TallyType; + TaskAddress: TaskAddress; + TAssetBalance: TAssetBalance; + TAssetDepositBalance: TAssetDepositBalance; + Text: Text; + Timepoint: Timepoint; + TokenError: TokenError; + TombstoneContractInfo: TombstoneContractInfo; + TraceBlockResponse: TraceBlockResponse; + TraceError: TraceError; + TransactionalError: TransactionalError; + TransactionInfo: TransactionInfo; + TransactionLongevity: TransactionLongevity; + TransactionPriority: TransactionPriority; + TransactionSource: TransactionSource; + TransactionStorageProof: TransactionStorageProof; + TransactionTag: TransactionTag; + TransactionV0: TransactionV0; + TransactionV1: TransactionV1; + TransactionV2: TransactionV2; + TransactionValidity: TransactionValidity; + TransactionValidityError: TransactionValidityError; + TransientValidationData: TransientValidationData; + TreasuryProposal: TreasuryProposal; + TrieId: TrieId; + TrieIndex: TrieIndex; + Type: Type; + u128: u128; + U128: U128; + u16: u16; + U16: U16; + u256: u256; + U256: U256; + u32: u32; + U32: U32; + U32F32: U32F32; + u64: u64; + U64: U64; + u8: u8; + U8: U8; + UnappliedSlash: UnappliedSlash; + UnappliedSlashOther: UnappliedSlashOther; + UncleEntryItem: UncleEntryItem; + UnknownTransaction: UnknownTransaction; + UnlockChunk: UnlockChunk; + UnrewardedRelayer: UnrewardedRelayer; + UnrewardedRelayersState: UnrewardedRelayersState; + UpgradeGoAhead: UpgradeGoAhead; + UpgradeRestriction: UpgradeRestriction; + UpwardMessage: UpwardMessage; + usize: usize; + USize: USize; + ValidationCode: ValidationCode; + ValidationCodeHash: ValidationCodeHash; + ValidationData: ValidationData; + ValidationDataType: ValidationDataType; + ValidationFunctionParams: ValidationFunctionParams; + ValidatorCount: ValidatorCount; + ValidatorId: ValidatorId; + ValidatorIdOf: ValidatorIdOf; + ValidatorIndex: ValidatorIndex; + ValidatorIndexCompact: ValidatorIndexCompact; + ValidatorPrefs: ValidatorPrefs; + ValidatorPrefsTo145: ValidatorPrefsTo145; + ValidatorPrefsTo196: ValidatorPrefsTo196; + ValidatorPrefsWithBlocked: ValidatorPrefsWithBlocked; + ValidatorPrefsWithCommission: ValidatorPrefsWithCommission; + ValidatorSet: ValidatorSet; + ValidatorSetId: ValidatorSetId; + ValidatorSignature: ValidatorSignature; + ValidDisputeStatementKind: ValidDisputeStatementKind; + ValidityAttestation: ValidityAttestation; + ValidTransaction: ValidTransaction; + VecInboundHrmpMessage: VecInboundHrmpMessage; + VersionedMultiAsset: VersionedMultiAsset; + VersionedMultiAssets: VersionedMultiAssets; + VersionedMultiLocation: VersionedMultiLocation; + VersionedResponse: VersionedResponse; + VersionedXcm: VersionedXcm; + VersionMigrationStage: VersionMigrationStage; + VestingInfo: VestingInfo; + VestingSchedule: VestingSchedule; + Vote: Vote; + VoteData: VoteData; + VoteIndex: VoteIndex; + VoteOutcome: VoteOutcome; + Voter: Voter; + VoteRecord: VoteRecord; + VoterInfo: VoterInfo; + Votes: Votes; + VoteStage: VoteStage; + VotesTo230: VotesTo230; + VoteThreshold: VoteThreshold; + VoteType: VoteType; + VoteWeight: VoteWeight; + Voting: Voting; + VotingDelegating: VotingDelegating; + VotingDirect: VotingDirect; + VotingDirectVote: VotingDirectVote; + VouchingStatus: VouchingStatus; + VrfData: VrfData; + VrfOutput: VrfOutput; + VrfProof: VrfProof; + Weight: Weight; + WeightLimitV2: WeightLimitV2; + WeightMultiplier: WeightMultiplier; + WeightPerClass: WeightPerClass; + WeightToFeeCoefficient: WeightToFeeCoefficient; + WeightV1: WeightV1; + WeightV2: WeightV2; + WildFungibility: WildFungibility; + WildFungibilityV0: WildFungibilityV0; + WildFungibilityV1: WildFungibilityV1; + WildFungibilityV2: WildFungibilityV2; + WildMultiAsset: WildMultiAsset; + WildMultiAssetV1: WildMultiAssetV1; + WildMultiAssetV2: WildMultiAssetV2; + WinnersData: WinnersData; + WinnersData10: WinnersData10; + WinnersDataTuple: WinnersDataTuple; + WinnersDataTuple10: WinnersDataTuple10; + WinningData: WinningData; + WinningData10: WinningData10; + WinningDataEntry: WinningDataEntry; + WithdrawReasons: WithdrawReasons; + Xcm: Xcm; + XcmAssetId: XcmAssetId; + XcmError: XcmError; + XcmErrorV0: XcmErrorV0; + XcmErrorV1: XcmErrorV1; + XcmErrorV2: XcmErrorV2; + XcmOrder: XcmOrder; + XcmOrderV0: XcmOrderV0; + XcmOrderV1: XcmOrderV1; + XcmOrderV2: XcmOrderV2; + XcmOrigin: XcmOrigin; + XcmOriginKind: XcmOriginKind; + XcmpMessageFormat: XcmpMessageFormat; + XcmV0: XcmV0; + XcmV1: XcmV1; + XcmV2: XcmV2; + XcmVersion: XcmVersion; + } // InterfaceTypes +} // declare module diff --git a/packages/sdk/src/interfaces/definitions.ts b/packages/sdk/src/interfaces/definitions.ts new file mode 100644 index 0000000..a06cd10 --- /dev/null +++ b/packages/sdk/src/interfaces/definitions.ts @@ -0,0 +1,7 @@ +// order here matches with what is found in (unused removed) +// https://www.npmjs.com/package/edgeware-node-types +// https://github.com/hicommonwealth/edgeware-node-types/tree/master/types + +export { default as signaling } from "./signaling/definitions"; +export { default as treasuryRewards } from "./treasuryRewards/definitions"; +export { default as voting } from "./voting/definitions"; diff --git a/packages/sdk/src/interfaces/index.ts b/packages/sdk/src/interfaces/index.ts new file mode 100644 index 0000000..6c62f1d --- /dev/null +++ b/packages/sdk/src/interfaces/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from "./types"; diff --git a/packages/sdk/src/interfaces/signaling/definitions.ts b/packages/sdk/src/interfaces/signaling/definitions.ts new file mode 100644 index 0000000..5a20881 --- /dev/null +++ b/packages/sdk/src/interfaces/signaling/definitions.ts @@ -0,0 +1,15 @@ +export default { + types: { + ProposalRecord: { + index: "u32", + author: "AccountId", + stage: "VoteStage", + transition_time: "u32", + title: "Text", + contents: "Text", + vote_id: "u64", + }, + ProposalContents: "Vec", + ProposalTitle: "Vec", + }, +}; diff --git a/packages/sdk/src/interfaces/signaling/index.ts b/packages/sdk/src/interfaces/signaling/index.ts new file mode 100644 index 0000000..6c62f1d --- /dev/null +++ b/packages/sdk/src/interfaces/signaling/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from "./types"; diff --git a/packages/sdk/src/interfaces/signaling/types.ts b/packages/sdk/src/interfaces/signaling/types.ts new file mode 100644 index 0000000..1bc3a53 --- /dev/null +++ b/packages/sdk/src/interfaces/signaling/types.ts @@ -0,0 +1,25 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { VoteStage } from "@phala/sdk/voting"; +import type { Bytes, Struct, Text, u32, u64 } from "@polkadot/types-codec"; +import type { AccountId } from "@polkadot/types/interfaces/runtime"; + +/** @name ProposalContents */ +export interface ProposalContents extends Bytes {} + +/** @name ProposalRecord */ +export interface ProposalRecord extends Struct { + readonly index: u32; + readonly author: AccountId; + readonly stage: VoteStage; + readonly transition_time: u32; + readonly title: Text; + readonly contents: Text; + readonly vote_id: u64; +} + +/** @name ProposalTitle */ +export interface ProposalTitle extends Bytes {} + +export type PHANTOM_SIGNALING = "signaling"; diff --git a/packages/sdk/src/interfaces/treasuryRewards/definitions.ts b/packages/sdk/src/interfaces/treasuryRewards/definitions.ts new file mode 100644 index 0000000..f79a0bd --- /dev/null +++ b/packages/sdk/src/interfaces/treasuryRewards/definitions.ts @@ -0,0 +1,5 @@ +export default { + types: { + Balance2: "u128", + }, +}; diff --git a/packages/sdk/src/interfaces/treasuryRewards/index.ts b/packages/sdk/src/interfaces/treasuryRewards/index.ts new file mode 100644 index 0000000..6c62f1d --- /dev/null +++ b/packages/sdk/src/interfaces/treasuryRewards/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from "./types"; diff --git a/packages/sdk/src/interfaces/treasuryRewards/types.ts b/packages/sdk/src/interfaces/treasuryRewards/types.ts new file mode 100644 index 0000000..ea0c5d4 --- /dev/null +++ b/packages/sdk/src/interfaces/treasuryRewards/types.ts @@ -0,0 +1,9 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { u128 } from "@polkadot/types-codec"; + +/** @name Balance2 */ +export interface Balance2 extends u128 {} + +export type PHANTOM_TREASURYREWARDS = "treasuryRewards"; diff --git a/packages/sdk/src/interfaces/types.ts b/packages/sdk/src/interfaces/types.ts new file mode 100644 index 0000000..c2cd509 --- /dev/null +++ b/packages/sdk/src/interfaces/types.ts @@ -0,0 +1,6 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from "./signaling/types"; +export * from "./treasuryRewards/types"; +export * from "./voting/types"; diff --git a/packages/sdk/src/interfaces/voting/definitions.ts b/packages/sdk/src/interfaces/voting/definitions.ts new file mode 100644 index 0000000..3b14849 --- /dev/null +++ b/packages/sdk/src/interfaces/voting/definitions.ts @@ -0,0 +1,31 @@ +export default { + types: { + VoteStage: { + _enum: ["PreVoting", "Commit", "Voting", "Completed"], + }, + VoteType: { + _enum: ["Binary", "MultiOption", "RankedChoice"], + }, + TallyType: { + _enum: ["OnePerson", "OneCoin"], + }, + VoteOutcome: "[u8; 32]", + Tally: "Option>", + VoteData: { + initiator: "AccountId", + stage: "VoteStage", + vote_type: "VoteType", + tally_type: "TallyType", + is_commit_reveal: "bool", + }, + Commitments: "Vec<(AccountId, VoteOutcome)>", + Reveals: "Vec<(AccountId, Vec)>", + VoteRecord: { + id: "u64", + commitments: "Commitments", + reveals: "Reveals", + data: "VoteData", + outcomes: "Vec", + }, + }, +}; diff --git a/packages/sdk/src/interfaces/voting/index.ts b/packages/sdk/src/interfaces/voting/index.ts new file mode 100644 index 0000000..6c62f1d --- /dev/null +++ b/packages/sdk/src/interfaces/voting/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from "./types"; diff --git a/packages/sdk/src/interfaces/voting/types.ts b/packages/sdk/src/interfaces/voting/types.ts new file mode 100644 index 0000000..4d754ec --- /dev/null +++ b/packages/sdk/src/interfaces/voting/types.ts @@ -0,0 +1,71 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { + Enum, + Option, + Struct, + U8aFixed, + Vec, + bool, + u128, + u64, +} from "@polkadot/types-codec"; +import type { ITuple } from "@polkadot/types-codec/types"; +import type { AccountId } from "@polkadot/types/interfaces/runtime"; + +/** @name Commitments */ +export interface Commitments extends Vec> {} + +/** @name Reveals */ +export interface Reveals extends Vec]>> {} + +/** @name Tally */ +export interface Tally extends Option>> {} + +/** @name TallyType */ +export interface TallyType extends Enum { + readonly isOnePerson: boolean; + readonly isOneCoin: boolean; + readonly type: "OnePerson" | "OneCoin"; +} + +/** @name VoteData */ +export interface VoteData extends Struct { + readonly initiator: AccountId; + readonly stage: VoteStage; + readonly vote_type: VoteType; + readonly tally_type: TallyType; + readonly is_commit_reveal: bool; +} + +/** @name VoteOutcome */ +export interface VoteOutcome extends U8aFixed {} + +/** @name VoteRecord */ +export interface VoteRecord extends Struct { + readonly id: u64; + readonly commitments: Commitments; + readonly reveals: Reveals; + readonly data: VoteData; + readonly outcomes: Vec; +} + +/** @name VoteStage */ +export interface VoteStage extends Enum { + readonly isPreVoting: boolean; + readonly isCommit: boolean; + readonly isVoting: boolean; + readonly isCompleted: boolean; + readonly type: "PreVoting" | "Commit" | "Voting" | "Completed"; +} + +/** @name VoteType */ +export interface VoteType extends Enum { + readonly isBinary: boolean; + readonly isMultiOption: boolean; + readonly isRankedChoice: boolean; + readonly type: "Binary" | "MultiOption" | "RankedChoice"; +} + +export type PHANTOM_VOTING = "voting"; diff --git a/packages/sdk/src/lib/aes-256-gcm.test.ts b/packages/sdk/src/lib/aes-256-gcm.test.ts index c4f38a3..be00ffd 100644 --- a/packages/sdk/src/lib/aes-256-gcm.test.ts +++ b/packages/sdk/src/lib/aes-256-gcm.test.ts @@ -1,16 +1,15 @@ -// @ts-nocheck -import {encrypt, decrypt} from './aes-256-gcm' +import { decrypt, encrypt } from "./aes-256-gcm"; -const data = '675abfa9aff26fbf3f4a0bd91f513c40644571f86aa2c18d2d284ad68f17fc97' -const key = '8a3ae1de0dddb21d1dce3647d66d488ce9dfd0f0f4bdad4766e931aef7e35656' +const data = "675abfa9aff26fbf3f4a0bd91f513c40644571f86aa2c18d2d284ad68f17fc97"; +const key = "8a3ae1de0dddb21d1dce3647d66d488ce9dfd0f0f4bdad4766e931aef7e35656"; const encryptedData = - 'ba10a8bd942fddc0d3acc5c20e33fb114c292d3521efed516e7e7dc444a92a3f69d69dd07a003cb8160067953d79fad4' -const iv = '989e2eaba6f775ef660ccdd3' + "ba10a8bd942fddc0d3acc5c20e33fb114c292d3521efed516e7e7dc444a92a3f69d69dd07a003cb8160067953d79fad4"; +const iv = "989e2eaba6f775ef660ccdd3"; -test('aes-256-gcm encrypt', () => { - expect(encrypt(data, key, iv)).toBe(encryptedData) -}) +test("aes-256-gcm encrypt", () => { + expect(encrypt(data, key, iv)).toBe(encryptedData); +}); -test('aes-256-gcm decrypt', () => { - expect(decrypt(encryptedData, key, iv)).toBe(data) -}) +test("aes-256-gcm decrypt", () => { + expect(decrypt(encryptedData, key, iv)).toBe(data); +}); diff --git a/packages/sdk/src/lib/aes-256-gcm.ts b/packages/sdk/src/lib/aes-256-gcm.ts index f8c84e8..4f889b1 100644 --- a/packages/sdk/src/lib/aes-256-gcm.ts +++ b/packages/sdk/src/lib/aes-256-gcm.ts @@ -1,35 +1,43 @@ -import { hexAddPrefix, hexStripPrefix, hexToU8a } from '@polkadot/util' -import { createCipheriv, createDecipheriv } from 'crypto-browserify' -import { Buffer } from 'buffer' +import { hexAddPrefix, hexStripPrefix, hexToU8a } from "@polkadot/util"; +import { createCipheriv, createDecipheriv } from "crypto-browserify"; +import { Buffer } from "buffer"; -const ALGO = 'aes-256-gcm' -const AUTH_TAG_LENGTH = 32 +const ALGO = "aes-256-gcm"; +const AUTH_TAG_LENGTH = 32; -type Param = Uint8Array | string +type Param = Uint8Array | string; const toU8a = (param: Param): Uint8Array => { - if (typeof param === 'string') { - param = hexAddPrefix(param) - return hexToU8a(param) + if (typeof param === "string") { + param = hexAddPrefix(param); + return hexToU8a(param); } - return param -} + return param; +}; export const encrypt = (data: string, key: Param, iv: Param): string => { - data = hexStripPrefix(data) - const cipher = createCipheriv(ALGO, toU8a(key), Buffer.from(toU8a(iv)) as unknown as string) - const enc = cipher.update(data, 'hex', 'hex') - cipher.final() - return `${enc}${cipher.getAuthTag().toString('hex')}` -} + data = hexStripPrefix(data); + const cipher = createCipheriv( + ALGO, + toU8a(key), + Buffer.from(toU8a(iv)) as unknown as string + ); + const enc = cipher.update(data, "hex", "hex"); + cipher.final(); + return `${enc}${cipher.getAuthTag().toString("hex")}`; +}; export const decrypt = (enc: string, key: Param, iv: Param): string => { - enc = hexStripPrefix(enc) - const decipher = createDecipheriv(ALGO, toU8a(key), Buffer.from(toU8a(iv)) as unknown as string) - const authTag = hexToU8a(hexAddPrefix(enc.slice(-AUTH_TAG_LENGTH))) - decipher.setAuthTag(authTag) - const data = decipher.update(enc.slice(0, -AUTH_TAG_LENGTH), 'hex', 'hex') - decipher.final() - return data -} + enc = hexStripPrefix(enc); + const decipher = createDecipheriv( + ALGO, + toU8a(key), + Buffer.from(toU8a(iv)) as unknown as string + ); + const authTag = hexToU8a(hexAddPrefix(enc.slice(-AUTH_TAG_LENGTH))); + decipher.setAuthTag(authTag); + const data = decipher.update(enc.slice(0, -AUTH_TAG_LENGTH), "hex", "hex"); + decipher.final(); + return data; +}; diff --git a/packages/sdk/src/lib/hex.ts b/packages/sdk/src/lib/hex.ts index a36894c..0ae8f76 100644 --- a/packages/sdk/src/lib/hex.ts +++ b/packages/sdk/src/lib/hex.ts @@ -1,4 +1,4 @@ -import { randomBytes } from 'crypto-browserify' +import { randomBytes } from "crypto-browserify"; export const randomHex = (size = 12): string => - randomBytes(size).toString('hex') + randomBytes(size).toString("hex"); diff --git a/packages/sdk/src/lib/types.ts b/packages/sdk/src/lib/types.ts index 1975842..f43ea36 100644 --- a/packages/sdk/src/lib/types.ts +++ b/packages/sdk/src/lib/types.ts @@ -1,26 +1,26 @@ -import {RegistryTypes} from '@polkadot/types/types' +import { RegistryTypes } from "@polkadot/types/types"; export const types: RegistryTypes = { - ContractId: 'H256', - EcdhPublicKey: 'SpCoreSr25519Public', + ContractId: "H256", + EcdhPublicKey: "SpCoreSr25519Public", ContractQueryHead: { - id: 'ContractId', - nonce: '[u8; 32]', + id: "ContractId", + nonce: "[u8; 32]", }, CertificateBody: { - pubkey: 'Vec', - ttl: 'u32', - config_bits: 'u32', + pubkey: "Vec", + ttl: "u32", + config_bits: "u32", }, EncryptedData: { - iv: '[u8; 12]', - pubkey: 'EcdhPublicKey', - data: 'Vec', + iv: "[u8; 12]", + pubkey: "EcdhPublicKey", + data: "Vec", }, CommandPayload: { _enum: { Plain: null, // disable plain - Encrypted: 'EncryptedData', + Encrypted: "EncryptedData", }, }, InkQueryData: { @@ -28,49 +28,49 @@ export const types: RegistryTypes = { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore InkMessage: { - payload: 'Vec', - deposit: 'u128', - transfer: 'u128', + payload: "Vec", + deposit: "u128", + transfer: "u128", }, // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - SidevmMessage: 'Vec', + SidevmMessage: "Vec", // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore InkInstantiate: { - codeHash: 'H256', - salt: 'Vec', - instantiateData: 'Vec', - deposit: 'u128', - transfer: 'u128', + codeHash: "H256", + salt: "Vec", + instantiateData: "Vec", + deposit: "u128", + transfer: "u128", }, - } + }, }, InkQuery: { - head: 'ContractQueryHead', - data: 'InkQueryData', + head: "ContractQueryHead", + data: "InkQueryData", }, InkQueryError: { _enum: { BadOrigin: null, - RuntimeError: 'String', + RuntimeError: "String", }, }, InkQueryOk: { _enum: { - InkMessageReturn: 'Vec', + InkMessageReturn: "Vec", }, }, InkResponse: { - nonce: '[u8; 32]', - result: 'Result', + nonce: "[u8; 32]", + result: "Result", }, InkMessage: { - nonce: 'Vec', - message: 'Vec', - transfer: 'u128', - gasLimit: 'u64', - storageDepositLimit: 'Option', + nonce: "Vec", + message: "Vec", + transfer: "u128", + gasLimit: "u64", + storageDepositLimit: "Option", }, - InkCommand: {_enum: {InkMessage: 'InkMessage'}}, -} + InkCommand: { _enum: { InkMessage: "InkMessage" } }, +}; diff --git a/packages/sdk/tsup.browser.ts b/packages/sdk/tsup.browser.ts index bb38630..1f264ca 100644 --- a/packages/sdk/tsup.browser.ts +++ b/packages/sdk/tsup.browser.ts @@ -1,19 +1,22 @@ -import { NodeGlobalsPolyfillPlugin } from '@esbuild-plugins/node-globals-polyfill'; -import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill'; +import { NodeGlobalsPolyfillPlugin } from "@esbuild-plugins/node-globals-polyfill"; +import { NodeModulesPolyfillPlugin } from "@esbuild-plugins/node-modules-polyfill"; // import nodePolyfills from 'rollup-plugin-node-polyfills'; -import { defineConfig } from 'tsup'; +import { defineConfig } from "tsup"; export default defineConfig({ - esbuildPlugins: [NodeModulesPolyfillPlugin(), NodeGlobalsPolyfillPlugin({ - buffer: true - })], - entry: ['src/index.ts'], - outDir: './dist/browser', + esbuildPlugins: [ + NodeModulesPolyfillPlugin(), + NodeGlobalsPolyfillPlugin({ + buffer: true, + }), + ], + entry: ["src/index.ts"], + outDir: "./dist/browser", dts: true, - format: ['cjs', 'esm'], - ignoreWatch: ['*.test.ts'], - target: 'node16', + format: ["cjs", "esm"], + ignoreWatch: ["*.test.ts"], + target: "node16", clean: true, - platform: 'browser', - noExternal: ['crypto-browserify','protobufjs', 'randomBytes'] -}) + platform: "browser", + noExternal: ["crypto-browserify", "protobufjs", "randomBytes"], +}); diff --git a/packages/sdk/tsup.node.ts b/packages/sdk/tsup.node.ts index 8067ec8..5c2d667 100644 --- a/packages/sdk/tsup.node.ts +++ b/packages/sdk/tsup.node.ts @@ -1,11 +1,11 @@ -import { defineConfig } from 'tsup'; +import { defineConfig } from "tsup"; export default defineConfig({ - entry: ['src/index.ts'], - outDir: './dist/node', - dts: true, - format: ['cjs', 'esm'], - ignoreWatch: ['*.test.ts'], - target: 'node16', - clean: true -}) + entry: ["src/index.ts"], + outDir: "./dist/node", + dts: true, + format: ["cjs", "esm"], + ignoreWatch: ["*.test.ts"], + target: "node16", + clean: true, +}); diff --git a/yarn.lock b/yarn.lock index 3561772..0b95e34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,6 +14,16 @@ __metadata: languageName: node linkType: hard +"@ampproject/remapping@npm:^2.1.0": + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" + dependencies: + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7": version: 7.16.7 resolution: "@babel/code-frame@npm:7.16.7" @@ -23,6 +33,15 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/code-frame@npm:7.18.6" + dependencies: + "@babel/highlight": ^7.18.6 + checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.16.4": version: 7.17.0 resolution: "@babel/compat-data@npm:7.17.0" @@ -30,6 +49,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.20.5": + version: 7.20.10 + resolution: "@babel/compat-data@npm:7.20.10" + checksum: 6ed6c1bb6fc03c225d63b8611788cd976107d1692402b560ebffbf1fa53e63705f8625bb12e12d17ce7f7af34e61e1ca96c77858aac6f57010045271466200c0 + languageName: node + linkType: hard + "@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": version: 7.17.2 resolution: "@babel/core@npm:7.17.2" @@ -53,6 +79,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.20.12": + version: 7.20.12 + resolution: "@babel/core@npm:7.20.12" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.20.7 + "@babel/helper-compilation-targets": ^7.20.7 + "@babel/helper-module-transforms": ^7.20.11 + "@babel/helpers": ^7.20.7 + "@babel/parser": ^7.20.7 + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.12 + "@babel/types": ^7.20.7 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.2 + semver: ^6.3.0 + checksum: 62e6c3e2149a70b5c9729ef5f0d3e2e97e9dcde89fc039c8d8e3463d5d7ba9b29ee84d10faf79b61532ac1645aa62f2bd42338320617e6e3a8a4d8e2a27076e7 + languageName: node + linkType: hard + "@babel/generator@npm:^7.17.0, @babel/generator@npm:^7.7.2": version: 7.17.0 resolution: "@babel/generator@npm:7.17.0" @@ -64,6 +113,17 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/generator@npm:7.20.7" + dependencies: + "@babel/types": ^7.20.7 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: 84b6983ffdb50c80c1c2e3f3c32617a7133d8effd1065f3e0f9bba188a7d54ab42a4dd5e42b61b843c65f9dd1aa870036ff0f848ebd42707aaa8a2b6d31d04f5 + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-compilation-targets@npm:7.16.7" @@ -78,6 +138,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/helper-compilation-targets@npm:7.20.7" + dependencies: + "@babel/compat-data": ^7.20.5 + "@babel/helper-validator-option": ^7.18.6 + browserslist: ^4.21.3 + lru-cache: ^5.1.1 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 8c32c873ba86e2e1805b30e0807abd07188acbe00ebb97576f0b09061cc65007f1312b589eccb4349c5a8c7f8bb9f2ab199d41da7030bf103d9f347dcd3a3cf4 + languageName: node + linkType: hard + "@babel/helper-environment-visitor@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-environment-visitor@npm:7.16.7" @@ -87,6 +162,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-environment-visitor@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-environment-visitor@npm:7.18.9" + checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 + languageName: node + linkType: hard + "@babel/helper-function-name@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-function-name@npm:7.16.7" @@ -98,6 +180,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-function-name@npm:7.19.0" + dependencies: + "@babel/template": ^7.18.10 + "@babel/types": ^7.19.0 + checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e + languageName: node + linkType: hard + "@babel/helper-get-function-arity@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-get-function-arity@npm:7.16.7" @@ -116,6 +208,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-hoist-variables@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-hoist-variables@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-module-imports@npm:7.16.7" @@ -125,6 +226,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-module-imports@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-module-transforms@npm:7.16.7" @@ -141,6 +251,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.20.11": + version: 7.20.11 + resolution: "@babel/helper-module-transforms@npm:7.20.11" + dependencies: + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-simple-access": ^7.20.2 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/helper-validator-identifier": ^7.19.1 + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.10 + "@babel/types": ^7.20.7 + checksum: 29319ebafa693d48756c6ba0d871677bb0037e0da084fbe221a17c38d57093fc8aa38543c07d76e788266a937976e37ab4901971ca7f237c5ab45f524b9ecca0 + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.14.5 resolution: "@babel/helper-plugin-utils@npm:7.14.5" @@ -157,6 +283,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.20.2": + version: 7.20.2 + resolution: "@babel/helper-simple-access@npm:7.20.2" + dependencies: + "@babel/types": ^7.20.2 + checksum: ad1e96ee2e5f654ffee2369a586e5e8d2722bf2d8b028a121b4c33ebae47253f64d420157b9f0a8927aea3a9e0f18c0103e74fdd531815cf3650a0a4adca11a1 + languageName: node + linkType: hard + "@babel/helper-split-export-declaration@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-split-export-declaration@npm:7.16.7" @@ -166,6 +301,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-split-export-declaration@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.19.4": + version: 7.19.4 + resolution: "@babel/helper-string-parser@npm:7.19.4" + checksum: b2f8a3920b30dfac81ec282ac4ad9598ea170648f8254b10f475abe6d944808fb006aab325d3eb5a8ad3bea8dfa888cfa6ef471050dae5748497c110ec060943 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-validator-identifier@npm:7.16.7" @@ -173,6 +324,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": + version: 7.19.1 + resolution: "@babel/helper-validator-identifier@npm:7.19.1" + checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-validator-option@npm:7.16.7" @@ -180,6 +338,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-option@npm:7.18.6" + checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf + languageName: node + linkType: hard + "@babel/helpers@npm:^7.17.2": version: 7.17.2 resolution: "@babel/helpers@npm:7.17.2" @@ -191,6 +356,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/helpers@npm:7.20.7" + dependencies: + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.7 + "@babel/types": ^7.20.7 + checksum: 3fb10df3510ba7116a180d5fd983d0f558f7a65c3d599385dba991bff66b74174c88881bc12c2b3cf7284294fcac5b301ded49a8b0098bdf2ef61d0cad8010db + languageName: node + linkType: hard + "@babel/highlight@npm:^7.16.7": version: 7.16.10 resolution: "@babel/highlight@npm:7.16.10" @@ -202,6 +378,17 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/highlight@npm:7.18.6" + dependencies: + "@babel/helper-validator-identifier": ^7.18.6 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0": version: 7.17.0 resolution: "@babel/parser@npm:7.17.0" @@ -211,6 +398,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/parser@npm:7.20.7" + bin: + parser: ./bin/babel-parser.js + checksum: 25b5266e3bd4be837092685f6b7ef886f1308ff72659a24342eb646ae5014f61ed1771ce8fc20636c890fcae19304fc72c069564ca6075207b7fbf3f75367275 + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -354,6 +550,21 @@ __metadata: languageName: node linkType: hard +"@babel/register@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/register@npm:7.18.9" + dependencies: + clone-deep: ^4.0.1 + find-cache-dir: ^2.0.0 + make-dir: ^2.1.0 + pirates: ^4.0.5 + source-map-support: ^0.5.16 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4aeaff97e061a397f632659082ba86c539ef8194697b236d991c10d1c2ea8f73213d3b5b3b2c24625951a1ef726b7a7d2e70f70ffcb37f79ef0c1a745eebef21 + languageName: node + linkType: hard + "@babel/runtime-corejs3@npm:^7.10.2": version: 7.15.4 resolution: "@babel/runtime-corejs3@npm:7.15.4" @@ -373,6 +584,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/runtime@npm:7.20.7" + dependencies: + regenerator-runtime: ^0.13.11 + checksum: 4629ce5c46f06cca9cfb9b7fc00d48003335a809888e2b91ec2069a2dcfbfef738480cff32ba81e0b7c290f8918e5c22ddcf2b710001464ee84ba62c7e32a3a3 + languageName: node + linkType: hard + "@babel/template@npm:^7.16.7, @babel/template@npm:^7.3.3": version: 7.16.7 resolution: "@babel/template@npm:7.16.7" @@ -384,6 +604,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/template@npm:7.20.7" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + checksum: 2eb1a0ab8d415078776bceb3473d07ab746e6bb4c2f6ca46ee70efb284d75c4a32bb0cd6f4f4946dec9711f9c0780e8e5d64b743208deac6f8e9858afadc349e + languageName: node + linkType: hard + "@babel/traverse@npm:^7.16.7, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.7.2": version: 7.17.0 resolution: "@babel/traverse@npm:7.17.0" @@ -402,6 +633,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.12, @babel/traverse@npm:^7.20.7": + version: 7.20.12 + resolution: "@babel/traverse@npm:7.20.12" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.20.7 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: d758b355ab4f1e87984524b67785fa23d74e8a45d2ceb8bcf4d5b2b0cd15ee160db5e68c7078808542805774ca3802e2eafb1b9638afa4cd7f9ecabd0ca7fd56 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.7, @babel/types@npm:^7.17.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": version: 7.17.0 resolution: "@babel/types@npm:7.17.0" @@ -412,6 +661,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.18.6, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/types@npm:7.20.7" + dependencies: + "@babel/helper-string-parser": ^7.19.4 + "@babel/helper-validator-identifier": ^7.19.1 + to-fast-properties: ^2.0.0 + checksum: b39af241f0b72bba67fd6d0d23914f6faec8c0eba8015c181cbd5ea92e59fc91a52a1ab490d3520c7dbd19ddb9ebb76c476308f6388764f16d8201e37fae6811 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -756,6 +1016,34 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/gen-mapping@npm:0.3.2" + dependencies: + "@jridgewell/set-array": ^1.0.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1832707a1c476afebe4d0fbbd4b9434fdb51a4c3e009ab1e9938648e21b7a97049fa6009393bdf05cab7504108413441df26d8a3c12193996e65493a4efb6882 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:3.1.0": + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.0.3": version: 3.0.4 resolution: "@jridgewell/resolve-uri@npm:3.0.4" @@ -763,6 +1051,20 @@ __metadata: languageName: node linkType: hard +"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:1.4.14": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 + languageName: node + linkType: hard + "@jridgewell/sourcemap-codec@npm:^1.4.10": version: 1.4.10 resolution: "@jridgewell/sourcemap-codec@npm:1.4.10" @@ -780,6 +1082,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.17 + resolution: "@jridgewell/trace-mapping@npm:0.3.17" + dependencies: + "@jridgewell/resolve-uri": 3.1.0 + "@jridgewell/sourcemap-codec": 1.4.14 + checksum: 9d703b859cff5cd83b7308fd457a431387db5db96bd781a63bf48e183418dd9d3d44e76b9e4ae13237f6abeeb25d739ec9215c1d5bfdd08f66f750a50074a339 + languageName: node + linkType: hard + "@next/env@npm:12.3.1": version: 12.3.1 resolution: "@next/env@npm:12.3.1" @@ -894,6 +1206,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:1.1.5": + version: 1.1.5 + resolution: "@noble/hashes@npm:1.1.5" + checksum: de3f095a7ac1cbf5b4b3d09f193288d4f2eec35fbadf2ed9fd7e47d8a3042fef410052ba62dc0296a185f994c11192f5357fdb1bd9178c905efd82e946c53b00 + languageName: node + linkType: hard + "@noble/secp256k1@npm:1.7.0": version: 1.7.0 resolution: "@noble/secp256k1@npm:1.7.0" @@ -938,7 +1257,7 @@ __metadata: languageName: node linkType: hard -"@phala/sdk@workspace:^, @phala/sdk@workspace:packages/sdk": +"@phala/sdk@workspace:packages/sdk": version: 0.0.0-use.local resolution: "@phala/sdk@workspace:packages/sdk" dependencies: @@ -947,6 +1266,7 @@ __metadata: "@phala/typedefs": ^0.2.32 "@polkadot/api": ^9.8.1 "@polkadot/keyring": ^10.1.12 + "@polkadot/typegen": ^9.11.1 "@polkadot/util": ^10.1.12 "@polkadot/util-crypto": ^10.1.12 "@polkadot/wasm-crypto": 6.3.1 @@ -960,6 +1280,7 @@ __metadata: eslint-plugin-prettier: ^4.2.1 protobufjs: ^6.11.3 rxjs: ^7.5.7 + ts-node: ^10.9.1 tsup: ^6.4.0 typescript: ^4.8.4 languageName: unknown @@ -972,6 +1293,21 @@ __metadata: languageName: node linkType: hard +"@polkadot/api-augment@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/api-augment@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/api-base": 9.11.1 + "@polkadot/rpc-augment": 9.11.1 + "@polkadot/types": 9.11.1 + "@polkadot/types-augment": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/util": ^10.2.3 + checksum: a296ccbd763ed2479b0310789d9b8ba723806568a7af95122ea87a0003a3c4e60e816441d70cf9d316911c5e80db94c6c639b63a8823e34470409f4d74c5f11f + languageName: node + linkType: hard + "@polkadot/api-augment@npm:9.8.1": version: 9.8.1 resolution: "@polkadot/api-augment@npm:9.8.1" @@ -987,6 +1323,19 @@ __metadata: languageName: node linkType: hard +"@polkadot/api-base@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/api-base@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/rpc-core": 9.11.1 + "@polkadot/types": 9.11.1 + "@polkadot/util": ^10.2.3 + rxjs: ^7.8.0 + checksum: b23254f1dfdd62fd226236b6bd0046e5406a132a39a60d3265677422102eac738a7010299d3fcfa70231de8cde8ed9456feb207074c7c3575e14b5cca2c48a3b + languageName: node + linkType: hard + "@polkadot/api-base@npm:9.8.1": version: 9.8.1 resolution: "@polkadot/api-base@npm:9.8.1" @@ -1016,6 +1365,24 @@ __metadata: languageName: node linkType: hard +"@polkadot/api-derive@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/api-derive@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/api": 9.11.1 + "@polkadot/api-augment": 9.11.1 + "@polkadot/api-base": 9.11.1 + "@polkadot/rpc-core": 9.11.1 + "@polkadot/types": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/util": ^10.2.3 + "@polkadot/util-crypto": ^10.2.3 + rxjs: ^7.8.0 + checksum: f8b04fc67a8261df37ac6cb4a1d6285caddbde27fb68ccb439c8d34ab34ac69b50cdef88b36378cd68441a7acc1b6b8d0c2043fff2c8d04c1da0a19881a9612c + languageName: node + linkType: hard + "@polkadot/api-derive@npm:9.8.1": version: 9.8.1 resolution: "@polkadot/api-derive@npm:9.8.1" @@ -1034,6 +1401,31 @@ __metadata: languageName: node linkType: hard +"@polkadot/api@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/api@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/api-augment": 9.11.1 + "@polkadot/api-base": 9.11.1 + "@polkadot/api-derive": 9.11.1 + "@polkadot/keyring": ^10.2.3 + "@polkadot/rpc-augment": 9.11.1 + "@polkadot/rpc-core": 9.11.1 + "@polkadot/rpc-provider": 9.11.1 + "@polkadot/types": 9.11.1 + "@polkadot/types-augment": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/types-create": 9.11.1 + "@polkadot/types-known": 9.11.1 + "@polkadot/util": ^10.2.3 + "@polkadot/util-crypto": ^10.2.3 + eventemitter3: ^4.0.7 + rxjs: ^7.8.0 + checksum: 18b2dd1a69e56e8bb1864f0691d4a4dedfaafa4b5e54eeb76e17b210d4f8c3793bb86569d165217c3595ef076d9084f841ec40e18147d3bfdd479cc5b5e5204c + languageName: node + linkType: hard + "@polkadot/api@npm:9.8.1, @polkadot/api@npm:^9.8.1": version: 9.8.1 resolution: "@polkadot/api@npm:9.8.1" @@ -1119,6 +1511,20 @@ __metadata: languageName: node linkType: hard +"@polkadot/keyring@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/keyring@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/util": 10.2.3 + "@polkadot/util-crypto": 10.2.3 + peerDependencies: + "@polkadot/util": 10.2.3 + "@polkadot/util-crypto": 10.2.3 + checksum: f9f8d30f2a6878075f651fde2e689de1cc7dab537047906ae7169b6758cef7dadb6c0eac7831c27a7243c33e4a951500dc5b4380e1837bedc4e6a8557cfda5fc + languageName: node + linkType: hard + "@polkadot/networks@npm:10.1.11": version: 10.1.11 resolution: "@polkadot/networks@npm:10.1.11" @@ -1141,6 +1547,30 @@ __metadata: languageName: node linkType: hard +"@polkadot/networks@npm:10.2.3, @polkadot/networks@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/networks@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/util": 10.2.3 + "@substrate/ss58-registry": ^1.37.0 + checksum: 0697f6be7449f55d5f980973fb432f08681786c51e2a532f9887b44f9a7c26d5ba3938b2658fa7258027a70f955af7058c6ec9c13b8167257e6e3c565b3c33d5 + languageName: node + linkType: hard + +"@polkadot/rpc-augment@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/rpc-augment@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/rpc-core": 9.11.1 + "@polkadot/types": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/util": ^10.2.3 + checksum: 27a13d4730d00798bf52ae99e216591af0cb3b1413a35ea790aa66a19043b85f615ad2d3d333bd5cc23f2975342be53f7288b9d7bef78ebc1d1b91e35fcb09aa + languageName: node + linkType: hard + "@polkadot/rpc-augment@npm:9.8.1": version: 9.8.1 resolution: "@polkadot/rpc-augment@npm:9.8.1" @@ -1154,6 +1584,20 @@ __metadata: languageName: node linkType: hard +"@polkadot/rpc-core@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/rpc-core@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/rpc-augment": 9.11.1 + "@polkadot/rpc-provider": 9.11.1 + "@polkadot/types": 9.11.1 + "@polkadot/util": ^10.2.3 + rxjs: ^7.8.0 + checksum: 3446ae5b7ea347bac42e5e173310b9a8ed5eef95aa88ff61edfb09c07e5b1bdef9d90b2d776a4e295d844f78d2c8aa5bafb63d77c423cbd09e53aa35115295c0 + languageName: node + linkType: hard + "@polkadot/rpc-core@npm:9.8.1": version: 9.8.1 resolution: "@polkadot/rpc-core@npm:9.8.1" @@ -1168,6 +1612,30 @@ __metadata: languageName: node linkType: hard +"@polkadot/rpc-provider@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/rpc-provider@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/keyring": ^10.2.3 + "@polkadot/types": 9.11.1 + "@polkadot/types-support": 9.11.1 + "@polkadot/util": ^10.2.3 + "@polkadot/util-crypto": ^10.2.3 + "@polkadot/x-fetch": ^10.2.3 + "@polkadot/x-global": ^10.2.3 + "@polkadot/x-ws": ^10.2.3 + "@substrate/connect": 0.7.18 + eventemitter3: ^4.0.7 + mock-socket: ^9.1.5 + nock: ^13.2.9 + dependenciesMeta: + "@substrate/connect": + optional: true + checksum: a8273a9f018138f2bb96fd6381b843f31120974391db0bfbbb02624a71bf2f082bc8afaf12f0628d0f6b71c12e52574722d64046ce3efafb261c7cab0f28b46c + languageName: node + linkType: hard + "@polkadot/rpc-provider@npm:9.8.1": version: 9.8.1 resolution: "@polkadot/rpc-provider@npm:9.8.1" @@ -1210,6 +1678,50 @@ __metadata: languageName: node linkType: hard +"@polkadot/typegen@npm:^9.11.1": + version: 9.11.1 + resolution: "@polkadot/typegen@npm:9.11.1" + dependencies: + "@babel/core": ^7.20.12 + "@babel/register": ^7.18.9 + "@babel/runtime": ^7.20.7 + "@polkadot/api": 9.11.1 + "@polkadot/api-augment": 9.11.1 + "@polkadot/rpc-augment": 9.11.1 + "@polkadot/rpc-provider": 9.11.1 + "@polkadot/types": 9.11.1 + "@polkadot/types-augment": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/types-create": 9.11.1 + "@polkadot/types-support": 9.11.1 + "@polkadot/util": ^10.2.3 + "@polkadot/util-crypto": ^10.2.3 + "@polkadot/x-ws": ^10.2.3 + handlebars: ^4.7.7 + websocket: ^1.0.34 + yargs: ^17.6.2 + bin: + polkadot-types-chain-info: scripts/polkadot-types-chain-info.cjs + polkadot-types-from-chain: scripts/polkadot-types-from-chain.cjs + polkadot-types-from-defs: scripts/polkadot-types-from-defs.cjs + polkadot-types-internal-interfaces: scripts/polkadot-types-internal-interfaces.cjs + polkadot-types-internal-metadata: scripts/polkadot-types-internal-metadata.cjs + checksum: d4cc1abbb62b5e46669d27d2a2b35cf09a0a57a403587de9b66bbf5007a1682046e10eaae3f5300e41c74efd95775365462f4064848986555bb4442cdcbb8355 + languageName: node + linkType: hard + +"@polkadot/types-augment@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/types-augment@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/types": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/util": ^10.2.3 + checksum: 55ba5edb217b2dcb73065bd744b7822d98f4aa7b0181cf65b89e506c79eb6d28d4ebd96f97229b6ed54f8fa41aee064d23f91aa6a600370f50f33b9ed3ce60d7 + languageName: node + linkType: hard + "@polkadot/types-augment@npm:9.7.1": version: 9.7.1 resolution: "@polkadot/types-augment@npm:9.7.1" @@ -1234,6 +1746,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-codec@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/types-codec@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/util": ^10.2.3 + "@polkadot/x-bigint": ^10.2.3 + checksum: aedb21c9f0589374de4361c338a93d297b9021ca0dd7be34f8bc64f09809a3657685dc53ece4e0f663162f94db830b47061c9762a238b7f757c1cf51bbfff254 + languageName: node + linkType: hard + "@polkadot/types-codec@npm:9.7.1": version: 9.7.1 resolution: "@polkadot/types-codec@npm:9.7.1" @@ -1256,6 +1779,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-create@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/types-create@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/types-codec": 9.11.1 + "@polkadot/util": ^10.2.3 + checksum: 761fe9839bd73d75140489e00dfceb0b816e4bad13db89231fb715488cb27ff48178adffe5169c13ee4c9b088efaf1a433b07fb1641ce680aa54a156b37e9f0f + languageName: node + linkType: hard + "@polkadot/types-create@npm:9.7.1": version: 9.7.1 resolution: "@polkadot/types-create@npm:9.7.1" @@ -1278,6 +1812,20 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-known@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/types-known@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/networks": ^10.2.3 + "@polkadot/types": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/types-create": 9.11.1 + "@polkadot/util": ^10.2.3 + checksum: b1708b17f691d88092c107761a61d27e9b1867cb54fb4f911093ca8d56603337d38bd51b9b9fc9622b95fa4b260b09bef638c9b0f108b277a4c3e7589b1a7946 + languageName: node + linkType: hard + "@polkadot/types-known@npm:9.8.1": version: 9.8.1 resolution: "@polkadot/types-known@npm:9.8.1" @@ -1292,6 +1840,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-support@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/types-support@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/util": ^10.2.3 + checksum: 1b14ed0b5f2a5190a04b19eb94d1eb35a5f08d50ba6c284e4cbf1b94ba15994024b8ace7e71e309dda5d7bea5f2916dcfebf6199d98cadf9ae69ae69f49d9bce + languageName: node + linkType: hard + "@polkadot/types-support@npm:9.7.1": version: 9.7.1 resolution: "@polkadot/types-support@npm:9.7.1" @@ -1312,6 +1870,22 @@ __metadata: languageName: node linkType: hard +"@polkadot/types@npm:9.11.1": + version: 9.11.1 + resolution: "@polkadot/types@npm:9.11.1" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/keyring": ^10.2.3 + "@polkadot/types-augment": 9.11.1 + "@polkadot/types-codec": 9.11.1 + "@polkadot/types-create": 9.11.1 + "@polkadot/util": ^10.2.3 + "@polkadot/util-crypto": ^10.2.3 + rxjs: ^7.8.0 + checksum: 4cb11b7330c50c42c2f819894a459f1a06fb41f284ed3dfb7b08fb667545a995c9f902bd5470f078d969ea1904aee3fd0e5339153c97b6f6483e4b394864feda + languageName: node + linkType: hard + "@polkadot/types@npm:9.7.1, @polkadot/types@npm:^9.2.3": version: 9.7.1 resolution: "@polkadot/types@npm:9.7.1" @@ -1386,6 +1960,27 @@ __metadata: languageName: node linkType: hard +"@polkadot/util-crypto@npm:10.2.3, @polkadot/util-crypto@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/util-crypto@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@noble/hashes": 1.1.5 + "@noble/secp256k1": 1.7.0 + "@polkadot/networks": 10.2.3 + "@polkadot/util": 10.2.3 + "@polkadot/wasm-crypto": ^6.4.1 + "@polkadot/x-bigint": 10.2.3 + "@polkadot/x-randomvalues": 10.2.3 + "@scure/base": 1.1.1 + ed2curve: ^0.3.0 + tweetnacl: ^1.0.3 + peerDependencies: + "@polkadot/util": 10.2.3 + checksum: 3c672893f8c986fadf15fe6c62a95e422eb789e6abe41950074624452e66e5269b035056d3120783801df56d118f9be80a4e40a583ad398678950ad11d7ee42e + languageName: node + linkType: hard + "@polkadot/util@npm:10.1.11, @polkadot/util@npm:^10.1.11, @polkadot/util@npm:^10.1.5": version: 10.1.11 resolution: "@polkadot/util@npm:10.1.11" @@ -1416,6 +2011,21 @@ __metadata: languageName: node linkType: hard +"@polkadot/util@npm:10.2.3, @polkadot/util@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/util@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/x-bigint": 10.2.3 + "@polkadot/x-global": 10.2.3 + "@polkadot/x-textdecoder": 10.2.3 + "@polkadot/x-textencoder": 10.2.3 + "@types/bn.js": ^5.1.1 + bn.js: ^5.2.1 + checksum: 466ae121352fffc9aad5b5e3f3eea665678fd6b18f864b77545ce54a794f3a1986e861442beb7eb469163c50069fb0b4675228332f24f04e8dc91b3be475afa5 + languageName: node + linkType: hard + "@polkadot/wasm-bridge@npm:6.3.1": version: 6.3.1 resolution: "@polkadot/wasm-bridge@npm:6.3.1" @@ -1428,6 +2038,18 @@ __metadata: languageName: node linkType: hard +"@polkadot/wasm-bridge@npm:6.4.1": + version: 6.4.1 + resolution: "@polkadot/wasm-bridge@npm:6.4.1" + dependencies: + "@babel/runtime": ^7.20.6 + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + checksum: 02d9cd1b5c2f6d0261004229751137ef829b38c12e0e844548ef356f9b65dc9a82ec4dcad32f4a156e3c8666b21ef4a8e0c2e5e0e1c51a51a2d7d00373f6f65e + languageName: node + linkType: hard + "@polkadot/wasm-crypto-asmjs@npm:6.3.1": version: 6.3.1 resolution: "@polkadot/wasm-crypto-asmjs@npm:6.3.1" @@ -1439,6 +2061,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/wasm-crypto-asmjs@npm:6.4.1": + version: 6.4.1 + resolution: "@polkadot/wasm-crypto-asmjs@npm:6.4.1" + dependencies: + "@babel/runtime": ^7.20.6 + peerDependencies: + "@polkadot/util": "*" + checksum: 6c2bba5014c373dfc18ec82bb7779141bfaea7d90e3e198fee0bc8ba3078238fee9bf1bb7138a3cbb8b5ad01ade603c44ce838e17940a610fbeec6341a17a0f3 + languageName: node + linkType: hard + "@polkadot/wasm-crypto-init@npm:6.3.1": version: 6.3.1 resolution: "@polkadot/wasm-crypto-init@npm:6.3.1" @@ -1454,6 +2087,21 @@ __metadata: languageName: node linkType: hard +"@polkadot/wasm-crypto-init@npm:6.4.1": + version: 6.4.1 + resolution: "@polkadot/wasm-crypto-init@npm:6.4.1" + dependencies: + "@babel/runtime": ^7.20.6 + "@polkadot/wasm-bridge": 6.4.1 + "@polkadot/wasm-crypto-asmjs": 6.4.1 + "@polkadot/wasm-crypto-wasm": 6.4.1 + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + checksum: e1d30cae9588607cbbe35f539df2cb3fca6b69d65ab7907ca24183931953de0e8d7e61be4af7c30a05295a16a1a9255256a6420a049ddf38c155400f91187956 + languageName: node + linkType: hard + "@polkadot/wasm-crypto-wasm@npm:6.3.1": version: 6.3.1 resolution: "@polkadot/wasm-crypto-wasm@npm:6.3.1" @@ -1466,6 +2114,18 @@ __metadata: languageName: node linkType: hard +"@polkadot/wasm-crypto-wasm@npm:6.4.1": + version: 6.4.1 + resolution: "@polkadot/wasm-crypto-wasm@npm:6.4.1" + dependencies: + "@babel/runtime": ^7.20.6 + "@polkadot/wasm-util": 6.4.1 + peerDependencies: + "@polkadot/util": "*" + checksum: 21c72028d2e4333b54fb212980e3dc51827ffaf90364df1932205162859eab9b1be3a7767e1c3c5e8cfcf6ad2bc8cb9dafd3be59ada250b77679fa7ade67c646 + languageName: node + linkType: hard + "@polkadot/wasm-crypto@npm:6.3.1, @polkadot/wasm-crypto@npm:^6.3.1": version: 6.3.1 resolution: "@polkadot/wasm-crypto@npm:6.3.1" @@ -1483,6 +2143,23 @@ __metadata: languageName: node linkType: hard +"@polkadot/wasm-crypto@npm:^6.4.1": + version: 6.4.1 + resolution: "@polkadot/wasm-crypto@npm:6.4.1" + dependencies: + "@babel/runtime": ^7.20.6 + "@polkadot/wasm-bridge": 6.4.1 + "@polkadot/wasm-crypto-asmjs": 6.4.1 + "@polkadot/wasm-crypto-init": 6.4.1 + "@polkadot/wasm-crypto-wasm": 6.4.1 + "@polkadot/wasm-util": 6.4.1 + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + checksum: 2892834aa2357e5974257810be625b0f08a35a3ba1def4a87e4989636dc7a43691357fdbfbeab4595eb47cd90177dba3c0ce95e593219db7c488fdf450d86357 + languageName: node + linkType: hard + "@polkadot/wasm-util@npm:6.3.1": version: 6.3.1 resolution: "@polkadot/wasm-util@npm:6.3.1" @@ -1494,6 +2171,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/wasm-util@npm:6.4.1": + version: 6.4.1 + resolution: "@polkadot/wasm-util@npm:6.4.1" + dependencies: + "@babel/runtime": ^7.20.6 + peerDependencies: + "@polkadot/util": "*" + checksum: 6d5ef0aa9af7ca9fe23149793bd1fa9f864b41695b49ab5ae5c23b3ac761c310edf382fe0d0a0d812dc07b10a2d0b056de5750947867a94ab87ab51e176d94b3 + languageName: node + linkType: hard + "@polkadot/x-bigint@npm:10.1.11, @polkadot/x-bigint@npm:^10.1.11": version: 10.1.11 resolution: "@polkadot/x-bigint@npm:10.1.11" @@ -1514,6 +2202,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-bigint@npm:10.2.3, @polkadot/x-bigint@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/x-bigint@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/x-global": 10.2.3 + checksum: 08c6c739aae1e597e073b301b2f32c1b2f6ec7d9f7ce056106977da2036a4f167d4276e7ed8a8f10f0753804573b39b365d943941f6902f9c32ebf091be0b725 + languageName: node + linkType: hard + "@polkadot/x-fetch@npm:^10.1.11": version: 10.1.11 resolution: "@polkadot/x-fetch@npm:10.1.11" @@ -1538,6 +2236,18 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-fetch@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/x-fetch@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/x-global": 10.2.3 + "@types/node-fetch": ^2.6.2 + node-fetch: ^3.3.0 + checksum: e5b03392efc2df782c684b4a64bb733ed2d11bfd1a9e47dac3bde6456110743cf4a70718b799eb2be7044c2e963f598e944f98c8dbe4f27e278a2f95dab6aa90 + languageName: node + linkType: hard + "@polkadot/x-global@npm:10.1.11, @polkadot/x-global@npm:^10.1.11, @polkadot/x-global@npm:^10.1.5": version: 10.1.11 resolution: "@polkadot/x-global@npm:10.1.11" @@ -1556,6 +2266,15 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-global@npm:10.2.3, @polkadot/x-global@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/x-global@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + checksum: 4bd4d9b3bed8ed9ed1bf7905821b20598b83d5621920bb78d59a618e4f0bb6f0effbe1b4d3d51ee70bc414d6b7c50e470b36276292e3551ff14f82fe07fb77c4 + languageName: node + linkType: hard + "@polkadot/x-randomvalues@npm:10.1.11": version: 10.1.11 resolution: "@polkadot/x-randomvalues@npm:10.1.11" @@ -1576,6 +2295,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-randomvalues@npm:10.2.3": + version: 10.2.3 + resolution: "@polkadot/x-randomvalues@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/x-global": 10.2.3 + checksum: a22b9a02609836276d36032445b3c0d17986bd61fa067549319ca4b1ed4b08c748830d88753a5658ed26e17cac8cbec3b81c4e122da7f8e0a0e59597de2a4cf1 + languageName: node + linkType: hard + "@polkadot/x-textdecoder@npm:10.1.11": version: 10.1.11 resolution: "@polkadot/x-textdecoder@npm:10.1.11" @@ -1596,6 +2325,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-textdecoder@npm:10.2.3": + version: 10.2.3 + resolution: "@polkadot/x-textdecoder@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/x-global": 10.2.3 + checksum: 0617b756f3d88bf3e31cf52b7080fdd4c62f5c024242d1870c3428dea6906d6d30993b4c7271df886be8ab1370e79b177c59c9c9759e7ce81e3b13309fcc7906 + languageName: node + linkType: hard + "@polkadot/x-textencoder@npm:10.1.11": version: 10.1.11 resolution: "@polkadot/x-textencoder@npm:10.1.11" @@ -1616,6 +2355,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-textencoder@npm:10.2.3": + version: 10.2.3 + resolution: "@polkadot/x-textencoder@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/x-global": 10.2.3 + checksum: eb1412fd5d79209bbeda80c758224a0605eb67aecbda412e31a93796e471bf4bd5d0e027b9e8aac881c71ad874ba9239e85465c30d217aa289654112188657ec + languageName: node + linkType: hard + "@polkadot/x-ws@npm:^10.1.11": version: 10.1.11 resolution: "@polkadot/x-ws@npm:10.1.11" @@ -1640,6 +2389,18 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-ws@npm:^10.2.3": + version: 10.2.3 + resolution: "@polkadot/x-ws@npm:10.2.3" + dependencies: + "@babel/runtime": ^7.20.7 + "@polkadot/x-global": 10.2.3 + "@types/websocket": ^1.0.5 + websocket: ^1.0.34 + checksum: 6c3512105296fac47fa3f3fc9098d3b4bd76a2ca976c0c9cba309bd5a9ae426a5ee483dde0fbaa4a98ec73c15e8325bf643ddd984f2b7e59c7bb9f6e6ae9774b + languageName: node + linkType: hard + "@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": version: 1.1.2 resolution: "@protobufjs/aspromise@npm:1.1.2" @@ -1770,6 +2531,17 @@ __metadata: languageName: node linkType: hard +"@substrate/connect@npm:0.7.18": + version: 0.7.18 + resolution: "@substrate/connect@npm:0.7.18" + dependencies: + "@substrate/connect-extension-protocol": ^1.0.1 + "@substrate/smoldot-light": 0.7.9 + eventemitter3: ^4.0.7 + checksum: cc3e189d3ceffc30b5a89b4575c76371f7b0dd620180f4846b784a168b459b37bb2017bd273de63a199a2d14cffbeabf67b0c8ae8db0fc7252297c9129902ebc + languageName: node + linkType: hard + "@substrate/smoldot-light@npm:0.7.5": version: 0.7.5 resolution: "@substrate/smoldot-light@npm:0.7.5" @@ -1780,6 +2552,16 @@ __metadata: languageName: node linkType: hard +"@substrate/smoldot-light@npm:0.7.9": + version: 0.7.9 + resolution: "@substrate/smoldot-light@npm:0.7.9" + dependencies: + pako: ^2.0.4 + ws: ^8.8.1 + checksum: d378ab3330734c3efbbba67fdd49e4ecb45e0ae9cd6539090e22718fd06f3eaeadcc520c030c8b16b30745a4a295c0ad406d3c61ddd37c50204722e251fcc6b9 + languageName: node + linkType: hard + "@substrate/ss58-registry@npm:^1.33.0": version: 1.33.0 resolution: "@substrate/ss58-registry@npm:1.33.0" @@ -1794,6 +2576,13 @@ __metadata: languageName: node linkType: hard +"@substrate/ss58-registry@npm:^1.37.0": + version: 1.37.0 + resolution: "@substrate/ss58-registry@npm:1.37.0" + checksum: c70f9109318a53813b75db664bcc10738b407fd5dd9df1e9cb24a49157f6037b67061d9dc81a0174ec9281032277fdf2fef00a16ed8092bd35afa60061e6bfdd + languageName: node + linkType: hard + "@swc/helpers@npm:0.4.11": version: 0.4.11 resolution: "@swc/helpers@npm:0.4.11" @@ -2772,6 +3561,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.21.3": + version: 4.21.4 + resolution: "browserslist@npm:4.21.4" + dependencies: + caniuse-lite: ^1.0.30001400 + electron-to-chromium: ^1.4.251 + node-releases: ^2.0.6 + update-browserslist-db: ^1.0.9 + bin: + browserslist: cli.js + checksum: 4af3793704dbb4615bcd29059ab472344dc7961c8680aa6c4bb84f05340e14038d06a5aead58724eae69455b8fade8b8c69f1638016e87e5578969d74c078b79 + languageName: node + linkType: hard + "bs-logger@npm:0.x": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" @@ -2895,6 +3698,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001400": + version: 1.0.30001442 + resolution: "caniuse-lite@npm:1.0.30001442" + checksum: c1bff65bd4f53da2d288e7f55be40706ee0119b983eae5a9dcc884046990476891630aef72d708f7989f8f1964200c44e4c37ea40deecaa2fb4a480df23e6317 + languageName: node + linkType: hard + "card-validator@npm:^6.2.0": version: 6.2.0 resolution: "card-validator@npm:6.2.0" @@ -3000,6 +3810,28 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.1 + wrap-ansi: ^7.0.0 + checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 + languageName: node + linkType: hard + +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: ^2.0.4 + kind-of: ^6.0.2 + shallow-clone: ^3.0.0 + checksum: 770f912fe4e6f21873c8e8fbb1e99134db3b93da32df271d00589ea4a29dbe83a9808a322c93f3bcaf8584b8b4fa6fc269fc8032efbaa6728e0c9886c74467d2 + languageName: node + linkType: hard + "clsx@npm:^1.0.4": version: 1.1.1 resolution: "clsx@npm:1.1.1" @@ -3083,6 +3915,13 @@ __metadata: languageName: node linkType: hard +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 59715f2fc456a73f68826285718503340b9f0dd89bfffc42749906c5cf3d4277ef11ef1cca0350d0e79204f00f1f6d83851ececc9095dc88512a697ac0b9bdcb + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -3824,6 +4663,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.4.251": + version: 1.4.284 + resolution: "electron-to-chromium@npm:1.4.284" + checksum: be496e9dca6509dbdbb54dc32146fc99f8eb716d28a7ee8ccd3eba0066561df36fc51418d8bd7cf5a5891810bf56c0def3418e74248f51ea4a843d423603d10a + languageName: node + linkType: hard + "elliptic@npm:^6.5.3": version: 6.5.4 resolution: "elliptic@npm:6.5.4" @@ -4607,7 +5453,7 @@ __metadata: version: 0.0.0-use.local resolution: "example@workspace:packages/example" dependencies: - "@phala/sdk": "workspace:^" + "@phala/sdk": "workspace:packages/sdk" "@phala/typedefs": ^0.2.32 "@polkadot/api": ^9.8.1 "@polkadot/api-contract": ^9.8.1 @@ -4775,6 +5621,17 @@ __metadata: languageName: node linkType: hard +"find-cache-dir@npm:^2.0.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: ^1.0.1 + make-dir: ^2.0.0 + pkg-dir: ^3.0.0 + checksum: 60ad475a6da9f257df4e81900f78986ab367d4f65d33cf802c5b91e969c28a8762f098693d7a571b6e4dd4c15166c2da32ae2d18b6766a18e2071079448fdce4 + languageName: node + linkType: hard + "find-up@npm:^2.1.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" @@ -4784,6 +5641,15 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: ^3.0.0 + checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + languageName: node + linkType: hard + "find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -5101,6 +5967,24 @@ __metadata: languageName: node linkType: hard +"handlebars@npm:^4.7.7": + version: 4.7.7 + resolution: "handlebars@npm:4.7.7" + dependencies: + minimist: ^1.2.5 + neo-async: ^2.6.0 + source-map: ^0.6.1 + uglify-js: ^3.1.4 + wordwrap: ^1.0.0 + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 1e79a43f5e18d15742977cb987923eab3e2a8f44f2d9d340982bcb69e1735ed049226e534d7c1074eaddaf37e4fb4f471a8adb71cddd5bc8cf3f894241df5cee + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -5526,6 +6410,15 @@ __metadata: languageName: node linkType: hard +"is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca + languageName: node + linkType: hard + "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -6335,6 +7228,15 @@ __metadata: languageName: node linkType: hard +"json5@npm:^2.2.2": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.2.1": version: 3.2.1 resolution: "jsx-ast-utils@npm:3.2.1" @@ -6352,6 +7254,13 @@ __metadata: languageName: node linkType: hard +"kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b + languageName: node + linkType: hard + "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -6433,6 +7342,16 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: ^3.0.0 + path-exists: ^3.0.0 + checksum: 53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -6497,6 +7416,15 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: ^3.0.2 + checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -6515,6 +7443,16 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: ^4.0.1 + semver: ^5.6.0 + checksum: 043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab + languageName: node + linkType: hard + "make-dir@npm:^3.0.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -6818,6 +7756,13 @@ __metadata: languageName: node linkType: hard +"neo-async@npm:^2.6.0": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 + languageName: node + linkType: hard + "next-tick@npm:~1.0.0": version: 1.0.0 resolution: "next-tick@npm:1.0.0" @@ -6980,6 +7925,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.6": + version: 2.0.8 + resolution: "node-releases@npm:2.0.8" + checksum: b1ab02c0d5d8e081bf9537232777a7a787dc8fef07f70feabe70a344599b220fe16462f746ac30f3eed5a58549445ad69368964d12a1f8b3b764f6caab7ba34a + languageName: node + linkType: hard + "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -7171,7 +8123,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^2.2.0": +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" dependencies: @@ -7198,6 +8150,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: ^2.0.0 + checksum: 83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae + languageName: node + linkType: hard + "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -7369,13 +8330,29 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.4": +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b + languageName: node + linkType: hard + +"pirates@npm:^4.0.1, pirates@npm:^4.0.4, pirates@npm:^4.0.5": version: 4.0.5 resolution: "pirates@npm:4.0.5" checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 languageName: node linkType: hard +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: ^3.0.0 + checksum: 70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 + languageName: node + linkType: hard + "pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -7836,6 +8813,13 @@ __metadata: languageName: node linkType: hard +"regenerator-runtime@npm:^0.13.11": + version: 0.13.11 + resolution: "regenerator-runtime@npm:0.13.11" + checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" @@ -8047,6 +9031,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"rxjs@npm:^7.8.0": + version: 7.8.0 + resolution: "rxjs@npm:7.8.0" + dependencies: + tslib: ^2.1.0 + checksum: 61b4d4fd323c1043d8d6ceb91f24183b28bcf5def4f01ca111511d5c6b66755bc5578587fe714ef5d67cf4c9f2e26f4490d4e1d8cabf9bd5967687835e9866a2 + languageName: node + linkType: hard + "safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" @@ -8098,6 +9091,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"semver@npm:^5.6.0": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + languageName: node + linkType: hard + "semver@npm:^6.0.0, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" @@ -8126,6 +9128,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: ^6.0.2 + checksum: 39b3dd9630a774aba288a680e7d2901f5c0eae7b8387fc5c8ea559918b29b3da144b7bdb990d7ccd9e11be05508ac9e459ce51d01fd65e583282f6ffafcba2e7 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -8209,6 +9220,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"source-map-support@npm:^0.5.16": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 + languageName: node + linkType: hard + "source-map-support@npm:^0.5.6": version: 0.5.19 resolution: "source-map-support@npm:0.5.19" @@ -8323,6 +9344,17 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + "string.prototype.matchall@npm:^4.0.7": version: 4.0.7 resolution: "string.prototype.matchall@npm:4.0.7" @@ -8917,6 +9949,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"uglify-js@npm:^3.1.4": + version: 3.17.4 + resolution: "uglify-js@npm:3.17.4" + bin: + uglifyjs: bin/uglifyjs + checksum: 7b3897df38b6fc7d7d9f4dcd658599d81aa2b1fb0d074829dd4e5290f7318dbca1f4af2f45acb833b95b1fe0ed4698662ab61b87e94328eb4c0a0d3435baf924 + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" @@ -8954,6 +9995,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"update-browserslist-db@npm:^1.0.9": + version: 1.0.10 + resolution: "update-browserslist-db@npm:1.0.10" + dependencies: + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + browserslist-lint: cli.js + checksum: 12db73b4f63029ac407b153732e7cd69a1ea8206c9100b482b7d12859cd3cd0bc59c602d7ae31e652706189f1acb90d42c53ab24a5ba563ed13aebdddc5561a0 + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -9188,6 +10243,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 + languageName: node + linkType: hard + "wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -9276,6 +10338,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -9297,6 +10366,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c + languageName: node + linkType: hard + "yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" @@ -9312,6 +10388,21 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"yargs@npm:^17.6.2": + version: 17.6.2 + resolution: "yargs@npm:17.6.2" + dependencies: + cliui: ^8.0.1 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.3 + y18n: ^5.0.5 + yargs-parser: ^21.1.1 + checksum: 47da1b0d854fa16d45a3ded57b716b013b2179022352a5f7467409da5a04a1eef5b3b3d97a2dfc13e8bbe5f2ffc0afe3bc6a4a72f8254e60f5a4bd7947138643 + languageName: node + linkType: hard + "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1" From 84306123bfb65d96a85f262b56816ff53465a86a Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Mon, 9 Jan 2023 19:20:42 +0800 Subject: [PATCH 08/17] packagejson files --- packages/sdk/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/sdk/package.json b/packages/sdk/package.json index bd383e4..0e77913 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -23,8 +23,7 @@ } }, "files": [ - "dist/*", - "browser/*" + "dist/*" ], "scripts": { "build": "npm run generate:defs && npm run generate:meta && npm run build:node && npm run build:browser", From df488e47fe2fe337cbd00b446ddb0d10ca145bdb Mon Sep 17 00:00:00 2001 From: lcbyfc Date: Mon, 9 Jan 2023 19:29:45 +0800 Subject: [PATCH 09/17] fix lint --- .github/workflows/build.yml | 8 +- .github/workflows/publish.yml | 6 +- .vscode/settings.json | 2 +- jest.config.cjs | 4 +- package.json | 5 +- packages/example/.eslintrc | 3 +- packages/example/atoms/account.ts | 10 +- packages/example/components/AccountSelect.tsx | 82 +- .../example/components/ContractLoader.tsx | 96 +- packages/example/components/Layout.tsx | 40 +- packages/example/global.d.ts | 4 +- packages/example/hooks/useInterval.ts | 18 +- packages/example/hooks/useIsClient.ts | 14 +- packages/example/lib/copy.ts | 8 +- packages/example/lib/polkadotApi.ts | 14 +- packages/example/lib/polkadotExtension.ts | 34 +- packages/example/next.config.mjs | 10 +- packages/example/pages/_app.tsx | 18 +- packages/example/pages/_document.tsx | 26 +- packages/example/pages/api/flipper.ts | 50 +- packages/example/pages/flipper.tsx | 109 +- packages/example/pages/get-ip.tsx | 72 +- packages/example/pages/index.tsx | 24 +- packages/example/pages/redeem-poap.tsx | 190 +- packages/example/styletron.ts | 10 +- packages/sdk/.eslintrc | 3 +- packages/sdk/src/interfaces/augment-types.ts | 1296 +- packages/sdk/src/interfaces/index.ts | 2 +- .../sdk/src/interfaces/signaling/index.ts | 2 +- .../sdk/src/interfaces/signaling/types.ts | 8 +- .../src/interfaces/treasuryRewards/index.ts | 2 +- .../src/interfaces/treasuryRewards/types.ts | 4 +- packages/sdk/src/interfaces/types.ts | 6 +- packages/sdk/src/interfaces/voting/index.ts | 2 +- packages/sdk/src/interfaces/voting/types.ts | 23 +- packages/sdk/src/proto/index.d.ts | 10626 ++++--- packages/sdk/src/proto/index.js | 25683 +++++++++------- yarn.lock | 1 + 38 files changed, 20245 insertions(+), 18270 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 98a27a3..cd6905d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,16 +13,16 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: '16' - registry-url: 'https://registry.npmjs.org' - cache: 'yarn' + node-version: "16" + registry-url: "https://registry.npmjs.org" + cache: "yarn" - run: yarn - run: yarn test - run: yarn lint - run: yarn build - uses: actions/upload-artifact@v2 with: - name: 'phala-js-sdk' + name: "phala-js-sdk" path: | packages/sdk/dist/ packages/sdk/package.json diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f59e096..0c3e877 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,9 +9,9 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: '16' - registry-url: 'https://registry.npmjs.org' - cache: 'yarn' + node-version: "16" + registry-url: "https://registry.npmjs.org" + cache: "yarn" - run: yarn - run: yarn workspace @phala/sdk build - run: yarn workspace @phala/sdk publish diff --git a/.vscode/settings.json b/.vscode/settings.json index a615589..a9df0ac 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,7 +4,7 @@ "source.fixAll.eslint": true, "source.sortImports": true }, - "eslint.workingDirectories": [{"pattern": "./packages/*/"}], + "eslint.workingDirectories": [{ "pattern": "./packages/*/" }], "cSpell.ignoreWords": [ "polkadot", "jotai", diff --git a/jest.config.cjs b/jest.config.cjs index b827c39..9d7be93 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -1,4 +1,4 @@ /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ module.exports = { - preset: 'ts-jest', -} + preset: "ts-jest", +}; diff --git a/package.json b/package.json index 2c76d17..9ee7890 100644 --- a/package.json +++ b/package.json @@ -22,5 +22,8 @@ "ts-node": "^10.9.1", "typescript": "^4.8.4" }, - "packageManager": "yarn@3.2.3" + "packageManager": "yarn@3.2.3", + "dependencies": { + "@polkadot/util": "^10.2.3" + } } diff --git a/packages/example/.eslintrc b/packages/example/.eslintrc index be5724a..5f29d73 100644 --- a/packages/example/.eslintrc +++ b/packages/example/.eslintrc @@ -7,6 +7,7 @@ ], "parser": "@typescript-eslint/parser", "rules": { - "no-console": "error" + "no-console": "error", + "@typescript-eslint/no-explicit-any": 0 } } diff --git a/packages/example/atoms/account.ts b/packages/example/atoms/account.ts index c918c7b..270019e 100644 --- a/packages/example/atoms/account.ts +++ b/packages/example/atoms/account.ts @@ -1,9 +1,9 @@ -import {atomWithStorage} from 'jotai/utils' -import type {InjectedAccountWithMeta} from '@polkadot/extension-inject/types' +import { atomWithStorage } from "jotai/utils"; +import type { InjectedAccountWithMeta } from "@polkadot/extension-inject/types"; const accountAtom = atomWithStorage( - 'atom:account', + "atom:account", null -) +); -export default accountAtom +export default accountAtom; diff --git a/packages/example/components/AccountSelect.tsx b/packages/example/components/AccountSelect.tsx index 0321bf4..ab650b7 100644 --- a/packages/example/components/AccountSelect.tsx +++ b/packages/example/components/AccountSelect.tsx @@ -1,56 +1,56 @@ -import {useState, useEffect} from 'react' -import type {InjectedAccountWithMeta} from '@polkadot/extension-inject/types' -import {useAtom} from 'jotai' -import {Select} from 'baseui/select' -import {LabelSmall, MonoParagraphXSmall} from 'baseui/typography' -import {Block} from 'baseui/block' -import {FormControl} from 'baseui/form-control' -import accountAtom from '../atoms/account' -import {enablePolkadotExtension} from '../lib/polkadotExtension' +import { useState, useEffect } from "react"; +import type { InjectedAccountWithMeta } from "@polkadot/extension-inject/types"; +import { useAtom } from "jotai"; +import { Select } from "baseui/select"; +import { LabelSmall, MonoParagraphXSmall } from "baseui/typography"; +import { Block } from "baseui/block"; +import { FormControl } from "baseui/form-control"; +import accountAtom from "../atoms/account"; +import { enablePolkadotExtension } from "../lib/polkadotExtension"; const trimAddress = (address: string) => - `${address.slice(0, 6)}…${address.slice(-6)}` + `${address.slice(0, 6)}…${address.slice(-6)}`; const AccountSelect = (): JSX.Element => { - const [error, setError] = useState(false) - const [account, setAccount] = useAtom(accountAtom) - const [options, setOptions] = useState([]) + const [error, setError] = useState(false); + const [account, setAccount] = useAtom(accountAtom); + const [options, setOptions] = useState([]); useEffect(() => { - let unsubscribe: () => void + let unsubscribe: () => void; const subscribeAccounts = async () => { - await enablePolkadotExtension() + await enablePolkadotExtension(); const handleAccounts = (accounts: InjectedAccountWithMeta[]): void => { - setOptions(accounts) - } - const {web3Accounts, web3AccountsSubscribe} = await import( - '@polkadot/extension-dapp' - ) - const accounts = await web3Accounts() - handleAccounts(accounts) - unsubscribe = await web3AccountsSubscribe(handleAccounts) - } + setOptions(accounts); + }; + const { web3Accounts, web3AccountsSubscribe } = await import( + "@polkadot/extension-dapp" + ); + const accounts = await web3Accounts(); + handleAccounts(accounts); + unsubscribe = await web3AccountsSubscribe(handleAccounts); + }; try { - subscribeAccounts() + subscribeAccounts(); } catch (err) { - setError(true) - throw err + setError(true); + throw err; } - return () => unsubscribe?.() - }, []) + return () => unsubscribe?.(); + }, []); useEffect(() => { if ( account && options.length && - !options.find(({address}) => address === account.address) + !options.find(({ address }) => address === account.address) ) { - setAccount(null) + setAccount(null); } - }, [options, account, setAccount]) + }, [options, account, setAccount]); return ( @@ -63,23 +63,23 @@ const AccountSelect = (): JSX.Element => { }, }, }} - {...(error && {error: 'Polkadot{.js} extension error'})} + {...(error && { error: "Polkadot{.js} extension error" })} > - ) -} + ); +}; -export default AccountSelect +export default AccountSelect; diff --git a/packages/example/components/ContractLoader.tsx b/packages/example/components/ContractLoader.tsx index c5eb527..f449879 100644 --- a/packages/example/components/ContractLoader.tsx +++ b/packages/example/components/ContractLoader.tsx @@ -1,59 +1,59 @@ -import {create} from '@phala/sdk' -import type {ApiPromise} from '@polkadot/api' -import {ContractPromise} from '@polkadot/api-contract' -import {Button} from 'baseui/button' -import {FormControl} from 'baseui/form-control' -import {Input} from 'baseui/input' -import {Textarea} from 'baseui/textarea' -import {toaster} from 'baseui/toast' -import {useAtom} from 'jotai' -import {focusAtom} from 'jotai/optics' -import {atomWithStorage} from 'jotai/utils' -import {useRef, VFC} from 'react' -import useIsClient from '../hooks/useIsClient' -import {createApi} from '../lib/polkadotApi' +import { create } from "@phala/sdk"; +import type { ApiPromise } from "@polkadot/api"; +import { ContractPromise } from "@polkadot/api-contract"; +import { Button } from "baseui/button"; +import { FormControl } from "baseui/form-control"; +import { Input } from "baseui/input"; +import { Textarea } from "baseui/textarea"; +import { toaster } from "baseui/toast"; +import { useAtom } from "jotai"; +import { focusAtom } from "jotai/optics"; +import { atomWithStorage } from "jotai/utils"; +import { useRef, VFC } from "react"; +import useIsClient from "../hooks/useIsClient"; +import { createApi } from "../lib/polkadotApi"; const endpointAtom = atomWithStorage( - 'atom:endpoint', - 'ws://localhost:9944' -) + "atom:endpoint", + "ws://localhost:9944" +); const pruntimeURLAtom = atomWithStorage( - 'atom:pruntime_url', - 'http://localhost:8000' -) + "atom:pruntime_url", + "http://localhost:8000" +); const contractsAtom = atomWithStorage< - Record ->('atom:contracts', {}) + Record +>("atom:contracts", {}); const ContractLoader: VFC<{ - name: string - onLoad: (res: {api: ApiPromise; contract: ContractPromise}) => void -}> = ({name, onLoad}) => { + name: string; + onLoad: (res: { api: ApiPromise; contract: ContractPromise }) => void; +}> = ({ name, onLoad }) => { const contractInfoAtom = useRef( focusAtom(contractsAtom, (optic) => optic.prop(name)) - ) - const [contractInfo, setContractInfo] = useAtom(contractInfoAtom.current) - const [endpoint, setEndpoint] = useAtom(endpointAtom) - const [pruntimeURL, setPruntimeURL] = useAtom(pruntimeURLAtom) - const {contractId = '', metadata = ''} = contractInfo || {} - const isClient = useIsClient() - if (!isClient) return null + ); + const [contractInfo, setContractInfo] = useAtom(contractInfoAtom.current); + const [endpoint, setEndpoint] = useAtom(endpointAtom); + const [pruntimeURL, setPruntimeURL] = useAtom(pruntimeURLAtom); + const { contractId = "", metadata = "" } = contractInfo || {}; + const isClient = useIsClient(); + if (!isClient) return null; const loadContract = async () => { try { - const api = await createApi(endpoint) + const api = await createApi(endpoint); const contract = new ContractPromise( - (await create({api, baseURL: pruntimeURL, contractId})).api, + (await create({ api, baseURL: pruntimeURL, contractId })).api, JSON.parse(metadata), contractId - ) - onLoad({api, contract}) - toaster.positive('Contract loaded successfully', {}) + ); + onLoad({ api, contract }); + toaster.positive("Contract loaded successfully", {}); } catch (err) { - toaster.negative((err as Error).message, {}) - throw err + toaster.negative((err as Error).message, {}); + throw err; } - } + }; return ( <> @@ -63,7 +63,7 @@ const ContractLoader: VFC<{ overrides={{ Input: { style: { - fontFamily: 'monospace', + fontFamily: "monospace", }, }, }} @@ -77,7 +77,7 @@ const ContractLoader: VFC<{ overrides={{ Input: { style: { - fontFamily: 'monospace', + fontFamily: "monospace", }, }, }} @@ -90,7 +90,7 @@ const ContractLoader: VFC<{ overrides={{ Input: { style: { - fontFamily: 'monospace', + fontFamily: "monospace", }, }, }} @@ -108,8 +108,8 @@ const ContractLoader: VFC<{ overrides={{ Input: { style: { - fontFamily: 'monospace', - height: '600px', + fontFamily: "monospace", + height: "600px", }, }, }} @@ -127,7 +127,7 @@ const ContractLoader: VFC<{ Load Contract - ) -} + ); +}; -export default ContractLoader +export default ContractLoader; diff --git a/packages/example/components/Layout.tsx b/packages/example/components/Layout.tsx index 5a800fa..02d5991 100644 --- a/packages/example/components/Layout.tsx +++ b/packages/example/components/Layout.tsx @@ -1,18 +1,18 @@ -import {FC} from 'react' -import Head from 'next/head' -import {useRouter} from 'next/router' -import {HeadingXLarge} from 'baseui/typography' -import {ToasterContainer} from 'baseui/toast' -import {Block} from 'baseui/block' -import {ChevronLeft} from 'baseui/icon' -import AccountSelect from './AccountSelect' -import Link from 'next/link' -import useIsClient from '../hooks/useIsClient' +import { FC } from "react"; +import Head from "next/head"; +import { useRouter } from "next/router"; +import { HeadingXLarge } from "baseui/typography"; +import { ToasterContainer } from "baseui/toast"; +import { Block } from "baseui/block"; +import { ChevronLeft } from "baseui/icon"; +import AccountSelect from "./AccountSelect"; +import Link from "next/link"; +import useIsClient from "../hooks/useIsClient"; -const Layout: FC<{title?: string}> = ({title, children}) => { - const {pathname} = useRouter() - const isClient = useIsClient() - const displayTitle = title || 'Phala SDK Example' +const Layout: FC<{ title?: string }> = ({ title, children }) => { + const { pathname } = useRouter(); + const isClient = useIsClient(); + const displayTitle = title || "Phala SDK Example"; return ( @@ -28,14 +28,14 @@ const Layout: FC<{title?: string}> = ({title, children}) => { justifyContent="space-between" > - {pathname !== '/' && ( + {pathname !== "/" && ( = ({title, children}) => { - ) -} + ); +}; -export default Layout +export default Layout; diff --git a/packages/example/global.d.ts b/packages/example/global.d.ts index 2612ffc..8af43c0 100644 --- a/packages/example/global.d.ts +++ b/packages/example/global.d.ts @@ -1,5 +1,5 @@ -import {NextPage} from 'next' +import { NextPage } from "next"; declare global { - type Page = NextPage & {title?: string} + type Page = NextPage & { title?: string }; } diff --git a/packages/example/hooks/useInterval.ts b/packages/example/hooks/useInterval.ts index 789899b..ffa2b5f 100644 --- a/packages/example/hooks/useInterval.ts +++ b/packages/example/hooks/useInterval.ts @@ -1,25 +1,25 @@ -import {useEffect, useLayoutEffect, useRef} from 'react' +import { useEffect, useLayoutEffect, useRef } from "react"; function useInterval(callback: () => void, delay: number | null) { - const savedCallback = useRef(callback) + const savedCallback = useRef(callback); // Remember the latest callback if it changes. useLayoutEffect(() => { - savedCallback.current = callback - }, [callback]) + savedCallback.current = callback; + }, [callback]); // Set up the interval. useEffect(() => { // Don't schedule if no delay is specified. // Note: 0 is a valid value for delay. if (!delay && delay !== 0) { - return + return; } - const id = setInterval(() => savedCallback.current(), delay) + const id = setInterval(() => savedCallback.current(), delay); - return () => clearInterval(id) - }, [delay]) + return () => clearInterval(id); + }, [delay]); } -export default useInterval +export default useInterval; diff --git a/packages/example/hooks/useIsClient.ts b/packages/example/hooks/useIsClient.ts index e4cb4f7..fb4a210 100644 --- a/packages/example/hooks/useIsClient.ts +++ b/packages/example/hooks/useIsClient.ts @@ -1,12 +1,12 @@ -import {useEffect, useState} from 'react' +import { useEffect, useState } from "react"; const useIsClient = (): boolean => { - const [mounted, setMounted] = useState(false) + const [mounted, setMounted] = useState(false); useEffect(() => { - setMounted(true) - }, []) + setMounted(true); + }, []); - return mounted -} + return mounted; +}; -export default useIsClient +export default useIsClient; diff --git a/packages/example/lib/copy.ts b/packages/example/lib/copy.ts index ef6e117..08a6771 100644 --- a/packages/example/lib/copy.ts +++ b/packages/example/lib/copy.ts @@ -1,7 +1,7 @@ -import {toaster} from 'baseui/toast' +import { toaster } from "baseui/toast"; export const copy = async (text: string) => { - await navigator.clipboard.writeText(text) + await navigator.clipboard.writeText(text); - toaster.positive('Copied to Clipboard', {}) -} + toaster.positive("Copied to Clipboard", {}); +}; diff --git a/packages/example/lib/polkadotApi.ts b/packages/example/lib/polkadotApi.ts index e375c50..cc0e5cc 100644 --- a/packages/example/lib/polkadotApi.ts +++ b/packages/example/lib/polkadotApi.ts @@ -1,9 +1,9 @@ -import {khalaDev} from '@phala/typedefs' -import {ApiPromise, WsProvider} from '@polkadot/api' -import {types as phalaSDKTypes} from '@phala/sdk' +import { khalaDev } from "@phala/typedefs"; +import { ApiPromise, WsProvider } from "@polkadot/api"; +import { types as phalaSDKTypes } from "@phala/sdk"; export const createApi = async (endpoint: string): Promise => { - const wsProvider = new WsProvider(endpoint) + const wsProvider = new WsProvider(endpoint); const api = await ApiPromise.create({ provider: wsProvider, @@ -11,7 +11,7 @@ export const createApi = async (endpoint: string): Promise => { ...khalaDev, ...phalaSDKTypes, }, - }) + }); - return api -} + return api; +}; diff --git a/packages/example/lib/polkadotExtension.ts b/packages/example/lib/polkadotExtension.ts index 2217956..3a4026e 100644 --- a/packages/example/lib/polkadotExtension.ts +++ b/packages/example/lib/polkadotExtension.ts @@ -1,31 +1,31 @@ -import type {InjectedAccountWithMeta} from '@polkadot/extension-inject/types' -import {Signer} from '@polkadot/types/types' +import type { InjectedAccountWithMeta } from "@polkadot/extension-inject/types"; +import { Signer } from "@polkadot/types/types"; -let enablePolkadotExtensionCache: Promise +let enablePolkadotExtensionCache: Promise; export const enablePolkadotExtension = async (): Promise => { - if (enablePolkadotExtensionCache) return enablePolkadotExtensionCache + if (enablePolkadotExtensionCache) return enablePolkadotExtensionCache; enablePolkadotExtensionCache = (async () => { - const {web3Enable} = await import('@polkadot/extension-dapp') - const extensions = await web3Enable('Phala SDK Example') + const { web3Enable } = await import("@polkadot/extension-dapp"); + const extensions = await web3Enable("Phala SDK Example"); if (extensions.length === 0) { throw new Error( - 'No extension installed, or the user did not accept the authorization' - ) + "No extension installed, or the user did not accept the authorization" + ); } - })() + })(); - return enablePolkadotExtensionCache -} + return enablePolkadotExtensionCache; +}; export const getSigner = async ( account: InjectedAccountWithMeta ): Promise => { - await enablePolkadotExtension() - const {web3FromSource} = await import('@polkadot/extension-dapp') - const injector = await web3FromSource(account.meta.source) - const signer = injector.signer + await enablePolkadotExtension(); + const { web3FromSource } = await import("@polkadot/extension-dapp"); + const injector = await web3FromSource(account.meta.source); + const signer = injector.signer; - return signer -} + return signer; +}; diff --git a/packages/example/next.config.mjs b/packages/example/next.config.mjs index d54ff92..1222e3b 100644 --- a/packages/example/next.config.mjs +++ b/packages/example/next.config.mjs @@ -2,10 +2,10 @@ const nextConfig = { reactStrictMode: true, webpack: function (config) { - config.externals = config.externals || {} - config.externals['styletron-server'] = 'styletron-server' - return config + config.externals = config.externals || {}; + config.externals["styletron-server"] = "styletron-server"; + return config; }, -} +}; -export default nextConfig +export default nextConfig; diff --git a/packages/example/pages/_app.tsx b/packages/example/pages/_app.tsx index 3ecdbe1..8ffe075 100644 --- a/packages/example/pages/_app.tsx +++ b/packages/example/pages/_app.tsx @@ -1,11 +1,11 @@ -import '../styles/globals.css' -import type {AppProps} from 'next/app' -import {Provider as StyletronProvider} from 'styletron-react' -import {LightTheme, BaseProvider} from 'baseui' -import Layout from '../components/Layout' -import {styletron} from '../styletron' +import "../styles/globals.css"; +import type { AppProps } from "next/app"; +import { Provider as StyletronProvider } from "styletron-react"; +import { LightTheme, BaseProvider } from "baseui"; +import Layout from "../components/Layout"; +import { styletron } from "../styletron"; -function MyApp({Component, pageProps}: AppProps & {Component: Page}) { +function MyApp({ Component, pageProps }: AppProps & { Component: Page }) { return ( @@ -14,6 +14,6 @@ function MyApp({Component, pageProps}: AppProps & {Component: Page}) { - ) + ); } -export default MyApp +export default MyApp; diff --git a/packages/example/pages/_document.tsx b/packages/example/pages/_document.tsx index d325779..857c51a 100644 --- a/packages/example/pages/_document.tsx +++ b/packages/example/pages/_document.tsx @@ -4,13 +4,13 @@ import Document, { Html, Main, NextScript, -} from 'next/document' -import {Server} from 'styletron-engine-atomic' -import {Provider as StyletronProvider} from 'styletron-react' -import {styletron} from '../styletron' +} from "next/document"; +import { Server } from "styletron-engine-atomic"; +import { Provider as StyletronProvider } from "styletron-react"; +import { styletron } from "../styletron"; // https://github.com/vercel/next.js/blob/canary/examples/with-styletron/pages/_document.js -class MyDocument extends Document<{stylesheets: any[]}> { +class MyDocument extends Document<{ stylesheets: any[] }> { static async getInitialProps(ctx: DocumentContext) { const renderPage = () => ctx.renderPage({ @@ -21,13 +21,13 @@ class MyDocument extends Document<{stylesheets: any[]}> { ), - }) + }); const initialProps = await Document.getInitialProps({ ...ctx, renderPage, - }) - const stylesheets = (styletron as Server).getStylesheets() || [] - return {...initialProps, stylesheets} + }); + const stylesheets = (styletron as Server).getStylesheets() || []; + return { ...initialProps, stylesheets }; } render() { @@ -37,9 +37,9 @@ class MyDocument extends Document<{stylesheets: any[]}> { {this.props.stylesheets.map((sheet, i) => (