From 930178a732dd20080a3f66da7e5f2493cc64ff1c Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 31 Aug 2021 15:53:30 +0200 Subject: [PATCH 1/3] feat: strip workspace --- .actrc | 2 - .cargo/config.toml | 2 - .dockerignore | 35 - .github/ISSUE_TEMPLATE/backlog_item.md | 19 - .github/ISSUE_TEMPLATE/bug_issue.md | 100 - .github/ISSUE_TEMPLATE/config.yml | 2 - .github/ISSUE_TEMPLATE/general_issue.md | 20 - .github/PULL_REQUEST_TEMPLATE.md | 35 - .github/workflows/check-licence.yml | 28 - .gitignore | 32 +- .gitmodules | 3 - Cargo.lock | 12901 ---------------- Cargo.toml | 205 - HEADER-LICENSE | 2 - LICENSE | 165 - README.md | 95 - config.json | 67 - docker/launch.Dockerfile | 24 - docker/release.Dockerfile | 33 - docker/rococo.Dockerfile | 20 - docker/statemint.Dockerfile | 20 - js/.prettierrc | 17 - js/e2e/README.md | 10 - js/e2e/index.ts | 506 - js/e2e/package.json | 32 - js/e2e/src/config.ts | 45 - js/e2e/src/extrinsic.ts | 181 - js/e2e/src/index.ts | 9 - js/e2e/src/launch.ts | 66 - js/e2e/src/runner.ts | 263 - js/e2e/src/util.ts | 40 - js/e2e/tsconfig.json | 19 - js/e2e/tslint.json | 19 - js/e2e/yarn.lock | 815 - js/finalize/index.ts | 96 - js/finalize/package.json | 23 - js/finalize/tsconfig.json | 19 - js/package.json | 4 - js/pint-types-bundle/.gitignore | 3 - js/pint-types-bundle/LICENSE | 165 - js/pint-types-bundle/README.md | 12 - js/pint-types-bundle/chainlink.json | 67 - js/pint-types-bundle/index.ts | 161 - js/pint-types-bundle/package.json | 30 - js/pint-types-bundle/tsconfig.json | 14 - js/pint-types-bundle/yarn.lock | 434 - js/polkadot-launch | 1 - js/yarn.lock | 1025 -- node/Cargo.toml | 116 - node/build.rs | 9 - node/src/chain_spec/dev.rs | 167 - node/src/chain_spec/kusama.rs | 167 - node/src/chain_spec/mod.rs | 52 - node/src/chain_spec/polkadot.rs | 167 - node/src/cli.rs | 127 - node/src/client.rs | 452 - node/src/command.rs | 453 - node/src/lib.rs | 6 - node/src/main.rs | 17 - node/src/service.rs | 511 - primitives/derive/Cargo.toml | 16 - primitives/derive/README.md | 17 - primitives/derive/src/lib.rs | 17 - primitives/derive/src/xcm/mod.rs | 6 - primitives/derive/src/xcm/result.rs | 117 - resources/types.json | 161 - rpc/Cargo.toml | 31 - rpc/src/lib.rs | 95 - runtime/common/Cargo.toml | 57 - runtime/common/src/constants.rs | 172 - runtime/common/src/lib.rs | 9 - runtime/common/src/traits.rs | 9 - runtime/common/src/types.rs | 9 - runtime/common/src/weights/mod.rs | 98 - .../common/src/weights/pallet_asset_index.rs | 76 - .../src/weights/pallet_chainlink_feed.rs | 170 - .../common/src/weights/pallet_committee.rs | 54 - .../src/weights/pallet_local_treasury.rs | 39 - .../common/src/weights/pallet_price_feed.rs | 42 - .../weights/pallet_remote_asset_manager.rs | 37 - .../src/weights/pallet_saft_registry.rs | 56 - runtime/dev/Cargo.toml | 194 - runtime/dev/build.rs | 8 - runtime/dev/src/lib.rs | 902 -- runtime/kusama/Cargo.toml | 194 - runtime/kusama/build.rs | 8 - runtime/kusama/src/lib.rs | 900 -- runtime/polkadot/Cargo.toml | 194 - runtime/polkadot/build.rs | 8 - runtime/polkadot/src/lib.rs | 901 -- rustfmt.toml | 11 - scripts/header.txt | 2 - scripts/init.sh | 12 - templates/pallet-weight-template.hbs | 91 - templates/runtime-weight-template.hbs | 50 - test-utils/xcm-test-support/Cargo.lock | 8375 ---------- test-utils/xcm-test-support/Cargo.toml | 57 - test-utils/xcm-test-support/README.md | 13 - test-utils/xcm-test-support/src/lib.rs | 111 - test-utils/xcm-test-support/src/relay.rs | 428 - 100 files changed, 1 insertion(+), 33876 deletions(-) delete mode 100644 .actrc delete mode 100644 .cargo/config.toml delete mode 100644 .dockerignore delete mode 100644 .github/ISSUE_TEMPLATE/backlog_item.md delete mode 100644 .github/ISSUE_TEMPLATE/bug_issue.md delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/general_issue.md delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/check-licence.yml delete mode 100644 .gitmodules delete mode 100644 Cargo.lock delete mode 100644 Cargo.toml delete mode 100644 HEADER-LICENSE delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 config.json delete mode 100644 docker/launch.Dockerfile delete mode 100644 docker/release.Dockerfile delete mode 100644 docker/rococo.Dockerfile delete mode 100644 docker/statemint.Dockerfile delete mode 100644 js/.prettierrc delete mode 100644 js/e2e/README.md delete mode 100644 js/e2e/index.ts delete mode 100644 js/e2e/package.json delete mode 100644 js/e2e/src/config.ts delete mode 100644 js/e2e/src/extrinsic.ts delete mode 100644 js/e2e/src/index.ts delete mode 100644 js/e2e/src/launch.ts delete mode 100644 js/e2e/src/runner.ts delete mode 100644 js/e2e/src/util.ts delete mode 100644 js/e2e/tsconfig.json delete mode 100644 js/e2e/tslint.json delete mode 100644 js/e2e/yarn.lock delete mode 100644 js/finalize/index.ts delete mode 100644 js/finalize/package.json delete mode 100644 js/finalize/tsconfig.json delete mode 100644 js/package.json delete mode 100644 js/pint-types-bundle/.gitignore delete mode 100644 js/pint-types-bundle/LICENSE delete mode 100644 js/pint-types-bundle/README.md delete mode 100644 js/pint-types-bundle/chainlink.json delete mode 100644 js/pint-types-bundle/index.ts delete mode 100644 js/pint-types-bundle/package.json delete mode 100644 js/pint-types-bundle/tsconfig.json delete mode 100644 js/pint-types-bundle/yarn.lock delete mode 160000 js/polkadot-launch delete mode 100644 js/yarn.lock delete mode 100644 node/Cargo.toml delete mode 100644 node/build.rs delete mode 100644 node/src/chain_spec/dev.rs delete mode 100644 node/src/chain_spec/kusama.rs delete mode 100644 node/src/chain_spec/mod.rs delete mode 100644 node/src/chain_spec/polkadot.rs delete mode 100644 node/src/cli.rs delete mode 100644 node/src/client.rs delete mode 100644 node/src/command.rs delete mode 100644 node/src/lib.rs delete mode 100644 node/src/main.rs delete mode 100644 node/src/service.rs delete mode 100644 primitives/derive/Cargo.toml delete mode 100644 primitives/derive/README.md delete mode 100644 primitives/derive/src/lib.rs delete mode 100644 primitives/derive/src/xcm/mod.rs delete mode 100644 primitives/derive/src/xcm/result.rs delete mode 100644 resources/types.json delete mode 100644 rpc/Cargo.toml delete mode 100644 rpc/src/lib.rs delete mode 100644 runtime/common/Cargo.toml delete mode 100644 runtime/common/src/constants.rs delete mode 100644 runtime/common/src/lib.rs delete mode 100644 runtime/common/src/traits.rs delete mode 100644 runtime/common/src/types.rs delete mode 100644 runtime/common/src/weights/mod.rs delete mode 100644 runtime/common/src/weights/pallet_asset_index.rs delete mode 100644 runtime/common/src/weights/pallet_chainlink_feed.rs delete mode 100644 runtime/common/src/weights/pallet_committee.rs delete mode 100644 runtime/common/src/weights/pallet_local_treasury.rs delete mode 100644 runtime/common/src/weights/pallet_price_feed.rs delete mode 100644 runtime/common/src/weights/pallet_remote_asset_manager.rs delete mode 100644 runtime/common/src/weights/pallet_saft_registry.rs delete mode 100644 runtime/dev/Cargo.toml delete mode 100644 runtime/dev/build.rs delete mode 100644 runtime/dev/src/lib.rs delete mode 100644 runtime/kusama/Cargo.toml delete mode 100644 runtime/kusama/build.rs delete mode 100644 runtime/kusama/src/lib.rs delete mode 100644 runtime/polkadot/Cargo.toml delete mode 100644 runtime/polkadot/build.rs delete mode 100644 runtime/polkadot/src/lib.rs delete mode 100644 rustfmt.toml delete mode 100644 scripts/header.txt delete mode 100755 scripts/init.sh delete mode 100644 templates/pallet-weight-template.hbs delete mode 100644 templates/runtime-weight-template.hbs delete mode 100644 test-utils/xcm-test-support/Cargo.lock delete mode 100644 test-utils/xcm-test-support/Cargo.toml delete mode 100644 test-utils/xcm-test-support/README.md delete mode 100644 test-utils/xcm-test-support/src/lib.rs delete mode 100644 test-utils/xcm-test-support/src/relay.rs diff --git a/.actrc b/.actrc deleted file mode 100644 index 136e5890e9..0000000000 --- a/.actrc +++ /dev/null @@ -1,2 +0,0 @@ -# When using act to run github actions locally it must use a full image to be able to compile correctly --P ubuntu-20.04=nektos/act-environments-ubuntu:20.04 diff --git a/.cargo/config.toml b/.cargo/config.toml deleted file mode 100644 index c91c3f38b7..0000000000 --- a/.cargo/config.toml +++ /dev/null @@ -1,2 +0,0 @@ -[net] -git-fetch-with-cli = true diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index bd596a7f0f..0000000000 --- a/.dockerignore +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -**/target/ -# These are backup files generated by rustfmt -**/*.rs.bk - -# node deps for e2e -node_modules - -# The directory caches for osx -.DS_Store - -# typescript language server logs and logs -*.log - -# rococo specs -rococo* - -# The cache for docker container dependency -.cargo - -# The cache for chain data in container -.local - -# Binaries for launching PINT with polkadot -bin - -# Libraries of js output -js/**/*/lib - -# Unknown -local-test - -# docker -docker \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/backlog_item.md b/.github/ISSUE_TEMPLATE/backlog_item.md deleted file mode 100644 index 02e8ba4a35..0000000000 --- a/.github/ISSUE_TEMPLATE/backlog_item.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Backlog Item -about: Issue that has enough reasoning, research and information to be implemented -title: '' -labels: 'needs triage' -assignees: '' - ---- - - - -## Implementation details - - -## Testing details - - -## Acceptance Criteria - \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_issue.md b/.github/ISSUE_TEMPLATE/bug_issue.md deleted file mode 100644 index 699eb4ab57..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_issue.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: 'bug' -assignees: '' - ---- - -## Describe the bug - - -- - - -## Expected Behavior - - - -- - - -## Current Behavior - - - -- - - -## Possible Solution - - - -- - - -## To Reproduce -Steps to reproduce the behavior: - -1. -2. -3. - - -## Log output - -
- Log Output - - ```Paste log output here - paste log output... - ``` -
-
- -## Specification - - - -- rustc version: -- pint version: -- commit tag: -- commit hash: -- operating system: -- additional links: - - - \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 556b7bae30..0000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,2 +0,0 @@ - -blank_issues_enabled: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/general_issue.md b/.github/ISSUE_TEMPLATE/general_issue.md deleted file mode 100644 index 489f68f950..0000000000 --- a/.github/ISSUE_TEMPLATE/general_issue.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: General issue -about: General purpose issue template -title: '' -labels: 'needs triage' -assignees: '' - ---- - -## Issue summary - -- - - -## Other information and links - -- - - - \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 77f29a2af5..0000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,35 +0,0 @@ -## Changes - - - -- -- -- - -## Tests - - - -``` - -``` - -## Issues - - - -- \ No newline at end of file diff --git a/.github/workflows/check-licence.yml b/.github/workflows/check-licence.yml deleted file mode 100644 index 6503246387..0000000000 --- a/.github/workflows/check-licence.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Check Licence - -on: - pull_request: - branches: - - main - push: - branches: - - main - -jobs: - check-licence: - runs-on: ubuntu-18.04 - - steps: - - uses: actions/checkout@v2 - - name: Set up Golang - uses: actions/setup-go@v2 - with: - go-version: '^1.16' - - name: Install addlicense - run: | - export PATH=${PATH}:`go env GOPATH`/bin - go get -v -u github.com/google/addlicense - - name: Check license - run: | - export PATH=${PATH}:`go env GOPATH`/bin - addlicense -check -c "ChainSafe Systems" -f ./scripts/header.txt -y 2021 $(find $PWD -type f -name '*.rs') diff --git a/.gitignore b/.gitignore index f29dde7634..f4a07bc0b8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,2 @@ -# Generated by Cargo -# will have compiled files and executables **/target/ -# These are backup files generated by rustfmt -**/*.rs.bk - -# node deps for e2e -node_modules - -# The directory caches for osx -.DS_Store - -# typescript language server logs and logs -*.log - -# rococo specs -rococo* - -# The cache for docker container dependency -.cargo - -# The cache for chain data in container -.local - -# Binaries for launching PINT with polkadot -bin - -# Libraries of js output -js/**/*/lib - -# Unknown -local-test +**/*.rs.bk \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 4fdc6a499b..0000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "js/polkadot-launch"] - path = js/polkadot-launch - url = https://github.com/paritytech/polkadot-launch.git diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index ba4a5e9558..0000000000 --- a/Cargo.lock +++ /dev/null @@ -1,12901 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" -dependencies = [ - "gimli 0.24.0", -] - -[[package]] -name = "addr2line" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd" -dependencies = [ - "gimli 0.25.0", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aead" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "aes" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2bc6d3f370b5666245ff421e231cba4353df936e26986d2918e61a8fd6aef6" -dependencies = [ - "aes-soft", - "aesni", - "block-cipher", -] - -[[package]] -name = "aes-gcm" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0301c9e9c443494d970a07885e8cf3e587bae8356a1d5abd0999068413f7205f" -dependencies = [ - "aead", - "aes", - "block-cipher", - "ghash", - "subtle 2.4.1", -] - -[[package]] -name = "aes-soft" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6" -dependencies = [ - "block-cipher", - "byteorder", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aesni" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6fe808308bb07d393e2ea47780043ec47683fcf19cf5efc8ca51c50cc8c68a" -dependencies = [ - "block-cipher", - "opaque-debug 0.3.0", -] - -[[package]] -name = "ahash" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" -dependencies = [ - "getrandom 0.2.3", - "once_cell", - "version_check", -] - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "always-assert" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11" - -[[package]] -name = "ansi_term" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "anyhow" -version = "1.0.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf" - -[[package]] -name = "approx" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" -dependencies = [ - "num-traits", -] - -[[package]] -name = "arrayref" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" - -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "arrayvec" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" - -[[package]] -name = "asn1_der" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3" - -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "async-attributes" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" -dependencies = [ - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "async-channel" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-executor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "once_cell", - "slab", -] - -[[package]] -name = "async-global-executor" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6" -dependencies = [ - "async-channel", - "async-executor", - "async-io", - "async-mutex", - "blocking", - "futures-lite", - "num_cpus", - "once_cell", -] - -[[package]] -name = "async-io" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" -dependencies = [ - "concurrent-queue", - "futures-lite", - "libc", - "log", - "once_cell", - "parking", - "polling", - "slab", - "socket2 0.4.1", - "waker-fn", - "winapi 0.3.9", -] - -[[package]] -name = "async-lock" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-mutex" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-process" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b21b63ab5a0db0369deb913540af2892750e42d949faacc7a61495ac418a1692" -dependencies = [ - "async-io", - "blocking", - "cfg-if 1.0.0", - "event-listener", - "futures-lite", - "libc", - "once_cell", - "signal-hook", - "winapi 0.3.9", -] - -[[package]] -name = "async-std" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341" -dependencies = [ - "async-attributes", - "async-channel", - "async-global-executor", - "async-io", - "async-lock", - "async-process", - "crossbeam-utils 0.8.5", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "num_cpus", - "once_cell", - "pin-project-lite 0.2.7", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - -[[package]] -name = "async-std-resolver" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed4e2c3da14d8ad45acb1e3191db7a918e9505b6f155b218e70a7c9a1a48c638" -dependencies = [ - "async-std", - "async-trait", - "futures-io", - "futures-util", - "pin-utils", - "trust-dns-resolver", -] - -[[package]] -name = "async-task" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" - -[[package]] -name = "async-trait" -version = "0.1.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "asynchronous-codec" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6" -dependencies = [ - "bytes 1.0.1", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite 0.2.7", -] - -[[package]] -name = "asynchronous-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" -dependencies = [ - "bytes 1.0.1", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite 0.2.7", -] - -[[package]] -name = "atomic" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281" -dependencies = [ - "autocfg", -] - -[[package]] -name = "atomic-waker" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "autocfg" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "backtrace" -version = "0.3.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01" -dependencies = [ - "addr2line 0.16.0", - "cc", - "cfg-if 1.0.0", - "libc", - "miniz_oxide", - "object 0.26.1", - "rustc-demangle", -] - -[[package]] -name = "bae" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec107f431ee3d8a8e45e6dd117adab769556ef463959e77bf6a4888d5fd500cf" -dependencies = [ - "heck", - "proc-macro-error 0.4.12", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "base-x" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" - -[[package]] -name = "base58" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - -[[package]] -name = "base64" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" - -[[package]] -name = "beef" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed554bd50246729a1ec158d08aa3235d1b69d94ad120ebe187e28894787e736" -dependencies = [ - "serde", -] - -[[package]] -name = "beefy-gadget" -version = "0.1.0" -source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" -dependencies = [ - "beefy-primitives", - "fnv", - "futures 0.3.16", - "hex", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-client-api", - "sc-keystore", - "sc-network", - "sc-network-gossip", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-utils", - "substrate-prometheus-endpoint", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "beefy-gadget-rpc" -version = "0.1.0" -source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" -dependencies = [ - "beefy-gadget", - "beefy-primitives", - "futures 0.3.16", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "jsonrpc-pubsub", - "log", - "parity-scale-codec", - "sc-rpc", - "serde", - "serde_json", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "beefy-merkle-tree" -version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.9#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" - -[[package]] -name = "beefy-primitives" -version = "0.1.0" -source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bindgen" -version = "0.59.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453c49e5950bb0eb63bb3df640e31618846c89d5b7faa54040d76e98e0134375" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "proc-macro2 1.0.28", - "quote 1.0.9", - "regex", - "rustc-hash", - "shlex", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitvec" -version = "0.19.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" -dependencies = [ - "funty", - "radium 0.5.3", - "tap", - "wyz", -] - -[[package]] -name = "bitvec" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" -dependencies = [ - "funty", - "radium 0.6.2", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a5720225ef5daecf08657f23791354e1685a8c91a4c60c7f3d3b2892f978f4" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - -[[package]] -name = "blake2b_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq", -] - -[[package]] -name = "blake2s_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "cc", - "cfg-if 0.1.10", - "constant_time_eq", - "crypto-mac 0.8.0", - "digest 0.9.0", -] - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding 0.1.5", - "byte-tools", - "byteorder", - "generic-array 0.12.4", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "block-padding 0.2.1", - "generic-array 0.14.4", -] - -[[package]] -name = "block-cipher" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f337a3e6da609650eb74e02bc9fac7b735049f7623ab12f2e4c719316fcc7e80" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "blocking" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9" -dependencies = [ - "async-channel", - "async-task", - "atomic-waker", - "fastrand", - "futures-lite", - "once_cell", -] - -[[package]] -name = "bp-header-chain" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "finality-grandpa", - "frame-support", - "parity-scale-codec", - "serde", - "sp-core", - "sp-finality-grandpa", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "bp-message-dispatch" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-runtime", - "frame-support", - "parity-scale-codec", - "sp-std", -] - -[[package]] -name = "bp-messages" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "bp-runtime", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "serde", - "sp-std", -] - -[[package]] -name = "bp-polkadot-core" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-messages", - "bp-runtime", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-api", - "sp-core", - "sp-runtime", - "sp-std", - "sp-version", -] - -[[package]] -name = "bp-rialto" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-messages", - "bp-runtime", - "frame-support", - "frame-system", - "sp-api", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "bp-rococo" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-messages", - "bp-polkadot-core", - "bp-runtime", - "frame-support", - "parity-scale-codec", - "smallvec 1.6.1", - "sp-api", - "sp-runtime", - "sp-std", - "sp-version", -] - -[[package]] -name = "bp-runtime" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "frame-support", - "hash-db", - "num-traits", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", -] - -[[package]] -name = "bp-test-utils" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-header-chain", - "ed25519-dalek", - "finality-grandpa", - "parity-scale-codec", - "sp-application-crypto", - "sp-finality-grandpa", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "bp-wococo" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-messages", - "bp-polkadot-core", - "bp-rococo", - "bp-runtime", - "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "bridge-runtime-common" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-message-dispatch", - "bp-messages", - "bp-runtime", - "frame-support", - "hash-db", - "pallet-bridge-dispatch", - "pallet-bridge-grandpa", - "pallet-bridge-messages", - "pallet-transaction-payment", - "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", -] - -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - -[[package]] -name = "bstr" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" -dependencies = [ - "memchr", -] - -[[package]] -name = "build-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" -dependencies = [ - "semver 0.6.0", -] - -[[package]] -name = "bumpalo" -version = "3.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" - -[[package]] -name = "byte-slice-cast" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65c1bf4a04a88c54f589125563643d773f3254b5c38571395e2b591c693bbc81" - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "either", - "iovec", -] - -[[package]] -name = "bytes" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" - -[[package]] -name = "bytes" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" - -[[package]] -name = "cache-padded" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" - -[[package]] -name = "camino" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52d74260d9bf6944e2208aa46841b4b8f0d7ffc0849a06837b2f510337f86b2b" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081e3f0755c1f380c2d010481b6fa2e02973586d5f2b24eebb7a2a1d98b143d8" -dependencies = [ - "camino", - "cargo-platform", - "semver 0.11.0", - "semver-parser 0.10.2", - "serde", - "serde_json", -] - -[[package]] -name = "cc" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" -dependencies = [ - "jobserver", -] - -[[package]] -name = "cexpr" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db507a7679252d2276ed0dd8113c6875ec56d3089f9225b2b42c30cc1f8e5c89" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "chacha20" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244fbce0d47e97e8ef2f63b81d5e05882cb518c68531eb33194990d7b7e85845" -dependencies = [ - "stream-cipher", - "zeroize", -] - -[[package]] -name = "chacha20poly1305" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf18d374d66df0c05cdddd528a7db98f78c28e2519b120855c4f84c5027b1f5" -dependencies = [ - "aead", - "chacha20", - "poly1305", - "stream-cipher", - "zeroize", -] - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi 0.3.9", -] - -[[package]] -name = "cid" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff0e3bc0b6446b3f9663c1a6aba6ef06c5aeaa1bc92bd18077be337198ab9768" -dependencies = [ - "multibase", - "multihash", - "unsigned-varint 0.5.1", -] - -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "ckb-merkle-mountain-range" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f061f97d64fd1822664bdfb722f7ae5469a97b77567390f7442be5b5dc82a5b" -dependencies = [ - "cfg-if 0.1.10", -] - -[[package]] -name = "clang-sys" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "853eda514c284c2287f4bf20ae614f8781f40a81d32ecda6e91449304dfe077c" -dependencies = [ - "glob", - "libc", - "libloading 0.7.0", -] - -[[package]] -name = "clap" -version = "2.33.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" -dependencies = [ - "ansi_term 0.11.0", - "atty", - "bitflags", - "strsim", - "textwrap", - "unicode-width", - "vec_map", -] - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -dependencies = [ - "bitflags", -] - -[[package]] -name = "concurrent-queue" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" -dependencies = [ - "cache-padded", -] - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "core-foundation" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -dependencies = [ - "core-foundation-sys 0.7.0", - "libc", -] - -[[package]] -name = "core-foundation" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" -dependencies = [ - "core-foundation-sys 0.8.2", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" - -[[package]] -name = "core-foundation-sys" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" - -[[package]] -name = "cpp_demangle" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea47428dc9d2237f3c6bc134472edfd63ebba0af932e783506dcfd66f10d18a" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "cpufeatures" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" -dependencies = [ - "libc", -] - -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - -[[package]] -name = "cranelift-bforest" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ca3560686e7c9c7ed7e0fe77469f2410ba5d7781b1acaa9adc8d8deea28e3e" -dependencies = [ - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf9bf1ffffb6ce3d2e5ebc83549bd2436426c99b31cc550d521364cbe35d276" -dependencies = [ - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-entity", - "gimli 0.24.0", - "log", - "regalloc", - "serde", - "smallvec 1.6.1", - "target-lexicon", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cc21936a5a6d07e23849ffe83e5c1f6f50305c074f4b2970ca50c13bf55b821" -dependencies = [ - "cranelift-codegen-shared", - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca5b6ffaa87560bebe69a5446449da18090b126037920b0c1c6d5945f72faf6b" -dependencies = [ - "serde", -] - -[[package]] -name = "cranelift-entity" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d6b4a8bef04f82e4296782646f733c641d09497df2fabf791323fefaa44c64c" -dependencies = [ - "serde", -] - -[[package]] -name = "cranelift-frontend" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b783b351f966fce33e3c03498cb116d16d97a8f9978164a60920bd0d3a99c" -dependencies = [ - "cranelift-codegen", - "log", - "smallvec 1.6.1", - "target-lexicon", -] - -[[package]] -name = "cranelift-native" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77c88d3dd48021ff1e37e978a00098524abd3513444ae252c08d37b310b3d2a" -dependencies = [ - "cranelift-codegen", - "target-lexicon", -] - -[[package]] -name = "cranelift-wasm" -version = "0.74.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb6d408e2da77cdbbd65466298d44c86ae71c1785d2ab0d8657753cdb4d9d89" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "itertools 0.10.1", - "log", - "serde", - "smallvec 1.6.1", - "thiserror", - "wasmparser", -] - -[[package]] -name = "crc32fast" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" -dependencies = [ - "crossbeam-epoch 0.8.2", - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch 0.9.5", - "crossbeam-utils 0.8.5", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "lazy_static", - "maybe-uninit", - "memoffset 0.5.6", - "scopeguard", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", - "lazy_static", - "memoffset 0.6.4", - "scopeguard", -] - -[[package]] -name = "crossbeam-queue" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" -dependencies = [ - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" -dependencies = [ - "cfg-if 1.0.0", - "lazy_static", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -dependencies = [ - "generic-array 0.12.4", - "subtle 1.0.0", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array 0.14.4", - "subtle 2.4.1", -] - -[[package]] -name = "ct-logs" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c8e13110a84b6315df212c045be706af261fd364791cad863285439ebba672e" -dependencies = [ - "sct", -] - -[[package]] -name = "ctor" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d" -dependencies = [ - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "cuckoofilter" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b810a8449931679f64cd7eef1bbd0fa315801b6d5d9cdc1ace2804d6529eee18" -dependencies = [ - "byteorder", - "fnv", - "rand 0.7.3", -] - -[[package]] -name = "cumulus-client-cli" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "sc-cli", - "sc-service", - "structopt", -] - -[[package]] -name = "cumulus-client-collator" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-client-consensus-common", - "cumulus-client-network", - "cumulus-primitives-core", - "futures 0.3.16", - "parity-scale-codec", - "parking_lot 0.10.2", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-overseer", - "polkadot-primitives", - "sc-client-api", - "sp-api", - "sp-consensus", - "sp-core", - "sp-io", - "sp-runtime", - "tracing", -] - -[[package]] -name = "cumulus-client-consensus-aura" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "async-trait", - "cumulus-client-consensus-common", - "cumulus-primitives-core", - "futures 0.3.16", - "parity-scale-codec", - "parking_lot 0.10.2", - "polkadot-client", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-slots", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", - "tracing", -] - -[[package]] -name = "cumulus-client-consensus-common" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "async-trait", - "dyn-clone", - "futures 0.3.16", - "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime", - "sc-client-api", - "sc-consensus", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-trie", - "substrate-prometheus-endpoint", - "tracing", -] - -[[package]] -name = "cumulus-client-consensus-relay-chain" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "async-trait", - "cumulus-client-consensus-common", - "cumulus-primitives-core", - "futures 0.3.16", - "parity-scale-codec", - "parking_lot 0.10.2", - "polkadot-client", - "sc-client-api", - "sc-consensus", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", - "tracing", -] - -[[package]] -name = "cumulus-client-network" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "derive_more 0.99.16", - "futures 0.3.16", - "futures-timer 3.0.2", - "parity-scale-codec", - "parking_lot 0.10.2", - "polkadot-client", - "polkadot-node-primitives", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-statement-table", - "sc-client-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "tracing", -] - -[[package]] -name = "cumulus-client-pov-recovery" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "futures 0.3.16", - "futures-timer 3.0.2", - "parity-scale-codec", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-overseer", - "polkadot-primitives", - "rand 0.8.4", - "sc-client-api", - "sc-consensus", - "sp-api", - "sp-consensus", - "sp-core", - "sp-maybe-compressed-blob", - "sp-runtime", - "tracing", -] - -[[package]] -name = "cumulus-client-service" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-client-collator", - "cumulus-client-consensus-common", - "cumulus-client-pov-recovery", - "cumulus-primitives-core", - "parity-scale-codec", - "parking_lot 0.10.2", - "polkadot-overseer", - "polkadot-primitives", - "polkadot-service", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-consensus-babe", - "sc-service", - "sc-telemetry", - "sc-tracing", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "tracing", -] - -[[package]] -name = "cumulus-pallet-aura-ext" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "frame-executive", - "frame-support", - "frame-system", - "pallet-aura", - "parity-scale-codec", - "serde", - "sp-application-crypto", - "sp-consensus-aura", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "cumulus-pallet-dmp-queue" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.8.4", - "rand_chacha 0.3.1", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "cumulus-pallet-parachain-system" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-pallet-parachain-system-proc-macro", - "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", - "environmental", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "polkadot-parachain", - "serde", - "sp-core", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "sp-version", - "xcm", -] - -[[package]] -name = "cumulus-pallet-parachain-system-proc-macro" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "cumulus-pallet-xcm" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", -] - -[[package]] -name = "cumulus-pallet-xcmp-queue" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.8.4", - "rand_chacha 0.3.1", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "cumulus-primitives-core" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain", - "polkadot-primitives", - "sp-api", - "sp-runtime", - "sp-std", - "sp-trie", - "xcm", -] - -[[package]] -name = "cumulus-primitives-parachain-inherent" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "async-trait", - "cumulus-primitives-core", - "cumulus-test-relay-sproof-builder", - "parity-scale-codec", - "polkadot-client", - "sc-client-api", - "sp-api", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "tracing", -] - -[[package]] -name = "cumulus-primitives-timestamp" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "sp-inherents", - "sp-std", - "sp-timestamp", -] - -[[package]] -name = "cumulus-primitives-utility" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain", - "polkadot-primitives", - "sp-runtime", - "sp-std", - "sp-trie", - "xcm", -] - -[[package]] -name = "cumulus-test-relay-sproof-builder" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "parity-scale-codec", - "polkadot-primitives", - "sp-runtime", - "sp-state-machine", - "sp-std", -] - -[[package]] -name = "curve25519-dalek" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" -dependencies = [ - "byteorder", - "digest 0.8.1", - "rand_core 0.5.1", - "subtle 2.4.1", - "zeroize", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle 2.4.1", - "zeroize", -] - -[[package]] -name = "data-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" - -[[package]] -name = "data-encoding-macro" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" -dependencies = [ - "data-encoding", - "data-encoding-macro-internal", -] - -[[package]] -name = "data-encoding-macro-internal" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" -dependencies = [ - "data-encoding", - "syn 1.0.75", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "derive" -version = "0.0.1" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "derive_more" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a141330240c921ec6d074a3e188a7c7ef95668bb95e7d44fa0e5778ec2a7afe" -dependencies = [ - "lazy_static", - "proc-macro2 0.4.30", - "quote 0.6.13", - "regex", - "rustc_version 0.2.3", - "syn 0.15.44", -] - -[[package]] -name = "derive_more" -version = "0.99.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" -dependencies = [ - "convert_case", - "proc-macro2 1.0.28", - "quote 1.0.9", - "rustc_version 0.3.3", - "syn 1.0.75", -] - -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -dependencies = [ - "generic-array 0.12.4", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "directories" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "directories-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" -dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" -dependencies = [ - "libc", - "redox_users", - "winapi 0.3.9", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi 0.3.9", -] - -[[package]] -name = "dns-parser" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" -dependencies = [ - "byteorder", - "quick-error 1.2.3", -] - -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - -[[package]] -name = "dyn-clonable" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" -dependencies = [ - "dyn-clonable-impl", - "dyn-clone", -] - -[[package]] -name = "dyn-clonable-impl" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "dyn-clone" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf" - -[[package]] -name = "ed25519" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4620d40f6d2601794401d6dd95a5cf69b6c157852539470eeda433a99b3c0efc" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.5", - "zeroize", -] - -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - -[[package]] -name = "enum-as-inner" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" -dependencies = [ - "heck", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "enumflags2" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" -dependencies = [ - "enumflags2_derive", -] - -[[package]] -name = "enumflags2_derive" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "enumn" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e58b112d5099aa0857c5d05f0eacab86406dd8c0f85fe5d320a13256d29ecf4" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "env_logger" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" -dependencies = [ - "atty", - "humantime 1.3.0", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "env_logger" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" -dependencies = [ - "atty", - "humantime 2.1.0", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "environmental" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" - -[[package]] -name = "erased-serde" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de9ad4541d99dc22b59134e7ff8dc3d6c988c89ecd7324bf10a8362b07a2afa" -dependencies = [ - "serde", -] - -[[package]] -name = "errno" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa68f2fb9cae9d37c9b2b3584aba698a2e97f72d7aef7b9f7aa71d8b54ce46fe" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067" -dependencies = [ - "gcc", - "libc", -] - -[[package]] -name = "ethbloom" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-rlp", - "impl-serde", - "tiny-keccak", -] - -[[package]] -name = "ethereum-types" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd6bde671199089e601e8d47e153368b893ef885f11f365a3261ec58153c211" -dependencies = [ - "ethbloom", - "fixed-hash", - "impl-rlp", - "impl-serde", - "primitive-types", - "uint", -] - -[[package]] -name = "event-listener" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" - -[[package]] -name = "exit-future" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" -dependencies = [ - "futures 0.3.16", -] - -[[package]] -name = "failure" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "synstructure", -] - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fastrand" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e" -dependencies = [ - "instant", -] - -[[package]] -name = "fdlimit" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" -dependencies = [ - "libc", -] - -[[package]] -name = "file-per-thread-logger" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fdbe0d94371f9ce939b555dd342d0686cc4c0cadbcd4b61d70af5ff97eb4126" -dependencies = [ - "env_logger 0.7.1", - "log", -] - -[[package]] -name = "finality-grandpa" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c832d0ed507622c7cb98e9b7f10426850fc9d38527ab8071778dcc3a81d45875" -dependencies = [ - "either", - "futures 0.3.16", - "futures-timer 3.0.2", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.11.1", - "scale-info", -] - -[[package]] -name = "fixed-hash" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" -dependencies = [ - "byteorder", - "rand 0.8.4", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixedbitset" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" - -[[package]] -name = "flate2" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" -dependencies = [ - "cfg-if 1.0.0", - "crc32fast", - "libc", - "libz-sys", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "fork-tree" -version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "form_urlencoded" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" -dependencies = [ - "matches", - "percent-encoding 2.1.0", -] - -[[package]] -name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "linregress", - "log", - "parity-scale-codec", - "paste", - "sp-api", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-std", - "sp-storage", -] - -[[package]] -name = "frame-benchmarking-cli" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "Inflector", - "chrono", - "frame-benchmarking", - "frame-support", - "handlebars", - "linked-hash-map", - "log", - "parity-scale-codec", - "sc-cli", - "sc-client-db", - "sc-executor", - "sc-service", - "serde", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "structopt", -] - -[[package]] -name = "frame-election-provider-support" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-arithmetic", - "sp-npos-elections", - "sp-std", -] - -[[package]] -name = "frame-executive" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", -] - -[[package]] -name = "frame-metadata" -version = "14.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "serde", - "sp-core", - "sp-std", -] - -[[package]] -name = "frame-support" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "bitflags", - "frame-metadata", - "frame-support-procedural", - "impl-trait-for-tuples", - "log", - "once_cell", - "parity-scale-codec", - "paste", - "serde", - "smallvec 1.6.1", - "sp-arithmetic", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", -] - -[[package]] -name = "frame-support-procedural" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "Inflector", - "frame-support-procedural-tools", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "frame-support-procedural-tools" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support-procedural-tools-derive", - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "frame-support-procedural-tools-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-version", -] - -[[package]] -name = "frame-system-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "frame-system-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "sp-api", -] - -[[package]] -name = "frame-try-runtime" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "fs-err" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ebd3504ad6116843b8375ad70df74e7bfe83cac77a1f3fe73200c844d43bfe0" - -[[package]] -name = "fs-swap" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d47dad3685eceed8488986cad3d5027165ea5edb164331770e2059555f10a5" -dependencies = [ - "lazy_static", - "libc", - "libloading 0.5.2", - "winapi 0.3.9", -] - -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - -[[package]] -name = "futures" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" - -[[package]] -name = "futures" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99" - -[[package]] -name = "futures-cpupool" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -dependencies = [ - "futures 0.1.31", - "num_cpus", -] - -[[package]] -name = "futures-executor" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", - "num_cpus", -] - -[[package]] -name = "futures-io" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582" - -[[package]] -name = "futures-lite" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite 0.2.7", - "waker-fn", -] - -[[package]] -name = "futures-macro" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57" -dependencies = [ - "autocfg", - "proc-macro-hack", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "futures-rustls" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b" -dependencies = [ - "futures-io", - "rustls 0.19.1", - "webpki", -] - -[[package]] -name = "futures-sink" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53" - -[[package]] -name = "futures-task" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2" - -[[package]] -name = "futures-timer" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6" - -[[package]] -name = "futures-timer" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" - -[[package]] -name = "futures-util" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78" -dependencies = [ - "autocfg", - "futures 0.1.31", - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite 0.2.7", - "pin-utils", - "proc-macro-hack", - "proc-macro-nested", - "slab", -] - -[[package]] -name = "gcc" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" - -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - -[[package]] -name = "generic-array" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", -] - -[[package]] -name = "ghash" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" -dependencies = [ - "opaque-debug 0.3.0", - "polyval", -] - -[[package]] -name = "gimli" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" -dependencies = [ - "fallible-iterator", - "indexmap", - "stable_deref_trait", -] - -[[package]] -name = "gimli" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" - -[[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - -[[package]] -name = "globset" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" -dependencies = [ - "aho-corasick", - "bstr", - "fnv", - "log", - "regex", -] - -[[package]] -name = "gloo-timers" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "h2" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "fnv", - "futures 0.1.31", - "http 0.1.21", - "indexmap", - "log", - "slab", - "string", - "tokio-io", -] - -[[package]] -name = "h2" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" -dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.4", - "indexmap", - "slab", - "tokio 0.2.25", - "tokio-util", - "tracing", - "tracing-futures", -] - -[[package]] -name = "handlebars" -version = "3.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" -dependencies = [ - "log", - "pest", - "pest_derive", - "quick-error 2.0.1", - "serde", - "serde_json", -] - -[[package]] -name = "hash-db" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" - -[[package]] -name = "hash256-std-hasher" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" -dependencies = [ - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0" -dependencies = [ - "hex-literal-impl", - "proc-macro-hack", -] - -[[package]] -name = "hex-literal" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e4590e13640f19f249fe3e4eca5113bc4289f2497710378190e7f4bd96f45b" - -[[package]] -name = "hex-literal-impl" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "853f769599eb31de176303197b7ba4973299c38c7a7604a6bc88c3eef05b9b46" -dependencies = [ - "proc-macro-hack", -] - -[[package]] -name = "hex_fmt" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" - -[[package]] -name = "hmac" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" -dependencies = [ - "crypto-mac 0.7.0", - "digest 0.8.1", -] - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", -] - -[[package]] -name = "hmac-drbg" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" -dependencies = [ - "digest 0.8.1", - "generic-array 0.12.4", - "hmac 0.7.1", -] - -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array 0.14.4", - "hmac 0.8.1", -] - -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - -[[package]] -name = "http" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" -dependencies = [ - "bytes 0.4.12", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" -dependencies = [ - "bytes 1.0.1", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "http 0.1.21", - "tokio-buf", -] - -[[package]] -name = "http-body" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" -dependencies = [ - "bytes 0.5.6", - "http 0.2.4", -] - -[[package]] -name = "http-body" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" -dependencies = [ - "bytes 1.0.1", - "http 0.2.4", - "pin-project-lite 0.2.7", -] - -[[package]] -name = "httparse" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" - -[[package]] -name = "httpdate" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" - -[[package]] -name = "httpdate" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" - -[[package]] -name = "humantime" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -dependencies = [ - "quick-error 1.2.3", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.12.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "futures-cpupool", - "h2 0.1.26", - "http 0.1.21", - "http-body 0.1.0", - "httparse", - "iovec", - "itoa", - "log", - "net2", - "rustc_version 0.2.3", - "time", - "tokio 0.1.22", - "tokio-buf", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer", - "want 0.2.0", -] - -[[package]] -name = "hyper" -version = "0.13.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb" -dependencies = [ - "bytes 0.5.6", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.2.7", - "http 0.2.4", - "http-body 0.3.1", - "httparse", - "httpdate 0.3.2", - "itoa", - "pin-project 1.0.8", - "socket2 0.3.19", - "tokio 0.2.25", - "tower-service", - "tracing", - "want 0.3.0", -] - -[[package]] -name = "hyper" -version = "0.14.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b61cf2d1aebcf6e6352c97b81dc2244ca29194be1b276f5d8ad5c6330fffb11" -dependencies = [ - "bytes 1.0.1", - "futures-channel", - "futures-core", - "futures-util", - "http 0.2.4", - "http-body 0.4.3", - "httparse", - "httpdate 1.0.1", - "itoa", - "pin-project-lite 0.2.7", - "tokio 1.10.0", - "tower-service", - "tracing", - "want 0.3.0", -] - -[[package]] -name = "hyper-rustls" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6" -dependencies = [ - "bytes 0.5.6", - "ct-logs", - "futures-util", - "hyper 0.13.10", - "log", - "rustls 0.18.1", - "rustls-native-certs 0.4.0", - "tokio 0.2.25", - "tokio-rustls 0.14.1", - "webpki", -] - -[[package]] -name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "idna" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "if-addrs" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48" -dependencies = [ - "if-addrs-sys", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "if-addrs-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "if-watch" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179" -dependencies = [ - "async-io", - "futures 0.3.16", - "futures-lite", - "if-addrs", - "ipnet", - "libc", - "log", - "winapi 0.3.9", -] - -[[package]] -name = "impl-codec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp", -] - -[[package]] -name = "impl-serde" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b47ca4d2b6931707a55fce5cf66aff80e2178c8b63bbb4ecb5695cbc870ddf6f" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "indexmap" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" -dependencies = [ - "autocfg", - "hashbrown", - "serde", -] - -[[package]] -name = "instant" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "integer-encoding" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48dc51180a9b377fd75814d0cc02199c20f8e99433d6762f650d39cdbbd3b56f" - -[[package]] -name = "integer-sqrt" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" -dependencies = [ - "num-traits", -] - -[[package]] -name = "intervalier" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275" -dependencies = [ - "futures 0.3.16", - "futures-timer 2.0.2", -] - -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - -[[package]] -name = "ip_network" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f" - -[[package]] -name = "ipconfig" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" -dependencies = [ - "socket2 0.3.19", - "widestring", - "winapi 0.3.9", - "winreg", -] - -[[package]] -name = "ipnet" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" - -[[package]] -name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "jobserver" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4bf49d50e2961077d9c99f4b7997d770a1114f087c3c2e0069b36c13fc2979d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "jsonrpc-client-transports" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489b9c612e60c766f751ab40fcb43cbb55a1e10bb44a9b4307ed510ca598cbd7" -dependencies = [ - "failure", - "futures 0.1.31", - "jsonrpc-core", - "jsonrpc-pubsub", - "log", - "serde", - "serde_json", - "url 1.7.2", -] - -[[package]] -name = "jsonrpc-core" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0745a6379e3edc893c84ec203589790774e4247420033e71a76d3ab4687991fa" -dependencies = [ - "futures 0.1.31", - "log", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "jsonrpc-core-client" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f764902d7b891344a0acb65625f32f6f7c6db006952143bd650209fbe7d94db" -dependencies = [ - "jsonrpc-client-transports", -] - -[[package]] -name = "jsonrpc-derive" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99a847f9ec7bb52149b2786a17c9cb260d6effc6b8eeb8c16b343a487a7563a3" -dependencies = [ - "proc-macro-crate 0.1.5", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "jsonrpc-http-server" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7" -dependencies = [ - "hyper 0.12.36", - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "net2", - "parking_lot 0.10.2", - "unicase", -] - -[[package]] -name = "jsonrpc-ipc-server" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf50e53e4eea8f421a7316c5f63e395f7bc7c4e786a6dc54d76fab6ff7aa7ce7" -dependencies = [ - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "parity-tokio-ipc", - "parking_lot 0.10.2", - "tokio-service", -] - -[[package]] -name = "jsonrpc-pubsub" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639558e0604013be9787ae52f798506ae42bf4220fe587bdc5625871cc8b9c77" -dependencies = [ - "jsonrpc-core", - "log", - "parking_lot 0.10.2", - "rand 0.7.3", - "serde", -] - -[[package]] -name = "jsonrpc-server-utils" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f1f3990650c033bd8f6bd46deac76d990f9bbfb5f8dc8c4767bf0a00392176" -dependencies = [ - "bytes 0.4.12", - "globset", - "jsonrpc-core", - "lazy_static", - "log", - "tokio 0.1.22", - "tokio-codec", - "unicase", -] - -[[package]] -name = "jsonrpc-ws-server" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6596fe75209b73a2a75ebe1dce4e60e03b88a2b25e8807b667597f6315150d22" -dependencies = [ - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "parity-ws", - "parking_lot 0.10.2", - "slab", -] - -[[package]] -name = "jsonrpsee-proc-macros" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37924e16300e249a52a22cabb5632f846dc9760b39355f5e8bc70cd23dc6300" -dependencies = [ - "Inflector", - "bae", - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "jsonrpsee-types" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d67724d368c59e08b557a516cf8fcc51100e7a708850f502e1044b151fe89788" -dependencies = [ - "async-trait", - "beef", - "futures-channel", - "futures-util", - "hyper 0.14.11", - "log", - "serde", - "serde_json", - "soketto 0.6.0", - "thiserror", -] - -[[package]] -name = "jsonrpsee-ws-client" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2834b6e7f57ce9a4412ed4d6dc95125d2c8612e68f86b9d9a07369164e4198" -dependencies = [ - "async-trait", - "fnv", - "futures 0.3.16", - "jsonrpsee-types", - "log", - "pin-project 1.0.8", - "rustls 0.19.1", - "rustls-native-certs 0.5.0", - "serde", - "serde_json", - "soketto 0.6.0", - "thiserror", - "tokio 0.2.25", - "tokio-rustls 0.15.0", - "tokio-util", - "url 2.2.2", -] - -[[package]] -name = "keccak" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - -[[package]] -name = "kusama-runtime" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "beefy-primitives", - "bitvec 0.20.4", - "frame-benchmarking", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal 0.3.3", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-bounties", - "pallet-collective", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-elections-phragmen", - "pallet-gilt", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-mmr-primitives", - "pallet-multisig", - "pallet-nicks", - "pallet-offences", - "pallet-offences-benchmarking", - "pallet-proxy", - "pallet-recovery", - "pallet-scheduler", - "pallet-session", - "pallet-session-benchmarking", - "pallet-society", - "pallet-staking", - "pallet-staking-reward-fn", - "pallet-timestamp", - "pallet-tips", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", - "pallet-utility", - "pallet-vesting", - "pallet-xcm", - "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime-common", - "polkadot-runtime-parachains", - "rustc-hex", - "serde", - "serde_derive", - "smallvec 1.6.1", - "sp-api", - "sp-arithmetic", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-core", - "sp-inherents", - "sp-io", - "sp-npos-elections", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", - "static_assertions", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-executor", -] - -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - -[[package]] -name = "kvdb" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a3f58dc069ec0e205a27f5b45920722a46faed802a0541538241af6228f512" -dependencies = [ - "parity-util-mem", - "smallvec 1.6.1", -] - -[[package]] -name = "kvdb-memorydb" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3b6b85fc643f5acd0bffb2cc8a6d150209379267af0d41db72170021841f9f5" -dependencies = [ - "kvdb", - "parity-util-mem", - "parking_lot 0.11.1", -] - -[[package]] -name = "kvdb-rocksdb" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d169dbb316aa0fa185d02d847c047f1aa20e292cf1563d790c13536a2a732c8" -dependencies = [ - "fs-swap", - "kvdb", - "log", - "num_cpus", - "owning_ref", - "parity-util-mem", - "parking_lot 0.11.1", - "regex", - "rocksdb", - "smallvec 1.6.1", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1fa8cddc8fbbee11227ef194b5317ed014b8acbf15139bd716a18ad3fe99ec5" - -[[package]] -name = "libloading" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" -dependencies = [ - "cc", - "winapi 0.3.9", -] - -[[package]] -name = "libloading" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a" -dependencies = [ - "cfg-if 1.0.0", - "winapi 0.3.9", -] - -[[package]] -name = "libm" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" - -[[package]] -name = "libp2p" -version = "0.37.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b" -dependencies = [ - "atomic", - "bytes 1.0.1", - "futures 0.3.16", - "lazy_static", - "libp2p-core", - "libp2p-deflate", - "libp2p-dns", - "libp2p-floodsub", - "libp2p-gossipsub", - "libp2p-identify", - "libp2p-kad", - "libp2p-mdns", - "libp2p-mplex", - "libp2p-noise", - "libp2p-ping", - "libp2p-plaintext", - "libp2p-pnet", - "libp2p-relay", - "libp2p-request-response", - "libp2p-swarm", - "libp2p-swarm-derive", - "libp2p-tcp", - "libp2p-uds", - "libp2p-wasm-ext", - "libp2p-websocket", - "libp2p-yamux", - "parity-multiaddr", - "parking_lot 0.11.1", - "pin-project 1.0.8", - "smallvec 1.6.1", - "wasm-timer", -] - -[[package]] -name = "libp2p-core" -version = "0.28.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "554d3e7e9e65f939d66b75fd6a4c67f258fe250da61b91f46c545fc4a89b51d9" -dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "either", - "fnv", - "futures 0.3.16", - "futures-timer 3.0.2", - "lazy_static", - "libsecp256k1 0.3.5", - "log", - "multihash", - "multistream-select", - "parity-multiaddr", - "parking_lot 0.11.1", - "pin-project 1.0.8", - "prost", - "prost-build", - "rand 0.7.3", - "ring", - "rw-stream-sink", - "sha2 0.9.5", - "smallvec 1.6.1", - "thiserror", - "unsigned-varint 0.7.0", - "void", - "zeroize", -] - -[[package]] -name = "libp2p-deflate" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08" -dependencies = [ - "flate2", - "futures 0.3.16", - "libp2p-core", -] - -[[package]] -name = "libp2p-dns" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b" -dependencies = [ - "async-std-resolver", - "futures 0.3.16", - "libp2p-core", - "log", - "smallvec 1.6.1", - "trust-dns-resolver", -] - -[[package]] -name = "libp2p-floodsub" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48a9b570f6766301d9c4aa00fce3554cad1598e2f466debbc4dde909028417cf" -dependencies = [ - "cuckoofilter", - "fnv", - "futures 0.3.16", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "smallvec 1.6.1", -] - -[[package]] -name = "libp2p-gossipsub" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7b0c8506a6ec3344b9e706d7c7a6dba826f8ede735cfe13dde12a8c263c4af9" -dependencies = [ - "asynchronous-codec 0.6.0", - "base64 0.13.0", - "byteorder", - "bytes 1.0.1", - "fnv", - "futures 0.3.16", - "hex_fmt", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "regex", - "sha2 0.9.5", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", - "wasm-timer", -] - -[[package]] -name = "libp2p-identify" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46" -dependencies = [ - "futures 0.3.16", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "smallvec 1.6.1", - "wasm-timer", -] - -[[package]] -name = "libp2p-kad" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07312ebe5ee4fd2404447a0609814574df55c65d4e20838b957bbd34907d820" -dependencies = [ - "arrayvec 0.5.2", - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "either", - "fnv", - "futures 0.3.16", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "sha2 0.9.5", - "smallvec 1.6.1", - "uint", - "unsigned-varint 0.7.0", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-mdns" -version = "0.30.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4efa70c1c3d2d91237f8546e27aeb85e287d62c066a7b4f3ea6a696d43ced714" -dependencies = [ - "async-io", - "data-encoding", - "dns-parser", - "futures 0.3.16", - "if-watch", - "lazy_static", - "libp2p-core", - "libp2p-swarm", - "log", - "rand 0.8.4", - "smallvec 1.6.1", - "socket2 0.4.1", - "void", -] - -[[package]] -name = "libp2p-mplex" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.16", - "libp2p-core", - "log", - "nohash-hasher", - "parking_lot 0.11.1", - "rand 0.7.3", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", -] - -[[package]] -name = "libp2p-noise" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd" -dependencies = [ - "bytes 1.0.1", - "curve25519-dalek 3.2.0", - "futures 0.3.16", - "lazy_static", - "libp2p-core", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "sha2 0.9.5", - "snow", - "static_assertions", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "libp2p-ping" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1" -dependencies = [ - "futures 0.3.16", - "libp2p-core", - "libp2p-swarm", - "log", - "rand 0.7.3", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-plaintext" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.16", - "libp2p-core", - "log", - "prost", - "prost-build", - "unsigned-varint 0.7.0", - "void", -] - -[[package]] -name = "libp2p-pnet" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599" -dependencies = [ - "futures 0.3.16", - "log", - "pin-project 1.0.8", - "rand 0.7.3", - "salsa20", - "sha3", -] - -[[package]] -name = "libp2p-relay" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8786aca3f18671d8776289706a5521f6c9124a820f69e358de214b9939440d" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.16", - "futures-timer 3.0.2", - "libp2p-core", - "libp2p-swarm", - "log", - "pin-project 1.0.8", - "prost", - "prost-build", - "rand 0.7.3", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-request-response" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cdbe172f08e6d0f95fa8634e273d4c4268c4063de2e33e7435194b0130c62e3" -dependencies = [ - "async-trait", - "bytes 1.0.1", - "futures 0.3.16", - "libp2p-core", - "libp2p-swarm", - "log", - "lru", - "minicbor", - "rand 0.7.3", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", - "wasm-timer", -] - -[[package]] -name = "libp2p-swarm" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92" -dependencies = [ - "either", - "futures 0.3.16", - "libp2p-core", - "log", - "rand 0.7.3", - "smallvec 1.6.1", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-swarm-derive" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed" -dependencies = [ - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "libp2p-tcp" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9" -dependencies = [ - "async-io", - "futures 0.3.16", - "futures-timer 3.0.2", - "if-watch", - "ipnet", - "libc", - "libp2p-core", - "log", - "socket2 0.4.1", -] - -[[package]] -name = "libp2p-uds" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5" -dependencies = [ - "async-std", - "futures 0.3.16", - "libp2p-core", - "log", -] - -[[package]] -name = "libp2p-wasm-ext" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d413e4cf9b8e5dfbcd2a60d3dc5a3391308bdb463684093d4f67137b7113de" -dependencies = [ - "futures 0.3.16", - "js-sys", - "libp2p-core", - "parity-send-wrapper", - "wasm-bindgen", - "wasm-bindgen-futures", -] - -[[package]] -name = "libp2p-websocket" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74" -dependencies = [ - "either", - "futures 0.3.16", - "futures-rustls", - "libp2p-core", - "log", - "quicksink", - "rw-stream-sink", - "soketto 0.4.2", - "url 2.2.2", - "webpki-roots", -] - -[[package]] -name = "libp2p-yamux" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4" -dependencies = [ - "futures 0.3.16", - "libp2p-core", - "parking_lot 0.11.1", - "thiserror", - "yamux", -] - -[[package]] -name = "librocksdb-sys" -version = "6.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c309a9d2470844aceb9a4a098cf5286154d20596868b75a6b36357d2bb9ca25d" -dependencies = [ - "bindgen", - "cc", - "glob", - "libc", -] - -[[package]] -name = "libsecp256k1" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" -dependencies = [ - "arrayref", - "crunchy", - "digest 0.8.1", - "hmac-drbg 0.2.0", - "rand 0.7.3", - "sha2 0.8.2", - "subtle 2.4.1", - "typenum", -] - -[[package]] -name = "libsecp256k1" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" -dependencies = [ - "arrayref", - "base64 0.12.3", - "digest 0.9.0", - "hmac-drbg 0.3.0", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.7.3", - "serde", - "sha2 0.9.5", - "typenum", -] - -[[package]] -name = "libsecp256k1-core" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle 2.4.1", -] - -[[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libz-sys" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" - -[[package]] -name = "linked_hash_set" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "linregress" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6e407dadb4ca4b31bc69c27aff00e7ca4534fdcee855159b039a7cebb5f395" -dependencies = [ - "nalgebra", - "statrs", -] - -[[package]] -name = "lock_api" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "lock_api" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -dependencies = [ - "cfg-if 1.0.0", - "value-bag", -] - -[[package]] -name = "lru" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" -dependencies = [ - "hashbrown", -] - -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - -[[package]] -name = "matchers" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" -dependencies = [ - "regex-automata", -] - -[[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - -[[package]] -name = "matrixmultiply" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741" -dependencies = [ - "rawpointer", -] - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - -[[package]] -name = "memchr" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" - -[[package]] -name = "memmap2" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memory-db" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de006e09d04fc301a5f7e817b75aa49801c4479a8af753764416b085337ddcc5" -dependencies = [ - "hash-db", - "hashbrown", - "parity-util-mem", -] - -[[package]] -name = "memory-lru" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beeb98b3d1ed2c0054bd81b5ba949a0243c3ccad751d45ea898fa8059fa2860a" -dependencies = [ - "lru", -] - -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - -[[package]] -name = "merlin" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.5.1", - "zeroize", -] - -[[package]] -name = "metered-channel" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "derive_more 0.99.16", - "futures 0.3.16", - "futures-timer 3.0.2", -] - -[[package]] -name = "mick-jaeger" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c023c3f16109e7f33aa451f773fd61070e265b4977d0b6e344a51049296dd7df" -dependencies = [ - "futures 0.3.16", - "rand 0.7.3", - "thrift", -] - -[[package]] -name = "minicbor" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51aa5bb0ca22415daca596a227b507f880ad1b2318a87fa9325312a5d285ca0d" -dependencies = [ - "minicbor-derive", -] - -[[package]] -name = "minicbor-derive" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54999f917cd092b13904737e26631aa2b2b88d625db68e4bab461dcd8006c788" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "miniz_oxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg", -] - -[[package]] -name = "mio" -version = "0.6.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" -dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", - "libc", - "log", - "miow 0.2.2", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "mio-extras" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio", - "slab", -] - -[[package]] -name = "mio-named-pipes" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" -dependencies = [ - "log", - "mio", - "miow 0.3.7", - "winapi 0.3.9", -] - -[[package]] -name = "mio-uds" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" -dependencies = [ - "iovec", - "libc", - "mio", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "more-asserts" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" - -[[package]] -name = "multibase" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b78c60039650ff12e140ae867ef5299a58e19dded4d334c849dc7177083667e2" -dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", -] - -[[package]] -name = "multihash" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab" -dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", - "digest 0.9.0", - "generic-array 0.14.4", - "multihash-derive", - "sha2 0.9.5", - "sha3", - "unsigned-varint 0.5.1", -] - -[[package]] -name = "multihash-derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro-error 1.0.4", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "synstructure", -] - -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - -[[package]] -name = "multistream-select" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8" -dependencies = [ - "bytes 1.0.1", - "futures 0.3.16", - "log", - "pin-project 1.0.8", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", -] - -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" -dependencies = [ - "approx", - "matrixmultiply", - "nalgebra-macros", - "num-complex", - "num-rational 0.4.0", - "num-traits", - "rand 0.8.4", - "rand_distr", - "simba", - "typenum", -] - -[[package]] -name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "names" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da" -dependencies = [ - "rand 0.3.23", -] - -[[package]] -name = "net2" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "nom" -version = "6.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2" -dependencies = [ - "bitvec 0.19.5", - "funty", - "memchr", - "version_check", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170" -dependencies = [ - "crc32fast", - "indexmap", -] - -[[package]] -name = "object" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2766204889d09937d00bfbb7fec56bb2a199e2ade963cab19185d8a6104c7c" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" -dependencies = [ - "parking_lot 0.11.1", -] - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "openssl-probe" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" - -[[package]] -name = "ordered-float" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7" -dependencies = [ - "num-traits", -] - -[[package]] -name = "orml-currencies" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" -dependencies = [ - "frame-support", - "frame-system", - "orml-traits", - "orml-utilities", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "orml-tokens" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" -dependencies = [ - "frame-support", - "frame-system", - "orml-traits", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "orml-traits" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "num-traits", - "orml-utilities", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", -] - -[[package]] -name = "orml-unknown-tokens" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=master#5babe0b71cf60538ca23d41231f9558816c52ae9" -dependencies = [ - "frame-support", - "frame-system", - "orml-xcm-support", - "parity-scale-codec", - "serde", - "sp-std", - "xcm", -] - -[[package]] -name = "orml-utilities" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" -dependencies = [ - "frame-support", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "orml-xcm-support" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" -dependencies = [ - "frame-support", - "orml-traits", - "parity-scale-codec", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "orml-xtokens" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "orml-traits", - "orml-xcm-support", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "owning_ref" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" -dependencies = [ - "stable_deref_trait", -] - -[[package]] -name = "pallet-asset-index" -version = "0.0.1" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "orml-tokens", - "orml-traits", - "pallet-balances", - "pallet-chainlink-feed", - "pallet-price-feed", - "pallet-saft-registry", - "parity-scale-codec", - "polkadot-parachain", - "primitives", - "rand 0.8.4", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "pallet-asset-index-rpc" -version = "0.0.1" -dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-asset-index-rpc-runtime-api", - "parity-scale-codec", - "primitives", - "serde", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-runtime", -] - -[[package]] -name = "pallet-asset-index-rpc-runtime-api" -version = "0.0.1" -dependencies = [ - "parity-scale-codec", - "primitives", - "serde", - "sp-api", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-assets" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-aura" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "pallet-session", - "pallet-timestamp", - "parity-scale-codec", - "sp-application-crypto", - "sp-consensus-aura", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-authority-discovery" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "pallet-session", - "parity-scale-codec", - "sp-application-crypto", - "sp-authority-discovery", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-authorship 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-babe" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "pallet-timestamp", - "parity-scale-codec", - "sp-application-crypto", - "sp-consensus-babe", - "sp-consensus-vrf", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-beefy" -version = "0.1.0" -source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" -dependencies = [ - "beefy-primitives", - "frame-support", - "frame-system", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-beefy-mmr" -version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.9#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" -dependencies = [ - "beefy-merkle-tree", - "beefy-primitives", - "frame-support", - "frame-system", - "hex", - "libsecp256k1 0.6.0", - "log", - "pallet-beefy", - "pallet-mmr", - "pallet-mmr-primitives", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-bounties" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-treasury", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-bridge-dispatch" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-message-dispatch", - "bp-runtime", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-bridge-grandpa" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bp-header-chain", - "bp-runtime", - "bp-test-utils", - "finality-grandpa", - "frame-support", - "frame-system", - "log", - "num-traits", - "parity-scale-codec", - "serde", - "sp-finality-grandpa", - "sp-runtime", - "sp-std", - "sp-trie", -] - -[[package]] -name = "pallet-bridge-messages" -version = "0.1.0" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "bp-message-dispatch", - "bp-messages", - "bp-rialto", - "bp-runtime", - "frame-support", - "frame-system", - "log", - "num-traits", - "parity-scale-codec", - "serde", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-chainlink-feed" -version = "0.1.0" -source = "git+https://github.com/smartcontractkit/chainlink-polkadot?branch=polkadot-v0.9.8#124646ec14d25b9c6b5b3100c5422ebb53c804a0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-arithmetic", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-collator-selection" -version = "3.0.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-collective" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-committee" -version = "0.0.1" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", -] - -[[package]] -name = "pallet-democracy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-election-provider-multi-phase" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.7.3", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-npos-elections", - "sp-runtime", - "sp-std", - "static_assertions", -] - -[[package]] -name = "pallet-elections-phragmen" -version = "5.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-npos-elections", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-gilt" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-arithmetic", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "sp-application-crypto", - "sp-core", - "sp-finality-grandpa", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-identity" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-im-online" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "parity-scale-codec", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-indices" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-keyring 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-local-treasury" -version = "0.0.1" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-membership" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-mmr" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "ckb-merkle-mountain-range", - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-mmr-primitives", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-mmr-primitives" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "serde", - "sp-api", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-mmr-rpc" -version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-mmr-primitives", - "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", -] - -[[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-nicks" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-offences" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-offences-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-babe", - "pallet-balances", - "pallet-grandpa", - "pallet-im-online", - "pallet-offences", - "pallet-session", - "pallet-staking", - "parity-scale-codec", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-price-feed" -version = "0.0.1" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-balances", - "pallet-chainlink-feed", - "pallet-timestamp", - "parity-scale-codec", - "primitives", - "serde", - "sp-core", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-proxy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-randomness-collective-flip" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "safe-mix", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-recovery" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "enumflags2", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-remote-asset-manager" -version = "0.0.1" -dependencies = [ - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "orml-currencies", - "orml-tokens", - "orml-traits", - "orml-unknown-tokens", - "orml-xcm-support", - "orml-xtokens", - "pallet-asset-index", - "pallet-assets", - "pallet-balances", - "pallet-collective", - "pallet-price-feed", - "pallet-proxy", - "pallet-saft-registry", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "polkadot-parachain", - "polkadot-runtime-parachains", - "primitives", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", - "xcm", - "xcm-builder", - "xcm-calls", - "xcm-executor", - "xcm-simulator", -] - -[[package]] -name = "pallet-saft-registry" -version = "0.0.1" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "orml-tokens", - "orml-traits", - "pallet-asset-index", - "pallet-balances", - "pallet-price-feed", - "pallet-remote-asset-manager", - "parity-scale-codec", - "primitives", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "xcm", -] - -[[package]] -name = "pallet-scheduler" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-session" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-trie", -] - -[[package]] -name = "pallet-session-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-session", - "pallet-staking", - "rand 0.7.3", - "sp-runtime", - "sp-session", - "sp-std", -] - -[[package]] -name = "pallet-society" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "rand_chacha 0.2.2", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-staking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "paste", - "rand_chacha 0.2.2", - "serde", - "sp-application-crypto", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", - "static_assertions", -] - -[[package]] -name = "pallet-staking-reward-curve" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "pallet-staking-reward-fn" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "log", - "sp-arithmetic", -] - -[[package]] -name = "pallet-sudo" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-std", - "sp-timestamp", -] - -[[package]] -name = "pallet-tips" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-treasury", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "smallvec 1.6.1", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-transaction-payment-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", -] - -[[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "pallet-transaction-payment", - "parity-scale-codec", - "sp-api", - "sp-runtime", -] - -[[package]] -name = "pallet-treasury" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-utility" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-vesting" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-xcm" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "parachain-info" -version = "0.1.0" -source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", -] - -[[package]] -name = "parity-db" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e337f62db341435f0da05b8f6b97e984ef4ea5800510cd07c2d624688c40b47" -dependencies = [ - "blake2-rfc", - "crc32fast", - "fs2", - "hex", - "libc", - "log", - "memmap2", - "parking_lot 0.11.1", - "rand 0.8.4", -] - -[[package]] -name = "parity-multiaddr" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4" -dependencies = [ - "arrayref", - "bs58", - "byteorder", - "data-encoding", - "multihash", - "percent-encoding 2.1.0", - "serde", - "static_assertions", - "unsigned-varint 0.7.0", - "url 2.2.2", -] - -[[package]] -name = "parity-scale-codec" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8975095a2a03bbbdc70a74ab11a4f76a6d0b84680d87c68d722531b0ac28e8a9" -dependencies = [ - "arrayvec 0.7.1", - "bitvec 0.20.4", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40dbbfef7f0a1143c5b06e0d76a6278e25dac0bc1af4be51a0fbb73f07e7ad09" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" - -[[package]] -name = "parity-tokio-ipc" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "libc", - "log", - "mio-named-pipes", - "miow 0.3.7", - "rand 0.7.3", - "tokio 0.1.22", - "tokio-named-pipes", - "tokio-uds", - "winapi 0.3.9", -] - -[[package]] -name = "parity-util-mem" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ad6f1acec69b95caf435bbd158d486e5a0a44fcf51531e84922c59ff09e8457" -dependencies = [ - "cfg-if 1.0.0", - "ethereum-types", - "hashbrown", - "impl-trait-for-tuples", - "lru", - "parity-util-mem-derive", - "parking_lot 0.11.1", - "primitive-types", - "smallvec 1.6.1", - "winapi 0.3.9", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2 1.0.28", - "syn 1.0.75", - "synstructure", -] - -[[package]] -name = "parity-wasm" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" -dependencies = [ - "byteorder", -] - -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - -[[package]] -name = "parity-ws" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322d72dfe461b8b9e367d057ceace105379d64d5b03907d23c481ccf3fbf8aa4" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio", - "mio-extras", - "rand 0.7.3", - "sha-1 0.8.2", - "slab", - "url 2.2.2", -] - -[[package]] -name = "parking" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" - -[[package]] -name = "parking_lot" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.6.2", - "rustc_version 0.2.3", -] - -[[package]] -name = "parking_lot" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.7.2", -] - -[[package]] -name = "parking_lot" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" -dependencies = [ - "instant", - "lock_api 0.4.4", - "parking_lot_core 0.8.3", -] - -[[package]] -name = "parking_lot_core" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" -dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "rustc_version 0.2.3", - "smallvec 0.6.14", - "winapi 0.3.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" -dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "smallvec 1.6.1", - "winapi 0.3.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" -dependencies = [ - "cfg-if 1.0.0", - "instant", - "libc", - "redox_syscall 0.2.10", - "smallvec 1.6.1", - "winapi 0.3.9", -] - -[[package]] -name = "paste" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" - -[[package]] -name = "pbkdf2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -dependencies = [ - "byteorder", - "crypto-mac 0.7.0", -] - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac 0.8.0", -] - -[[package]] -name = "pdqselect" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - -[[package]] -name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pest" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" -dependencies = [ - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "pest_meta" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" -dependencies = [ - "maplit", - "pest", - "sha-1 0.8.2", -] - -[[package]] -name = "petgraph" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" -dependencies = [ - "fixedbitset", - "indexmap", -] - -[[package]] -name = "pin-project" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f" -dependencies = [ - "pin-project-internal 0.4.28", -] - -[[package]] -name = "pin-project" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" -dependencies = [ - "pin-project-internal 1.0.8", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "pin-project-internal" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - -[[package]] -name = "pin-project-lite" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pint" -version = "3.0.0" -dependencies = [ - "cumulus-client-cli", - "cumulus-client-collator", - "cumulus-client-consensus-aura", - "cumulus-client-consensus-common", - "cumulus-client-consensus-relay-chain", - "cumulus-client-network", - "cumulus-client-service", - "cumulus-pallet-parachain-system", - "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", - "derive_more 0.15.0", - "frame-benchmarking", - "frame-benchmarking-cli", - "frame-support", - "frame-system-rpc-runtime-api", - "futures 0.3.16", - "hex-literal 0.2.1", - "jsonrpc-core", - "log", - "pallet-asset-index-rpc", - "pallet-transaction-payment-rpc", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "pint-rpc", - "pint-runtime-common", - "pint-runtime-dev", - "pint-runtime-kusama", - "pint-runtime-polkadot", - "polkadot-cli", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-service", - "polkadot-test-service", - "primitives", - "sc-basic-authorship", - "sc-chain-spec", - "sc-cli", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-manual-seal", - "sc-consensus-slots", - "sc-executor", - "sc-keystore", - "sc-network", - "sc-rpc", - "sc-rpc-api", - "sc-service", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "serde", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-storage", - "sp-timestamp", - "sp-transaction-pool", - "sp-trie", - "structopt", - "substrate-build-script-utils", - "substrate-frame-rpc-system", - "substrate-prometheus-endpoint", - "xcm-calls", -] - -[[package]] -name = "pint-rpc" -version = "0.0.1" -dependencies = [ - "jsonrpc-core", - "pallet-asset-index-rpc", - "pallet-transaction-payment-rpc", - "parity-scale-codec", - "pint-runtime-common", - "primitives", - "sc-client-api", - "sc-rpc", - "sc-rpc-api", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-runtime", - "substrate-frame-rpc-system", -] - -[[package]] -name = "pint-runtime-common" -version = "0.0.1" -dependencies = [ - "cumulus-pallet-xcm", - "frame-support", - "frame-system", - "orml-traits", - "pallet-asset-index", - "pallet-chainlink-feed", - "pallet-committee", - "pallet-local-treasury", - "pallet-price-feed", - "pallet-remote-asset-manager", - "pallet-saft-registry", - "primitives", - "sp-std", - "xcm", - "xcm-calls", -] - -[[package]] -name = "pint-runtime-dev" -version = "2.0.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "cumulus-primitives-timestamp", - "cumulus-primitives-utility", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex", - "hex-literal 0.3.3", - "log", - "orml-currencies", - "orml-tokens", - "orml-traits", - "orml-unknown-tokens", - "orml-xcm-support", - "orml-xtokens", - "pallet-asset-index", - "pallet-asset-index-rpc-runtime-api", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-chainlink-feed", - "pallet-collator-selection", - "pallet-collective", - "pallet-committee", - "pallet-local-treasury", - "pallet-price-feed", - "pallet-randomness-collective-flip", - "pallet-remote-asset-manager", - "pallet-saft-registry", - "pallet-session", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "pint-runtime-common", - "polkadot-parachain", - "primitives", - "serde", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-calls", - "xcm-executor", -] - -[[package]] -name = "pint-runtime-kusama" -version = "2.0.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "cumulus-primitives-timestamp", - "cumulus-primitives-utility", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex", - "hex-literal 0.3.3", - "log", - "orml-currencies", - "orml-tokens", - "orml-traits", - "orml-unknown-tokens", - "orml-xcm-support", - "orml-xtokens", - "pallet-asset-index", - "pallet-asset-index-rpc-runtime-api", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-chainlink-feed", - "pallet-collator-selection", - "pallet-collective", - "pallet-committee", - "pallet-local-treasury", - "pallet-price-feed", - "pallet-randomness-collective-flip", - "pallet-remote-asset-manager", - "pallet-saft-registry", - "pallet-session", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "pint-runtime-common", - "polkadot-parachain", - "primitives", - "serde", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-calls", - "xcm-executor", -] - -[[package]] -name = "pint-runtime-polkadot" -version = "2.0.0" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "cumulus-primitives-timestamp", - "cumulus-primitives-utility", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex", - "hex-literal 0.3.3", - "log", - "orml-currencies", - "orml-tokens", - "orml-traits", - "orml-unknown-tokens", - "orml-xcm-support", - "orml-xtokens", - "pallet-asset-index", - "pallet-asset-index-rpc-runtime-api", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-chainlink-feed", - "pallet-collator-selection", - "pallet-collective", - "pallet-committee", - "pallet-local-treasury", - "pallet-price-feed", - "pallet-randomness-collective-flip", - "pallet-remote-asset-manager", - "pallet-saft-registry", - "pallet-session", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "pint-runtime-common", - "polkadot-parachain", - "primitives", - "serde", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-calls", - "xcm-executor", -] - -[[package]] -name = "pkg-config" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" - -[[package]] -name = "platforms" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325" - -[[package]] -name = "polkadot-approval-distribution" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "tracing", -] - -[[package]] -name = "polkadot-availability-bitfield-distribution" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "polkadot-node-network-protocol", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "tracing", -] - -[[package]] -name = "polkadot-availability-distribution" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "lru", - "parity-scale-codec", - "polkadot-erasure-coding", - "polkadot-node-core-runtime-api", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "rand 0.8.4", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-availability-recovery" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "lru", - "parity-scale-codec", - "polkadot-erasure-coding", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "rand 0.8.4", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-cli" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "frame-benchmarking-cli", - "futures 0.3.16", - "log", - "polkadot-node-core-pvf", - "polkadot-service", - "sc-cli", - "sc-service", - "sp-core", - "sp-trie", - "structopt", - "substrate-build-script-utils", - "thiserror", - "try-runtime-cli", -] - -[[package]] -name = "polkadot-client" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "beefy-primitives", - "frame-benchmarking", - "frame-system-rpc-runtime-api", - "pallet-mmr-primitives", - "pallet-transaction-payment-rpc-runtime-api", - "polkadot-primitives", - "polkadot-runtime", - "sc-client-api", - "sc-consensus", - "sc-executor", - "sc-service", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-finality-grandpa", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-storage", - "sp-transaction-pool", -] - -[[package]] -name = "polkadot-collator-protocol" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "always-assert", - "futures 0.3.16", - "futures-timer 3.0.2", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-core", - "sp-keystore", - "sp-runtime", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-core-primitives" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "parity-scale-codec", - "parity-util-mem", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "polkadot-dispute-distribution" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "lru", - "parity-scale-codec", - "polkadot-erasure-coding", - "polkadot-node-core-runtime-api", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "rand 0.8.4", - "sc-network", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-erasure-coding" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "parity-scale-codec", - "polkadot-node-primitives", - "polkadot-primitives", - "reed-solomon-novelpoly", - "sp-core", - "sp-trie", - "thiserror", -] - -[[package]] -name = "polkadot-gossip-support" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "polkadot-node-network-protocol", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "rand 0.8.4", - "rand_chacha 0.3.1", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "tracing", -] - -[[package]] -name = "polkadot-network-bridge" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "parity-scale-codec", - "parking_lot 0.11.1", - "polkadot-node-network-protocol", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-overseer", - "polkadot-primitives", - "sc-network", - "sp-consensus", - "strum", - "tracing", -] - -[[package]] -name = "polkadot-node-collation-generation" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "parity-scale-codec", - "polkadot-erasure-coding", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-core", - "sp-maybe-compressed-blob", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-approval-voting" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "derive_more 0.99.16", - "futures 0.3.16", - "futures-timer 3.0.2", - "kvdb", - "lru", - "merlin", - "parity-scale-codec", - "polkadot-node-jaeger", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-overseer", - "polkadot-primitives", - "sc-client-api", - "sc-keystore", - "schnorrkel", - "sp-application-crypto", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-runtime", - "tracing", -] - -[[package]] -name = "polkadot-node-core-av-store" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "futures 0.3.16", - "futures-timer 3.0.2", - "kvdb", - "parity-scale-codec", - "polkadot-erasure-coding", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-overseer", - "polkadot-primitives", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-backing" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "futures 0.3.16", - "polkadot-erasure-coding", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "polkadot-statement-table", - "sp-keystore", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-bitfield-signing" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-keystore", - "thiserror", - "tracing", - "wasm-timer", -] - -[[package]] -name = "polkadot-node-core-candidate-validation" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "parity-scale-codec", - "polkadot-node-core-pvf", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-parachain", - "polkadot-primitives", - "sp-maybe-compressed-blob", - "tracing", -] - -[[package]] -name = "polkadot-node-core-chain-api" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "sc-client-api", - "sc-consensus-babe", - "sp-blockchain", - "tracing", -] - -[[package]] -name = "polkadot-node-core-chain-selection" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "futures-timer 3.0.2", - "kvdb", - "parity-scale-codec", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-dispute-coordinator" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "derive_more 0.99.16", - "futures 0.3.16", - "kvdb", - "parity-scale-codec", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "sc-keystore", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-dispute-participation" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-primitives", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-parachains-inherent" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "polkadot-node-subsystem", - "polkadot-primitives", - "sp-blockchain", - "sp-inherents", - "sp-runtime", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-provisioner" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "futures 0.3.16", - "futures-timer 3.0.2", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-core-pvf" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "always-assert", - "assert_matches", - "async-process", - "async-std", - "futures 0.3.16", - "futures-timer 3.0.2", - "libc", - "parity-scale-codec", - "pin-project 1.0.8", - "polkadot-core-primitives", - "polkadot-parachain", - "rand 0.8.4", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", - "slotmap", - "sp-core", - "sp-externalities", - "sp-io", - "sp-maybe-compressed-blob", - "sp-tracing", - "sp-wasm-interface", - "tracing", -] - -[[package]] -name = "polkadot-node-core-runtime-api" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "memory-lru", - "parity-util-mem", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-api", - "sp-authority-discovery", - "sp-consensus-babe", - "sp-core", - "tracing", -] - -[[package]] -name = "polkadot-node-jaeger" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-std", - "lazy_static", - "log", - "mick-jaeger", - "parity-scale-codec", - "parking_lot 0.11.1", - "polkadot-node-primitives", - "polkadot-primitives", - "sc-network", - "sp-core", - "thiserror", -] - -[[package]] -name = "polkadot-node-metrics" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "metered-channel", - "sc-network", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "polkadot-node-network-protocol" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "parity-scale-codec", - "polkadot-node-jaeger", - "polkadot-node-primitives", - "polkadot-primitives", - "sc-authority-discovery", - "sc-network", - "strum", - "thiserror", -] - -[[package]] -name = "polkadot-node-primitives" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "futures 0.3.16", - "parity-scale-codec", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-statement-table", - "schnorrkel", - "serde", - "sp-application-crypto", - "sp-consensus-babe", - "sp-consensus-vrf", - "sp-core", - "sp-keystore", - "sp-maybe-compressed-blob", - "sp-runtime", - "thiserror", - "tracing", - "zstd", -] - -[[package]] -name = "polkadot-node-subsystem" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "polkadot-node-jaeger", - "polkadot-node-subsystem-types", - "polkadot-overseer", -] - -[[package]] -name = "polkadot-node-subsystem-types" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-std", - "async-trait", - "derive_more 0.99.16", - "futures 0.3.16", - "futures-timer 3.0.2", - "lazy_static", - "log", - "mick-jaeger", - "parity-scale-codec", - "parking_lot 0.11.1", - "pin-project 1.0.8", - "polkadot-node-jaeger", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-overseer-gen", - "polkadot-primitives", - "polkadot-statement-table", - "sc-network", - "smallvec 1.6.1", - "sp-core", - "substrate-prometheus-endpoint", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-node-subsystem-util" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "itertools 0.10.1", - "lru", - "metered-channel", - "parity-scale-codec", - "pin-project 1.0.8", - "polkadot-node-jaeger", - "polkadot-node-metrics", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-overseer", - "polkadot-primitives", - "rand 0.8.4", - "sc-network", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "substrate-prometheus-endpoint", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-overseer" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "lru", - "parking_lot 0.11.1", - "polkadot-node-metrics", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem-types", - "polkadot-overseer-all-subsystems-gen", - "polkadot-overseer-gen", - "polkadot-primitives", - "sc-client-api", - "sp-api", - "tracing", -] - -[[package]] -name = "polkadot-overseer-all-subsystems-gen" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "assert_matches", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "polkadot-overseer-gen" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "metered-channel", - "pin-project 1.0.8", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-overseer-gen-proc-macro", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-overseer-gen-proc-macro" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "polkadot-parachain" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "derive_more 0.99.16", - "frame-support", - "parity-scale-codec", - "parity-util-mem", - "polkadot-core-primitives", - "serde", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "polkadot-primitives" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "frame-system", - "hex-literal 0.3.3", - "parity-scale-codec", - "parity-util-mem", - "polkadot-core-primitives", - "polkadot-parachain", - "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-authority-discovery", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-staking", - "sp-std", - "sp-trie", - "sp-version", - "thiserror", -] - -[[package]] -name = "polkadot-rpc" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "beefy-gadget", - "beefy-gadget-rpc", - "jsonrpc-core", - "pallet-mmr-rpc", - "pallet-transaction-payment-rpc", - "parity-scale-codec", - "polkadot-primitives", - "sc-chain-spec", - "sc-client-api", - "sc-consensus-babe", - "sc-consensus-babe-rpc", - "sc-consensus-epochs", - "sc-finality-grandpa", - "sc-finality-grandpa-rpc", - "sc-keystore", - "sc-rpc", - "sc-sync-state-rpc", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-keystore", - "sp-runtime", - "substrate-frame-rpc-system", -] - -[[package]] -name = "polkadot-runtime" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "beefy-primitives", - "bitvec 0.20.4", - "frame-benchmarking", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal 0.3.3", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-bounties", - "pallet-collective", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-elections-phragmen", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-mmr-primitives", - "pallet-multisig", - "pallet-nicks", - "pallet-offences", - "pallet-offences-benchmarking", - "pallet-proxy", - "pallet-scheduler", - "pallet-session", - "pallet-session-benchmarking", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "pallet-tips", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", - "pallet-utility", - "pallet-vesting", - "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime-common", - "rustc-hex", - "serde", - "serde_derive", - "smallvec 1.6.1", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-core", - "sp-inherents", - "sp-io", - "sp-npos-elections", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", - "static_assertions", - "substrate-wasm-builder", -] - -[[package]] -name = "polkadot-runtime-common" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitvec 0.20.4", - "frame-benchmarking", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "libsecp256k1 0.6.0", - "log", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-beefy-mmr", - "pallet-election-provider-multi-phase", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-treasury", - "pallet-vesting", - "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime-parachains", - "rustc-hex", - "serde", - "serde_derive", - "slot-range-helper", - "sp-api", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "static_assertions", - "xcm", -] - -[[package]] -name = "polkadot-runtime-parachains" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "bitflags", - "bitvec 0.20.4", - "derive_more 0.99.16", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-balances", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-timestamp", - "pallet-vesting", - "parity-scale-codec", - "polkadot-primitives", - "rand 0.8.4", - "rand_chacha 0.3.1", - "rustc-hex", - "serde", - "sp-api", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "polkadot-service" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "async-trait", - "beefy-gadget", - "beefy-primitives", - "frame-system-rpc-runtime-api", - "futures 0.3.16", - "hex-literal 0.3.3", - "kusama-runtime", - "kvdb", - "kvdb-rocksdb", - "pallet-babe", - "pallet-im-online", - "pallet-mmr-primitives", - "pallet-staking", - "pallet-transaction-payment-rpc-runtime-api", - "polkadot-approval-distribution", - "polkadot-availability-bitfield-distribution", - "polkadot-availability-distribution", - "polkadot-availability-recovery", - "polkadot-client", - "polkadot-collator-protocol", - "polkadot-dispute-distribution", - "polkadot-gossip-support", - "polkadot-network-bridge", - "polkadot-node-collation-generation", - "polkadot-node-core-approval-voting", - "polkadot-node-core-av-store", - "polkadot-node-core-backing", - "polkadot-node-core-bitfield-signing", - "polkadot-node-core-candidate-validation", - "polkadot-node-core-chain-api", - "polkadot-node-core-chain-selection", - "polkadot-node-core-dispute-coordinator", - "polkadot-node-core-dispute-participation", - "polkadot-node-core-parachains-inherent", - "polkadot-node-core-provisioner", - "polkadot-node-core-runtime-api", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-overseer", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-rpc", - "polkadot-runtime", - "polkadot-runtime-parachains", - "polkadot-statement-distribution", - "rococo-runtime", - "sc-authority-discovery", - "sc-basic-authorship", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-consensus-babe", - "sc-consensus-slots", - "sc-consensus-uncles 0.10.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", - "sc-executor", - "sc-finality-grandpa", - "sc-keystore", - "sc-network", - "sc-service", - "sc-sync-state-rpc", - "sc-telemetry", - "sc-transaction-pool", - "serde", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-core", - "sp-finality-grandpa", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-storage", - "sp-timestamp", - "sp-transaction-pool", - "sp-trie", - "substrate-prometheus-endpoint", - "thiserror", - "tracing", - "westend-runtime", -] - -[[package]] -name = "polkadot-statement-distribution" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "arrayvec 0.5.2", - "futures 0.3.16", - "indexmap", - "parity-scale-codec", - "polkadot-node-network-protocol", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-node-subsystem-util", - "polkadot-primitives", - "sc-network", - "sp-keystore", - "sp-staking", - "thiserror", - "tracing", -] - -[[package]] -name = "polkadot-statement-table" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "parity-scale-codec", - "polkadot-primitives", - "sp-core", -] - -[[package]] -name = "polkadot-test-runtime" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "beefy-primitives", - "bitvec 0.20.4", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-rpc-runtime-api", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-grandpa", - "pallet-indices", - "pallet-mmr-primitives", - "pallet-nicks", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-vesting", - "pallet-xcm", - "parity-scale-codec", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-runtime-common", - "polkadot-runtime-parachains", - "rustc-hex", - "serde", - "serde_derive", - "smallvec 1.6.1", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-executor", -] - -[[package]] -name = "polkadot-test-service" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "frame-benchmarking", - "frame-system", - "futures 0.1.31", - "futures 0.3.16", - "hex", - "pallet-balances", - "pallet-staking", - "pallet-transaction-payment", - "polkadot-node-primitives", - "polkadot-node-subsystem", - "polkadot-overseer", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-rpc", - "polkadot-runtime-common", - "polkadot-runtime-parachains", - "polkadot-service", - "polkadot-test-runtime", - "rand 0.8.4", - "sc-authority-discovery", - "sc-chain-spec", - "sc-cli", - "sc-client-api", - "sc-consensus", - "sc-consensus-babe", - "sc-executor", - "sc-finality-grandpa", - "sc-network", - "sc-service", - "sc-tracing", - "sc-transaction-pool", - "sp-arithmetic", - "sp-authority-discovery", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-core", - "sp-finality-grandpa", - "sp-inherents", - "sp-keyring 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", - "sp-runtime", - "sp-state-machine", - "substrate-test-client", - "tempfile", - "tracing", -] - -[[package]] -name = "polling" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "log", - "wepoll-ffi", - "winapi 0.3.9", -] - -[[package]] -name = "poly1305" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8" -dependencies = [ - "cpuid-bool", - "universal-hash", -] - -[[package]] -name = "polyval" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" -dependencies = [ - "cpuid-bool", - "opaque-debug 0.3.0", - "universal-hash", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" - -[[package]] -name = "primitive-types" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "uint", -] - -[[package]] -name = "primitives" -version = "0.0.1" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "xcm", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml", -] - -[[package]] -name = "proc-macro-crate" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" -dependencies = [ - "thiserror", - "toml", -] - -[[package]] -name = "proc-macro-error" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7" -dependencies = [ - "proc-macro-error-attr 0.4.12", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "version_check", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr 1.0.4", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "syn-mid", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - -[[package]] -name = "proc-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", -] - -[[package]] -name = "proc-macro2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" -dependencies = [ - "unicode-xid 0.2.2", -] - -[[package]] -name = "prometheus" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8425533e7122f0c3cc7a37e6244b16ad3a2cc32ae7ac6276e2a75da0d9c200d" -dependencies = [ - "cfg-if 1.0.0", - "fnv", - "lazy_static", - "parking_lot 0.11.1", - "regex", - "thiserror", -] - -[[package]] -name = "prost" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2" -dependencies = [ - "bytes 1.0.1", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3" -dependencies = [ - "bytes 1.0.1", - "heck", - "itertools 0.9.0", - "log", - "multimap", - "petgraph", - "prost", - "prost-types", - "tempfile", - "which", -] - -[[package]] -name = "prost-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4" -dependencies = [ - "anyhow", - "itertools 0.9.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "prost-types" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb" -dependencies = [ - "bytes 1.0.1", - "prost", -] - -[[package]] -name = "psm" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0617ee61163b5d941d804065ce49040967610a4d4278fae73e096a057b01d358" -dependencies = [ - "cc", -] - -[[package]] -name = "pwasm-utils" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c1a2f10b47d446372a4f397c58b329aaea72b2daf9395a623a411cb8ccb54f" -dependencies = [ - "byteorder", - "log", - "parity-wasm 0.42.2", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - -[[package]] -name = "quicksink" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" -dependencies = [ - "futures-core", - "futures-sink", - "pin-project-lite 0.1.12", -] - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - -[[package]] -name = "quote" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" -dependencies = [ - "proc-macro2 1.0.28", -] - -[[package]] -name = "radium" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" - -[[package]] -name = "radium" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" - -[[package]] -name = "rand" -version = "0.3.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" -dependencies = [ - "libc", - "rand 0.4.6", -] - -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi 0.3.9", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", - "rand_pcg", -] - -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.3", - "rand_hc 0.3.1", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.3", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom 0.2.3", -] - -[[package]] -name = "rand_distr" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142" -dependencies = [ - "num-traits", - "rand 0.8.4", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core 0.6.3", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rayon" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" -dependencies = [ - "autocfg", - "crossbeam-deque 0.8.1", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque 0.8.1", - "crossbeam-utils 0.8.5", - "lazy_static", - "num_cpus", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "redox_syscall" -version = "0.1.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" - -[[package]] -name = "redox_syscall" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" -dependencies = [ - "getrandom 0.2.3", - "redox_syscall 0.2.10", -] - -[[package]] -name = "reed-solomon-novelpoly" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd8f48b2066e9f69ab192797d66da804d1935bf22763204ed3675740cb0f221" -dependencies = [ - "derive_more 0.99.16", - "fs-err", - "itertools 0.10.1", - "static_init", - "thiserror", -] - -[[package]] -name = "ref-cast" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "regalloc" -version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "571f7f397d61c4755285cd37853fe8e03271c243424a907415909379659381c5" -dependencies = [ - "log", - "rustc-hash", - "serde", - "smallvec 1.6.1", -] - -[[package]] -name = "regex" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" - -[[package]] -name = "region" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0" -dependencies = [ - "bitflags", - "libc", - "mach", - "winapi 0.3.9", -] - -[[package]] -name = "remote-externalities" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "env_logger 0.8.4", - "hex", - "jsonrpsee-proc-macros", - "jsonrpsee-ws-client", - "log", - "parity-scale-codec", - "serde", - "serde_json", - "sp-core", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error 1.2.3", -] - -[[package]] -name = "retain_mut" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9c17925a9027d298a4603d286befe3f9dc0e8ed02523141914eb628798d6e5b" - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted", - "web-sys", - "winapi 0.3.9", -] - -[[package]] -name = "rlp" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "999508abb0ae792aabed2460c45b89106d97fe4adac593bdaef433c2605847b5" -dependencies = [ - "bytes 1.0.1", - "rustc-hex", -] - -[[package]] -name = "rocksdb" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a62eca5cacf2c8261128631bed9f045598d40bfbe4b29f5163f0f802f8f44a7" -dependencies = [ - "libc", - "librocksdb-sys", -] - -[[package]] -name = "rococo-runtime" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "beefy-primitives", - "bp-messages", - "bp-rococo", - "bp-runtime", - "bp-wococo", - "bridge-runtime-common", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-rpc-runtime-api", - "hex-literal 0.3.3", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-beefy", - "pallet-beefy-mmr", - "pallet-bridge-dispatch", - "pallet-bridge-grandpa", - "pallet-bridge-messages", - "pallet-collective", - "pallet-grandpa", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-mmr", - "pallet-mmr-primitives", - "pallet-offences", - "pallet-proxy", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "parity-scale-codec", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-runtime-common", - "polkadot-runtime-parachains", - "serde", - "serde_derive", - "smallvec 1.6.1", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-executor", -] - -[[package]] -name = "rpassword" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" -dependencies = [ - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - -[[package]] -name = "rustc_version" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" -dependencies = [ - "semver 0.11.0", -] - -[[package]] -name = "rustls" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" -dependencies = [ - "base64 0.12.3", - "log", - "ring", - "sct", - "webpki", -] - -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.0", - "log", - "ring", - "sct", - "webpki", -] - -[[package]] -name = "rustls-native-certs" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8" -dependencies = [ - "openssl-probe", - "rustls 0.18.1", - "schannel", - "security-framework 1.0.0", -] - -[[package]] -name = "rustls-native-certs" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" -dependencies = [ - "openssl-probe", - "rustls 0.19.1", - "schannel", - "security-framework 2.3.1", -] - -[[package]] -name = "ruzstd" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cada0ef59efa6a5f4dc5e491f93d9f31e3fc7758df421ff1de8a706338e1100" -dependencies = [ - "byteorder", - "twox-hash", -] - -[[package]] -name = "rw-stream-sink" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" -dependencies = [ - "futures 0.3.16", - "pin-project 0.4.28", - "static_assertions", -] - -[[package]] -name = "ryu" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" - -[[package]] -name = "safe-mix" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" -dependencies = [ - "rustc_version 0.2.3", -] - -[[package]] -name = "salsa20" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15" -dependencies = [ - "cipher", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "sc-allocator" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "log", - "sp-core", - "sp-wasm-interface", - "thiserror", -] - -[[package]] -name = "sc-authority-discovery" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "derive_more 0.99.16", - "either", - "futures 0.3.16", - "futures-timer 3.0.2", - "ip_network", - "libp2p", - "log", - "parity-scale-codec", - "prost", - "prost-build", - "rand 0.7.3", - "sc-client-api", - "sc-network", - "serde_json", - "sp-api", - "sp-authority-discovery", - "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-basic-authorship" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.3.16", - "futures-timer 3.0.2", - "log", - "parity-scale-codec", - "sc-block-builder", - "sc-client-api", - "sc-proposer-metrics", - "sc-telemetry", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-block-builder" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "sc-client-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "sc-chain-spec" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "sc-chain-spec-derive", - "sc-network", - "sc-telemetry", - "serde", - "serde_json", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "sc-chain-spec-derive" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "sc-cli" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "chrono", - "fdlimit", - "futures 0.3.16", - "hex", - "libp2p", - "log", - "names", - "parity-scale-codec", - "rand 0.7.3", - "regex", - "rpassword", - "sc-client-api", - "sc-keystore", - "sc-network", - "sc-service", - "sc-telemetry", - "sc-tracing", - "serde", - "serde_json", - "sp-blockchain", - "sp-core", - "sp-keyring 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", - "sp-utils", - "sp-version", - "structopt", - "thiserror", - "tiny-bip39", - "tokio 0.2.25", -] - -[[package]] -name = "sc-client-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "fnv", - "futures 0.3.16", - "hash-db", - "kvdb", - "lazy_static", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-executor", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-externalities", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-storage", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-client-db" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "blake2-rfc", - "hash-db", - "kvdb", - "kvdb-memorydb", - "kvdb-rocksdb", - "linked-hash-map", - "log", - "parity-db", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "sc-client-api", - "sc-executor", - "sc-state-db", - "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "libp2p", - "log", - "parking_lot 0.11.1", - "sc-client-api", - "serde", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-utils", - "substrate-prometheus-endpoint", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sc-consensus-aura" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "derive_more 0.99.16", - "futures 0.3.16", - "futures-timer 3.0.2", - "log", - "parity-scale-codec", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-consensus-slots", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-version", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-consensus-babe" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "derive_more 0.99.16", - "fork-tree", - "futures 0.3.16", - "futures-timer 3.0.2", - "log", - "merlin", - "num-bigint", - "num-rational 0.2.4", - "num-traits", - "parity-scale-codec", - "parking_lot 0.11.1", - "pdqselect", - "rand 0.7.3", - "retain_mut", - "sc-client-api", - "sc-consensus", - "sc-consensus-epochs", - "sc-consensus-slots", - "sc-consensus-uncles 0.10.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", - "sc-keystore", - "sc-telemetry", - "schnorrkel", - "serde", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-consensus-vrf", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-consensus-babe-rpc" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "futures 0.3.16", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-rpc-api", - "serde", - "sp-api", - "sp-application-crypto", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-core", - "sp-keystore", - "sp-runtime", -] - -[[package]] -name = "sc-consensus-epochs" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "fork-tree", - "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sp-blockchain", - "sp-runtime", -] - -[[package]] -name = "sc-consensus-manual-seal" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "assert_matches", - "async-trait", - "derive_more 0.99.16", - "futures 0.3.16", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-client-api", - "sc-consensus", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-transaction-pool", - "sc-transaction-pool-api", - "serde", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-keyring 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", - "sp-keystore", - "sp-runtime", - "sp-timestamp", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-timestamp", - "sp-trie", - "thiserror", -] - -[[package]] -name = "sc-consensus-uncles" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "sc-client-api", - "sp-authorship 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", - "sp-runtime", - "thiserror", -] - -[[package]] -name = "sc-consensus-uncles" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "sc-client-api", - "sp-authorship 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", - "sp-runtime", - "thiserror", -] - -[[package]] -name = "sc-executor" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "lazy_static", - "libsecp256k1 0.3.5", - "log", - "parity-scale-codec", - "parity-wasm 0.42.2", - "parking_lot 0.11.1", - "sc-executor-common", - "sc-executor-wasmi", - "sc-executor-wasmtime", - "sp-api", - "sp-core", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", - "sp-serializer", - "sp-tasks", - "sp-trie", - "sp-version", - "sp-wasm-interface", - "wasmi", -] - -[[package]] -name = "sc-executor-common" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "parity-scale-codec", - "pwasm-utils", - "sc-allocator", - "sp-core", - "sp-maybe-compressed-blob", - "sp-serializer", - "sp-wasm-interface", - "thiserror", - "wasmi", -] - -[[package]] -name = "sc-executor-wasmi" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "log", - "parity-scale-codec", - "sc-allocator", - "sc-executor-common", - "sp-core", - "sp-runtime-interface", - "sp-wasm-interface", - "wasmi", -] - -[[package]] -name = "sc-executor-wasmtime" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "log", - "parity-scale-codec", - "parity-wasm 0.42.2", - "pwasm-utils", - "sc-allocator", - "sc-executor-common", - "scoped-tls", - "sp-core", - "sp-runtime-interface", - "sp-wasm-interface", - "wasmtime", -] - -[[package]] -name = "sc-finality-grandpa" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "derive_more 0.99.16", - "dyn-clone", - "finality-grandpa", - "fork-tree", - "futures 0.3.16", - "futures-timer 3.0.2", - "linked-hash-map", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "pin-project 1.0.8", - "rand 0.8.4", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-keystore", - "sc-network", - "sc-network-gossip", - "sc-telemetry", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-finality-grandpa", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-utils", - "substrate-prometheus-endpoint", - "wasm-timer", -] - -[[package]] -name = "sc-finality-grandpa-rpc" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "finality-grandpa", - "futures 0.3.16", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "jsonrpc-pubsub", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-finality-grandpa", - "sc-rpc", - "serde", - "serde_json", - "sp-blockchain", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "sc-informant" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "ansi_term 0.12.1", - "futures 0.3.16", - "futures-timer 3.0.2", - "log", - "parity-util-mem", - "sc-client-api", - "sc-network", - "sc-transaction-pool-api", - "sp-blockchain", - "sp-runtime", - "wasm-timer", -] - -[[package]] -name = "sc-keystore" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "derive_more 0.99.16", - "futures 0.3.16", - "futures-util", - "hex", - "merlin", - "parking_lot 0.11.1", - "rand 0.7.3", - "serde_json", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "subtle 2.4.1", -] - -[[package]] -name = "sc-light" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "hash-db", - "lazy_static", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-client-api", - "sc-executor", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-externalities", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "sc-light" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "hash-db", - "lazy_static", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-client-api", - "sc-executor", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-externalities", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "sc-network" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-std", - "async-trait", - "asynchronous-codec 0.5.0", - "bitflags", - "bs58", - "bytes 1.0.1", - "cid", - "derive_more 0.99.16", - "either", - "erased-serde", - "fnv", - "fork-tree", - "futures 0.3.16", - "futures-timer 3.0.2", - "hex", - "ip_network", - "libp2p", - "linked-hash-map", - "linked_hash_set", - "log", - "lru", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.11.1", - "pin-project 1.0.8", - "prost", - "prost-build", - "rand 0.7.3", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-peerset", - "serde", - "serde_json", - "smallvec 1.6.1", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-finality-grandpa", - "sp-runtime", - "sp-utils", - "substrate-prometheus-endpoint", - "thiserror", - "unsigned-varint 0.6.0", - "void", - "wasm-timer", - "zeroize", -] - -[[package]] -name = "sc-network-gossip" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.3.16", - "futures-timer 3.0.2", - "libp2p", - "log", - "lru", - "sc-network", - "sp-runtime", - "substrate-prometheus-endpoint", - "tracing", - "wasm-timer", -] - -[[package]] -name = "sc-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "bytes 0.5.6", - "fnv", - "futures 0.3.16", - "futures-timer 3.0.2", - "hex", - "hyper 0.13.10", - "hyper-rustls", - "log", - "num_cpus", - "parity-scale-codec", - "parking_lot 0.11.1", - "rand 0.7.3", - "sc-client-api", - "sc-keystore", - "sc-network", - "sp-api", - "sp-core", - "sp-offchain", - "sp-runtime", - "sp-utils", - "threadpool", -] - -[[package]] -name = "sc-peerset" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.3.16", - "libp2p", - "log", - "serde_json", - "sp-utils", - "wasm-timer", -] - -[[package]] -name = "sc-proposer-metrics" -version = "0.9.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "log", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.3.16", - "hash-db", - "jsonrpc-core", - "jsonrpc-pubsub", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-executor", - "sc-keystore", - "sc-rpc-api", - "sc-tracing", - "sc-transaction-pool-api", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-offchain", - "sp-rpc", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-tracing", - "sp-utils", - "sp-version", -] - -[[package]] -name = "sc-rpc-api" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "futures 0.3.16", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "jsonrpc-pubsub", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-chain-spec", - "sc-transaction-pool-api", - "serde", - "serde_json", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-tracing", - "sp-version", -] - -[[package]] -name = "sc-rpc-server" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.1.31", - "jsonrpc-core", - "jsonrpc-http-server", - "jsonrpc-ipc-server", - "jsonrpc-pubsub", - "jsonrpc-ws-server", - "log", - "serde", - "serde_json", - "sp-runtime", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-service" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "directories", - "exit-future", - "futures 0.1.31", - "futures 0.3.16", - "futures-timer 3.0.2", - "hash-db", - "jsonrpc-core", - "jsonrpc-pubsub", - "lazy_static", - "log", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "pin-project 1.0.8", - "rand 0.7.3", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-executor", - "sc-informant", - "sc-keystore", - "sc-light 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", - "sc-network", - "sc-offchain", - "sc-rpc", - "sc-rpc-server", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "sc-transaction-pool-api", - "serde", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-storage", - "sp-tracing", - "sp-transaction-pool", - "sp-transaction-storage-proof", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", - "tempfile", - "thiserror", - "tracing", - "tracing-futures", - "wasm-timer", -] - -[[package]] -name = "sc-state-db" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "log", - "parity-scale-codec", - "parity-util-mem", - "parity-util-mem-derive", - "parking_lot 0.11.1", - "sc-client-api", - "sp-core", - "thiserror", -] - -[[package]] -name = "sc-sync-state-rpc" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "parity-scale-codec", - "sc-chain-spec", - "sc-client-api", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-finality-grandpa", - "sc-rpc-api", - "serde", - "serde_json", - "sp-blockchain", - "sp-runtime", - "thiserror", -] - -[[package]] -name = "sc-telemetry" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "chrono", - "futures 0.3.16", - "libp2p", - "log", - "parking_lot 0.11.1", - "pin-project 1.0.8", - "rand 0.7.3", - "serde", - "serde_json", - "take_mut", - "thiserror", - "void", - "wasm-timer", -] - -[[package]] -name = "sc-tracing" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "ansi_term 0.12.1", - "atty", - "erased-serde", - "lazy_static", - "log", - "once_cell", - "parking_lot 0.11.1", - "regex", - "rustc-hash", - "sc-client-api", - "sc-rpc-server", - "sc-telemetry", - "sc-tracing-proc-macro", - "serde", - "serde_json", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-storage", - "sp-tracing", - "thiserror", - "tracing", - "tracing-log", - "tracing-subscriber", - "wasm-bindgen", - "wasm-timer", - "web-sys", -] - -[[package]] -name = "sc-tracing-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "sc-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "futures 0.3.16", - "intervalier", - "linked-hash-map", - "log", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "retain_mut", - "sc-client-api", - "sc-transaction-pool-api", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-tracing", - "sp-transaction-pool", - "sp-utils", - "substrate-prometheus-endpoint", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sc-transaction-pool-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "derive_more 0.99.16", - "futures 0.3.16", - "log", - "parity-scale-codec", - "serde", - "sp-blockchain", - "sp-runtime", - "thiserror", -] - -[[package]] -name = "scale-info" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2e62ff266e136db561a007c84569985805f84a1d5a08278e52c36aacb6e061b" -dependencies = [ - "bitvec 0.20.4", - "cfg-if 1.0.0", - "derive_more 0.99.16", - "parity-scale-codec", - "scale-info-derive", -] - -[[package]] -name = "scale-info-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b648fa291891a4c80187a25532f6a7d96b82c70353e30b868b14632b8fe043d6" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "schannel" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" -dependencies = [ - "lazy_static", - "winapi 0.3.9", -] - -[[package]] -name = "schnorrkel" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "curve25519-dalek 2.1.3", - "getrandom 0.1.16", - "merlin", - "rand 0.7.3", - "rand_core 0.5.1", - "sha2 0.8.2", - "subtle 2.4.1", - "zeroize", -] - -[[package]] -name = "scoped-tls" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "secrecy" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0673d6a6449f5e7d12a1caf424fd9363e2af3a4953023ed455e3c4beef4597c0" -dependencies = [ - "zeroize", -] - -[[package]] -name = "security-framework" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad502866817f0575705bd7be36e2b2535cc33262d493aa733a2ec862baa2bc2b" -dependencies = [ - "bitflags", - "core-foundation 0.7.0", - "core-foundation-sys 0.7.0", - "libc", - "security-framework-sys 1.0.0", -] - -[[package]] -name = "security-framework" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" -dependencies = [ - "bitflags", - "core-foundation 0.9.1", - "core-foundation-sys 0.8.2", - "libc", - "security-framework-sys 2.3.0", -] - -[[package]] -name = "security-framework-sys" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ceb04988b17b6d1dcd555390fa822ca5637b4a14e1f5099f13d351bed4d6c7" -dependencies = [ - "core-foundation-sys 0.7.0", - "libc", -] - -[[package]] -name = "security-framework-sys" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284" -dependencies = [ - "core-foundation-sys 0.8.2", - "libc", -] - -[[package]] -name = "semver" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" -dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser 0.10.2", - "serde", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] - -[[package]] -name = "serde" -version = "1.0.129" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1f72836d2aa753853178eda473a3b9d8e4eefdaf20523b919677e6de489f8f1" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.129" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e57ae87ad533d9a56427558b516d0adac283614e347abf85b0dc0cbbf0a249f3" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "serde_json" -version = "1.0.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha-1" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - -[[package]] -name = "sha-1" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a0c8611594e2ab4ebbf06ec7cbbf0a99450b8570e96cbf5188b5d5f6ef18d81" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - -[[package]] -name = "sha2" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sharded-slab" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740223c51853f3145fe7c90360d2d4232f2b62e3449489c207eccde818979982" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shlex" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a568c8f2cd051a4d283bd6eb0343ac214c1b0f1ac19f93e1175b2dee38c73d" - -[[package]] -name = "signal-hook" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" - -[[package]] -name = "simba" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" -dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", -] - -[[package]] -name = "slab" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" - -[[package]] -name = "slog" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" -dependencies = [ - "erased-serde", -] - -[[package]] -name = "slot-range-helper" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "enumn", - "parity-scale-codec", - "paste", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "slotmap" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a952280edbecfb1d4bd3cf2dbc309dc6ab523e53487c438ae21a6df09fe84bc4" -dependencies = [ - "version_check", -] - -[[package]] -name = "smallvec" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" -dependencies = [ - "maybe-uninit", -] - -[[package]] -name = "smallvec" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" - -[[package]] -name = "snow" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795dd7aeeee24468e5a32661f6d27f7b5cbed802031b2d7640c7b10f8fb2dd50" -dependencies = [ - "aes-gcm", - "blake2", - "chacha20poly1305", - "rand 0.7.3", - "rand_core 0.5.1", - "ring", - "rustc_version 0.2.3", - "sha2 0.9.5", - "subtle 2.4.1", - "x25519-dalek", -] - -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "socket2" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" -dependencies = [ - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "soketto" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c71ed3d54db0a699f4948e1bb3e45b450fa31fe602621dee6680361d569c88" -dependencies = [ - "base64 0.12.3", - "bytes 0.5.6", - "flate2", - "futures 0.3.16", - "httparse", - "log", - "rand 0.7.3", - "sha-1 0.9.7", -] - -[[package]] -name = "soketto" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a74e48087dbeed4833785c2f3352b59140095dc192dce966a3bfc155020a439f" -dependencies = [ - "base64 0.13.0", - "bytes 1.0.1", - "futures 0.3.16", - "httparse", - "log", - "rand 0.8.4", - "sha-1 0.9.7", -] - -[[package]] -name = "sp-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "sp-api-proc-macro", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-version", - "thiserror", -] - -[[package]] -name = "sp-api-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "blake2-rfc", - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "sp-application-crypto" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-std", -] - -[[package]] -name = "sp-arithmetic" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "serde", - "sp-debug-derive", - "sp-std", - "static_assertions", -] - -[[package]] -name = "sp-authority-discovery" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-block-builder" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-blockchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.3.16", - "log", - "lru", - "parity-scale-codec", - "parking_lot 0.11.1", - "sp-api", - "sp-consensus", - "sp-database", - "sp-runtime", - "sp-state-machine", - "thiserror", -] - -[[package]] -name = "sp-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "futures 0.3.16", - "futures-timer 3.0.2", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "serde", - "sp-api", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sp-consensus-aura" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-consensus", - "sp-consensus-slots", - "sp-inherents", - "sp-runtime", - "sp-std", - "sp-timestamp", -] - -[[package]] -name = "sp-consensus-babe" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "merlin", - "parity-scale-codec", - "serde", - "sp-api", - "sp-application-crypto", - "sp-consensus", - "sp-consensus-slots", - "sp-consensus-vrf", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-std", - "sp-timestamp", -] - -[[package]] -name = "sp-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "sp-arithmetic", - "sp-runtime", -] - -[[package]] -name = "sp-consensus-vrf" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "schnorrkel", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-core" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "base58", - "blake2-rfc", - "byteorder", - "dyn-clonable", - "ed25519-dalek", - "futures 0.3.16", - "hash-db", - "hash256-std-hasher", - "hex", - "impl-serde", - "lazy_static", - "libsecp256k1 0.3.5", - "log", - "merlin", - "num-traits", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "primitive-types", - "rand 0.7.3", - "regex", - "schnorrkel", - "secrecy", - "serde", - "sha2 0.9.5", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "tiny-keccak", - "twox-hash", - "wasmi", - "zeroize", -] - -[[package]] -name = "sp-database" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "kvdb", - "parking_lot 0.11.1", -] - -[[package]] -name = "sp-debug-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "sp-externalities" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std", - "sp-storage", -] - -[[package]] -name = "sp-finality-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-inherents" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-std", - "thiserror", -] - -[[package]] -name = "sp-io" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.3.16", - "hash-db", - "libsecp256k1 0.3.5", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-maybe-compressed-blob", - "sp-runtime-interface", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-wasm-interface", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-keyring" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "lazy_static", - "sp-core", - "sp-runtime", - "strum", -] - -[[package]] -name = "sp-keyring" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "lazy_static", - "sp-core", - "sp-runtime", - "strum", -] - -[[package]] -name = "sp-keystore" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "derive_more 0.99.16", - "futures 0.3.16", - "merlin", - "parity-scale-codec", - "parking_lot 0.11.1", - "schnorrkel", - "serde", - "sp-core", - "sp-externalities", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "ruzstd", - "zstd", -] - -[[package]] -name = "sp-npos-elections" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "serde", - "sp-arithmetic", - "sp-core", - "sp-npos-elections-compact", - "sp-std", -] - -[[package]] -name = "sp-npos-elections-compact" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "sp-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "sp-api", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "sp-panic-handler" -version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "backtrace", -] - -[[package]] -name = "sp-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "rustc-hash", - "serde", - "sp-core", - "tracing-core", -] - -[[package]] -name = "sp-runtime" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "parity-util-mem", - "paste", - "rand 0.7.3", - "serde", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", -] - -[[package]] -name = "sp-runtime-interface" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "Inflector", - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "sp-serializer" -version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "sp-session" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-core", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "sp-staking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-state-machine" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "hash-db", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.11.1", - "rand 0.7.3", - "smallvec 1.6.1", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-std", - "sp-trie", - "thiserror", - "tracing", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-std" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" - -[[package]] -name = "sp-storage" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive", - "sp-std", -] - -[[package]] -name = "sp-tasks" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "log", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime-interface", - "sp-std", -] - -[[package]] -name = "sp-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "futures-timer 3.0.2", - "log", - "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime", - "sp-std", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sp-tracing" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "erased-serde", - "log", - "parity-scale-codec", - "parking_lot 0.10.2", - "serde", - "serde_json", - "slog", - "sp-std", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "sp-api", - "sp-runtime", -] - -[[package]] -name = "sp-transaction-storage-proof" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "log", - "parity-scale-codec", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-std", - "sp-trie", -] - -[[package]] -name = "sp-trie" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "hash-db", - "memory-db", - "parity-scale-codec", - "sp-core", - "sp-std", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-utils" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "futures 0.3.16", - "futures-core", - "futures-timer 3.0.2", - "lazy_static", - "prometheus", -] - -[[package]] -name = "sp-version" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm 0.42.2", - "serde", - "sp-runtime", - "sp-std", - "sp-version-proc-macro", - "thiserror", -] - -[[package]] -name = "sp-version-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "parity-scale-codec", - "proc-macro-crate 1.0.0", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "sp-wasm-interface" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-std", - "wasmi", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "static_init" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11b73400442027c4adedda20a9f9b7945234a5bd8d5f7e86da22bd5d0622369c" -dependencies = [ - "cfg_aliases", - "libc", - "parking_lot 0.11.1", - "static_init_macro", -] - -[[package]] -name = "static_init_macro" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2261c91034a1edc3fc4d1b80e89d82714faede0515c14a75da10cb941546bbf" -dependencies = [ - "cfg_aliases", - "memchr", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "statrs" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" -dependencies = [ - "approx", - "lazy_static", - "nalgebra", - "num-traits", - "rand 0.8.4", -] - -[[package]] -name = "stream-cipher" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c80e15f898d8d8f25db24c253ea615cc14acf418ff307822995814e7d42cfa89" -dependencies = [ - "block-cipher", - "generic-array 0.14.4", -] - -[[package]] -name = "string" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" -dependencies = [ - "bytes 0.4.12", -] - -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - -[[package]] -name = "structopt" -version = "0.3.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71" -dependencies = [ - "clap", - "lazy_static", - "structopt-derive", -] - -[[package]] -name = "structopt-derive" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10" -dependencies = [ - "heck", - "proc-macro-error 1.0.4", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "strum" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" -dependencies = [ - "heck", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "substrate-bip39" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236" -dependencies = [ - "hmac 0.7.1", - "pbkdf2 0.3.0", - "schnorrkel", - "sha2 0.8.2", - "zeroize", -] - -[[package]] -name = "substrate-build-script-utils" -version = "3.0.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "platforms", -] - -[[package]] -name = "substrate-frame-rpc-system" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-system-rpc-runtime-api", - "futures 0.3.16", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-rpc-api", - "sc-transaction-pool-api", - "serde", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "substrate-prometheus-endpoint" -version = "0.9.0" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-std", - "derive_more 0.99.16", - "futures-util", - "hyper 0.13.10", - "log", - "prometheus", - "tokio 0.2.25", -] - -[[package]] -name = "substrate-test-client" -version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "async-trait", - "futures 0.1.31", - "futures 0.3.16", - "hash-db", - "hex", - "parity-scale-codec", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-executor", - "sc-light 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", - "sc-offchain", - "sc-service", - "serde", - "serde_json", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-keyring 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", - "sp-keystore", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "substrate-wasm-builder" -version = "5.0.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "ansi_term 0.12.1", - "atty", - "build-helper", - "cargo_metadata", - "sp-maybe-compressed-blob", - "tempfile", - "toml", - "walkdir", - "wasm-gc-api", -] - -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" - -[[package]] -name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", -] - -[[package]] -name = "syn" -version = "1.0.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f58f7e8eaa0009c5fec437aabf511bd9933e4b2d7407bd05273c01a8906ea7" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "unicode-xid 0.2.2", -] - -[[package]] -name = "syn-mid" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa8e7560a164edb1621a55d18a0c59abf49d360f47aa7b821061dd7eea7fac9" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "synstructure" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "unicode-xid 0.2.2", -] - -[[package]] -name = "take_mut" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "target-lexicon" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bffcddbc2458fa3e6058414599e3c838a022abae82e5c67b4f7f80298d5bff" - -[[package]] -name = "tempfile" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "rand 0.8.4", - "redox_syscall 0.2.10", - "remove_dir_all", - "winapi 0.3.9", -] - -[[package]] -name = "termcolor" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "thread_local" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd" -dependencies = [ - "once_cell", -] - -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "thrift" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6d965454947cc7266d22716ebfd07b18d84ebaf35eec558586bbb2a8cb6b5b" -dependencies = [ - "byteorder", - "integer-encoding", - "log", - "ordered-float", - "threadpool", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", -] - -[[package]] -name = "tiny-bip39" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9e44c4759bae7f1032e286a7ef990bd9ed23fe831b7eeba0beb97484c2e59b8" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.5", - "thiserror", - "unicode-normalization", - "zeroize", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tinyvec" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - -[[package]] -name = "tokio" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "mio", - "num_cpus", - "tokio-codec", - "tokio-current-thread", - "tokio-executor", - "tokio-fs", - "tokio-io", - "tokio-reactor", - "tokio-sync", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer", - "tokio-udp", - "tokio-uds", -] - -[[package]] -name = "tokio" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" -dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "iovec", - "lazy_static", - "libc", - "memchr", - "mio", - "mio-uds", - "num_cpus", - "pin-project-lite 0.1.12", - "signal-hook-registry", - "slab", - "tokio-macros", - "winapi 0.3.9", -] - -[[package]] -name = "tokio" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cf844b23c6131f624accf65ce0e4e9956a8bb329400ea5bcc26ae3a5c20b0b" -dependencies = [ - "autocfg", - "pin-project-lite 0.2.7", -] - -[[package]] -name = "tokio-buf" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" -dependencies = [ - "bytes 0.4.12", - "either", - "futures 0.1.31", -] - -[[package]] -name = "tokio-codec" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "tokio-io", -] - -[[package]] -name = "tokio-current-thread" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" -dependencies = [ - "futures 0.1.31", - "tokio-executor", -] - -[[package]] -name = "tokio-executor" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", -] - -[[package]] -name = "tokio-fs" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" -dependencies = [ - "futures 0.1.31", - "tokio-io", - "tokio-threadpool", -] - -[[package]] -name = "tokio-io" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "log", -] - -[[package]] -name = "tokio-macros" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "tokio-named-pipes" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "mio", - "mio-named-pipes", - "tokio 0.1.22", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "lazy_static", - "log", - "mio", - "num_cpus", - "parking_lot 0.9.0", - "slab", - "tokio-executor", - "tokio-io", - "tokio-sync", -] - -[[package]] -name = "tokio-rustls" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" -dependencies = [ - "futures-core", - "rustls 0.18.1", - "tokio 0.2.25", - "webpki", -] - -[[package]] -name = "tokio-rustls" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d15e5669243a45f630a5167d101b942174ca94b615445b2057eace1c818736" -dependencies = [ - "futures-core", - "rustls 0.19.1", - "tokio 0.2.25", - "webpki", -] - -[[package]] -name = "tokio-service" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" -dependencies = [ - "futures 0.1.31", -] - -[[package]] -name = "tokio-sync" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" -dependencies = [ - "fnv", - "futures 0.1.31", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "mio", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-threadpool" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" -dependencies = [ - "crossbeam-deque 0.7.4", - "crossbeam-queue", - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "lazy_static", - "log", - "num_cpus", - "slab", - "tokio-executor", -] - -[[package]] -name = "tokio-timer" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "slab", - "tokio-executor", -] - -[[package]] -name = "tokio-udp" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "log", - "mio", - "tokio-codec", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-uds" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "libc", - "log", - "mio", - "mio-uds", - "tokio-codec", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-util" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" -dependencies = [ - "bytes 0.5.6", - "futures-core", - "futures-io", - "futures-sink", - "log", - "pin-project-lite 0.1.12", - "tokio 0.2.25", -] - -[[package]] -name = "toml" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" -dependencies = [ - "serde", -] - -[[package]] -name = "tower-service" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" - -[[package]] -name = "tracing" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" -dependencies = [ - "cfg-if 1.0.0", - "log", - "pin-project-lite 0.2.7", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", -] - -[[package]] -name = "tracing-core" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ca517f43f0fb96e0c3072ed5c275fe5eece87e8cb52f4a77b69226d3b1c9df8" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project 1.0.8", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" -dependencies = [ - "lazy_static", - "log", - "tracing-core", -] - -[[package]] -name = "tracing-serde" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb65ea441fbb84f9f6748fd496cf7f63ec9af5bca94dd86456978d055e8eb28b" -dependencies = [ - "serde", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cbe87a2fa7e35900ce5de20220a582a9483a7063811defce79d7cbd59d4cfe" -dependencies = [ - "ansi_term 0.12.1", - "chrono", - "lazy_static", - "matchers", - "regex", - "serde", - "serde_json", - "sharded-slab", - "smallvec 1.6.1", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", - "tracing-serde", -] - -[[package]] -name = "trie-db" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa" -dependencies = [ - "hash-db", - "hashbrown", - "log", - "rustc-hex", - "smallvec 1.6.1", -] - -[[package]] -name = "trie-root" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd" -dependencies = [ - "hash-db", -] - -[[package]] -name = "trust-dns-proto" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.2.3", - "ipnet", - "lazy_static", - "log", - "rand 0.8.4", - "smallvec 1.6.1", - "thiserror", - "tinyvec", - "url 2.2.2", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770" -dependencies = [ - "cfg-if 1.0.0", - "futures-util", - "ipconfig", - "lazy_static", - "log", - "lru-cache", - "parking_lot 0.11.1", - "resolv-conf", - "smallvec 1.6.1", - "thiserror", - "trust-dns-proto", -] - -[[package]] -name = "try-lock" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" - -[[package]] -name = "try-runtime-cli" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" -dependencies = [ - "frame-try-runtime", - "log", - "parity-scale-codec", - "remote-externalities", - "sc-chain-spec", - "sc-cli", - "sc-client-api", - "sc-executor", - "sc-service", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "structopt", -] - -[[package]] -name = "twox-hash" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f559b464de2e2bdabcac6a210d12e9b5a5973c251e102c44c585c71d51bd78e" -dependencies = [ - "cfg-if 1.0.0", - "rand 0.3.23", - "static_assertions", -] - -[[package]] -name = "typenum" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" - -[[package]] -name = "ucd-trie" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" - -[[package]] -name = "uint" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" - -[[package]] -name = "unicode-normalization" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" - -[[package]] -name = "unicode-width" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - -[[package]] -name = "unicode-xid" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" - -[[package]] -name = "universal-hash" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array 0.14.4", - "subtle 2.4.1", -] - -[[package]] -name = "unsigned-varint" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35" - -[[package]] -name = "unsigned-varint" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2" -dependencies = [ - "asynchronous-codec 0.5.0", - "bytes 1.0.1", - "futures-io", - "futures-util", -] - -[[package]] -name = "unsigned-varint" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures-io", - "futures-util", -] - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -dependencies = [ - "idna 0.1.5", - "matches", - "percent-encoding 1.0.1", -] - -[[package]] -name = "url" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" -dependencies = [ - "form_urlencoded", - "idna 0.2.3", - "matches", - "percent-encoding 2.1.0", -] - -[[package]] -name = "value-bag" -version = "1.0.0-alpha.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae" -dependencies = [ - "ctor", - "version_check", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" - -[[package]] -name = "walkdir" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" -dependencies = [ - "same-file", - "winapi 0.3.9", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" -dependencies = [ - "futures 0.1.31", - "log", - "try-lock", -] - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasm-bindgen" -version = "0.2.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe8dc78e2326ba5f845f4b5bf548401604fa20b1dd1d365fb73b6c1d6364041" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fded345a6559c2cfee778d562300c581f7d4ff3edb9b0d230d69800d213972" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44468aa53335841d9d6b6c023eaab07c0cd4bddbcfdee3e2bb1e8d2cb8069fef" -dependencies = [ - "quote 1.0.9", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0195807922713af1e67dc66132c7328206ed9766af3858164fb583eedc25fbad" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdb075a845574a1fa5f09fd77e43f7747599301ea3417a9fbffdeedfc1f4a29" - -[[package]] -name = "wasm-gc-api" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" -dependencies = [ - "log", - "parity-wasm 0.32.0", - "rustc-demangle", -] - -[[package]] -name = "wasm-timer" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" -dependencies = [ - "futures 0.3.16", - "js-sys", - "parking_lot 0.11.1", - "pin-utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wasmi" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ee05bba3d1d994652079893941a2ef9324d2b58a63c31b40678fb7eddd7a5a" -dependencies = [ - "downcast-rs", - "libc", - "memory_units", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation", -] - -[[package]] -name = "wasmi-validation" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb8e860796d8be48efef530b60eebf84e74a88bce107374fffb0da97d504b8" -dependencies = [ - "parity-wasm 0.42.2", -] - -[[package]] -name = "wasmparser" -version = "0.78.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52144d4c78e5cf8b055ceab8e5fa22814ce4315d6002ad32cfd914f37c12fd65" - -[[package]] -name = "wasmtime" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b310b9d20fcf59385761d1ade7a3ef06aecc380e3d3172035b919eaf7465d9f7" -dependencies = [ - "anyhow", - "backtrace", - "bincode", - "cfg-if 1.0.0", - "cpp_demangle", - "indexmap", - "lazy_static", - "libc", - "log", - "paste", - "psm", - "region", - "rustc-demangle", - "serde", - "smallvec 1.6.1", - "target-lexicon", - "wasmparser", - "wasmtime-cache", - "wasmtime-environ", - "wasmtime-jit", - "wasmtime-profiling", - "wasmtime-runtime", - "winapi 0.3.9", -] - -[[package]] -name = "wasmtime-cache" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d14d500d5c3dc5f5c097158feee123d64b3097f0d836a2a27dff9c761c73c843" -dependencies = [ - "anyhow", - "base64 0.13.0", - "bincode", - "directories-next", - "errno", - "file-per-thread-logger", - "libc", - "log", - "serde", - "sha2 0.9.5", - "toml", - "winapi 0.3.9", - "zstd", -] - -[[package]] -name = "wasmtime-cranelift" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c525b39f062eada7db3c1298287b96dcb6e472b9f6b22501300b28d9fa7582f6" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "cranelift-wasm", - "target-lexicon", - "wasmparser", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-debug" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5d2a763e7a6fc734218e0e463196762a4f409c483063d81e0e85f96343b2e0a" -dependencies = [ - "anyhow", - "gimli 0.24.0", - "more-asserts", - "object 0.24.0", - "target-lexicon", - "thiserror", - "wasmparser", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-environ" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64d0c2d881c31b0d65c1f2695e022d71eb60b9fbdd336aacca28208b58eac90" -dependencies = [ - "cfg-if 1.0.0", - "cranelift-codegen", - "cranelift-entity", - "cranelift-wasm", - "gimli 0.24.0", - "indexmap", - "log", - "more-asserts", - "serde", - "thiserror", - "wasmparser", -] - -[[package]] -name = "wasmtime-jit" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4539ea734422b7c868107e2187d7746d8affbcaa71916d72639f53757ad707" -dependencies = [ - "addr2line 0.15.2", - "anyhow", - "cfg-if 1.0.0", - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", - "cranelift-wasm", - "gimli 0.24.0", - "log", - "more-asserts", - "object 0.24.0", - "rayon", - "region", - "serde", - "target-lexicon", - "thiserror", - "wasmparser", - "wasmtime-cranelift", - "wasmtime-debug", - "wasmtime-environ", - "wasmtime-obj", - "wasmtime-profiling", - "wasmtime-runtime", - "winapi 0.3.9", -] - -[[package]] -name = "wasmtime-obj" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1a8ff85246d091828e2225af521a6208ed28c997bb5c39eb697366dc2e2f2b" -dependencies = [ - "anyhow", - "more-asserts", - "object 0.24.0", - "target-lexicon", - "wasmtime-debug", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-profiling" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24364d522dcd67c897c8fffc42e5bdfc57207bbb6d7eeade0da9d4a7d70105b" -dependencies = [ - "anyhow", - "cfg-if 1.0.0", - "lazy_static", - "libc", - "serde", - "target-lexicon", - "wasmtime-environ", - "wasmtime-runtime", -] - -[[package]] -name = "wasmtime-runtime" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51e57976e8a19a18a18e002c6eb12e5769554204238e47ff155fda1809ef0f7" -dependencies = [ - "anyhow", - "backtrace", - "cc", - "cfg-if 1.0.0", - "indexmap", - "lazy_static", - "libc", - "log", - "mach", - "memoffset 0.6.4", - "more-asserts", - "rand 0.8.4", - "region", - "thiserror", - "wasmtime-environ", - "winapi 0.3.9", -] - -[[package]] -name = "web-sys" -version = "0.3.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224b2f6b67919060055ef1a67807367c2066ed520c3862cc013d26cf893a783c" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" -dependencies = [ - "webpki", -] - -[[package]] -name = "wepoll-ffi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" -dependencies = [ - "cc", -] - -[[package]] -name = "westend-runtime" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "beefy-primitives", - "bitvec 0.20.4", - "frame-benchmarking", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal 0.3.3", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-collective", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-elections-phragmen", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-mmr-primitives", - "pallet-multisig", - "pallet-nicks", - "pallet-offences", - "pallet-offences-benchmarking", - "pallet-proxy", - "pallet-recovery", - "pallet-scheduler", - "pallet-session", - "pallet-session-benchmarking", - "pallet-society", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", - "pallet-utility", - "pallet-vesting", - "pallet-xcm", - "parity-scale-codec", - "polkadot-parachain", - "polkadot-primitives", - "polkadot-runtime-common", - "polkadot-runtime-parachains", - "rustc-hex", - "serde", - "serde_derive", - "smallvec 1.6.1", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-core", - "sp-inherents", - "sp-io", - "sp-npos-elections", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", - "static_assertions", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-executor", -] - -[[package]] -name = "which" -version = "4.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9" -dependencies = [ - "either", - "lazy_static", - "libc", -] - -[[package]] -name = "widestring" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - -[[package]] -name = "x25519-dalek" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" -dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.5.1", - "zeroize", -] - -[[package]] -name = "xcm" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "derivative", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", -] - -[[package]] -name = "xcm-builder" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-transaction-payment", - "parity-scale-codec", - "polkadot-parachain", - "sp-arithmetic", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "xcm-calls" -version = "0.0.1" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-assets", - "pallet-balances", - "pallet-proxy", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "parity-scale-codec", - "serde", - "sp-core", - "sp-runtime", - "sp-staking", - "xcm", -] - -[[package]] -name = "xcm-executor" -version = "0.9.9-1" -source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", -] - -[[package]] -name = "xcm-simulator" -version = "0.1.0" -source = "git+https://github.com/shaunxw/xcm-simulator?branch=master#b6cf9973c8a81fb1a68036d1d8ef0c922f0e7551" -dependencies = [ - "cumulus-pallet-dmp-queue", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "frame-support", - "parity-scale-codec", - "paste", - "polkadot-parachain", - "polkadot-runtime-parachains", - "sp-io", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "yamux" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" -dependencies = [ - "futures 0.3.16", - "log", - "nohash-hasher", - "parking_lot 0.11.1", - "rand 0.8.4", - "static_assertions", -] - -[[package]] -name = "zeroize" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2c1e130bebaeab2f23886bf9acbaca14b092408c452543c857f66399cd6dab1" -dependencies = [ - "proc-macro2 1.0.28", - "quote 1.0.9", - "syn 1.0.75", - "synstructure", -] - -[[package]] -name = "zstd" -version = "0.6.1+zstd.1.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de55e77f798f205d8561b8fe2ef57abfb6e0ff2abe7fd3c089e119cdb5631a3" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "3.0.1+zstd.1.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1387cabcd938127b30ce78c4bf00b30387dddf704e3f0881dbc4ff62b5566f8c" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "1.4.20+zstd.1.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd5b733d7cf2d9447e2c3e76a5589b4f5e5ae065c22a2bc0b023cbc331b6c8e" -dependencies = [ - "cc", - "libc", -] diff --git a/Cargo.toml b/Cargo.toml deleted file mode 100644 index 6f86d8354e..0000000000 --- a/Cargo.toml +++ /dev/null @@ -1,205 +0,0 @@ -[profile.release] -panic = 'unwind' - -[workspace] -members = [ - 'node', - 'pallets/*', - 'primitives/*', - 'runtime/*', - - 'rpc', - 'pallets/asset-index/rpc', - 'pallets/asset-index/rpc/runtime-api', -] -exclude = ["test-utils/xcm-test-support"] - -[patch."https://github.com/paritytech/substrate"] -frame-benchmarking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-benchmarking-cli = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-election-provider-support = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-executive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-support = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-support-procedural = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-support-procedural-tools = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-support-procedural-tools-derive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-system = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -frame-try-runtime = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -#max-encoded-len = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -#max-encoded-len-derive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-aura = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-authority-discovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-authorship = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-babe = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-balances = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-bounties = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-collective = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-democracy = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-election-provider-multi-phase = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-elections-phragmen = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-grandpa = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-identity = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-im-online = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-indices = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-membership = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-mmr = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-mmr-primitives = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-mmr-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-multisig = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-nicks = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-offences = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-proxy = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-offences-benchmarking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-randomness-collective-flip = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-recovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-session-benchmarking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-scheduler = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-sudo = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-session = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-society = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-staking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-staking-reward-curve = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-timestamp = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-tips = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-transaction-payment = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-treasury = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-utility = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -pallet-vesting = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -remote-externalities = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-authority-discovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-basic-authorship = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-block-builder = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-chain-spec = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-cli = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-client-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-client-db = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-consensus = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-consensus-aura = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-consensus-babe = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-consensus-babe-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-consensus-epochs = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-consensus-manual-seal = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-consensus-slots = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-executor = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-executor-common = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-executor-wasmtime = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-finality-grandpa = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-finality-grandpa-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -#sc-finality-grandpa-warp-sync = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-informant = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-keystore = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-network = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-network-gossip = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-offchain = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-rpc-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-service = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-sync-state-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-telemetry = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-tracing = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-transaction-pool = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sc-transaction-pool-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-application-crypto = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-arithmetic = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-authority-discovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-block-builder = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-blockchain = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-consensus = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-consensus-aura = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-consensus-babe = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-consensus-slots = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-consensus-vrf = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-core = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-debug-derive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-externalities = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-finality-grandpa = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-inherents = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-io = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-keystore = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-maybe-compressed-blob = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-npos-elections = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-offchain = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-runtime = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-runtime-interface = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-serializer = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-session = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-staking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-state-machine = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-std = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-storage = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-timestamp = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-tracing = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-transaction-pool = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-trie = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-utils = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-version = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -sp-wasm-interface = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -substrate-build-script-utils = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -substrate-frame-rpc-system = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -substrate-prometheus-endpoint = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -try-runtime-cli = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} -substrate-wasm-builder = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} - -[patch."https://github.com/paritytech/polkadot"] -xcm = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -xcm-executor = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -xcm-builder = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -pallet-xcm = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-parachain = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-primitives = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-core-primitives = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-runtime-common = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -rococo-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -westend-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -kusama-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-runtime-parachains = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-node-network-protocol = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-node-subsystem = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-statement-table = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-test-service = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-overseer = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-node-primitives = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-service = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-cli = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-node-core-pvf = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } -polkadot-client = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } - -[patch."https://github.com/paritytech/cumulus"] -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -pallet-collator-selection = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -parachain-info = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-client-cli = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-client-collator = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-client-network = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-client-service = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-pallet-xcm = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-primitives-core = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-primitives-utility = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } -cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } - -[patch."https://github.com/paritytech/grandpa-bridge-gadget"] -pallet-beefy = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } -beefy-primitives = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } -beefy-gadget = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } -beefy-gadget-rpc = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } - -[patch."https://github.com/open-web3-stack/open-runtime-module-library"] -orml-currencies = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } -orml-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } -orml-xtokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } -orml-xcm-support = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } -orml-traits = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } diff --git a/HEADER-LICENSE b/HEADER-LICENSE deleted file mode 100644 index d73ea080e6..0000000000 --- a/HEADER-LICENSE +++ /dev/null @@ -1,2 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 0a041280bd..0000000000 --- a/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/README.md b/README.md deleted file mode 100644 index 822648a38e..0000000000 --- a/README.md +++ /dev/null @@ -1,95 +0,0 @@ -# Polkadot Index Network Token (PINT :beer:) - -[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](http://www.gnu.org/licenses/lgpl-3.0) - -A Polkadot ecosystem index for investors. A self sustaining auction treasury for parachains. - -Organized by the Stateless Money validator, governed by a community that includes Polychain Capital, Hypersphere Ventures, HashKey Capital, Acala, and built by ChainSafe as a StakerDAO product. - -For more information on the project please visit [Polkadot Index Network Token](https://docs.polkadotindex.com/) documentation. - -❗**Current development should be considered a work in progress.** - -## Upstream - -This project is a fork of the -[Substrate Developer Hub Node Template](https://github.com/substrate-developer-hub/substrate-node-template). - -## Build & Run - -Follow these steps to prepare a local Substrate development environment :hammer_and_wrench: - -### Setup - -This project currently builds against Rust nightly-2021-01-26. Assuming you have rustup already insatlled set up your local environment: - -```shell -rustup install nightly-2021-01-26 -rustup target add wasm32-unknown-unknown --toolchain nightly-2021-01-26 -rustup override set nightly-2021-01-26 -``` - -### Build - -Once the development environment is set up, build the node template. This command will build the -[Wasm](https://substrate.dev/docs/en/knowledgebase/advanced/executor#wasm-execution) and -[native](https://substrate.dev/docs/en/knowledgebase/advanced/executor#native-execution) code: - -```bash -cargo build --release -``` - -Note: If the build fails with `(signal: 9, SIGKILL: kill)` it has probably run out of memory. Try freeing some memory or build on another machine. - -## Run - -### Local Testnet - -Polkadot (release-v0.9.x branch) - -``` -cargo build --release - -./target/release/polkadot build-spec --chain rococo-local --raw --disable-default-bootnode > rococo_local.json - -./target/release/polkadot --chain ./rococo_local.json -d cumulus_relay0 --validator --alice --port 9844 - -./target/release/polkadot --chain ./rococo_local.json -d cumulus_relay1 --validator --bob --port 9955 -``` - -PINT Parachain: - -``` -# this command assumes the chain spec is in a directory named polkadot that is a sibling of the pint directory -./target/release/pint --collator --alice --chain pint-dev --ws-port 9945 --parachain-id 200 --rpc-cors all -- --execution wasm --chain ../polkadot/rococo_local.json --ws-port 9977 --rpc-cors all -``` - -### Registering on Local Relay Chain - -In order to produce blocks you will need to register the parachain as detailed in the [Substrate Cumulus Workshop](https://substrate.dev/cumulus-workshop/#/en/3-parachains/2-register) by going to - -Developer -> sudo -> paraSudoWrapper -> sudoScheduleParaInitialize(id, genesis) - -Ensure you set the `ParaId` to `200` and the `parachain: Bool` to `Yes`. - -``` -cargo build --release -# Build the Chain spec -./target/release/pint build-spec --disable-default-bootnode > ./pint-local-plain.json -# Build the raw file -./target/release/pint build-spec --chain=./pint-local-plain.json --raw --disable-default-bootnode > ./pint-local.json - - -# export genesis state and wasm -./target/release/pint export-genesis-state --parachain-id 200 > ./resources/para-200-genesis -./target/release/pint export-genesis-wasm > ./para-200.wasm -``` - - -* [polkadot-launch](https://github.com/paritytech/polkadot-launch) can be run by dropping the proper polkadot binary in the `./bin` folder and - * Run globally - * `polkadot-launch config.json` - * Run locally, navigate into polkadot-launch, - * ``` yarn ``` - * ``` yarn start ``` - diff --git a/config.json b/config.json deleted file mode 100644 index b9120dc73b..0000000000 --- a/config.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "relaychain": { - "bin": "./bin/polkadot", - "chain": "rococo-local", - "nodes": [ - { - "name": "alice", - "wsPort": 9944, - "port": 30444 - }, - { - "name": "bob", - "wsPort": 9955, - "port": 30555 - }, - { - "name": "charlie", - "wsPort": 9966, - "port": 30666 - } - ] - }, - "parachains": [ - { - "bin": "./bin/pint", - "chain": "pint-dev", - "id": "1", - "balance": "1000000000000000000000", - "nodes": [ - { - "wsPort": 9988, - "port": 31200, - "flags": [ - "-lruntime=debug", - "--unsafe-ws-external", - "--", - "--execution=wasm" - ] - } - ] - }, - { - "bin": "./bin/statemint", - "chain": "statemint-dev", - "id": "300", - "balance": "1000000000000000000000", - "nodes": [ - { - "wsPort": 9999, - "port": 31300, - "flags": ["-lruntime=debug", "--", "--execution=wasm"] - } - ] - } - ], - "simpleParachains": [], - "hrmpChannels": [ - { - "sender": 1, - "recipient": 300, - "maxCapacity": 8, - "maxMessageSize": 512 - } - ], - "types": {}, - "finalization": true -} diff --git a/docker/launch.Dockerfile b/docker/launch.Dockerfile deleted file mode 100644 index b1d0c94800..0000000000 --- a/docker/launch.Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -# syntax=docker/dockerfile:experimental -# -# Copyright 2021 ChainSafe Systems -# SPDX-License-Identifier: LGPL-3.0-only -# -# This Dockerfile builds the environment of e2e tests -FROM debian:buster-slim -COPY config.json config.json -COPY js/polkadot-launch polkadot-launch -COPY --from=chainsafe/pint /usr/local/bin/pint bin/ -COPY --from=clearloop/rococo-v1 /polkadot bin/ -COPY --from=clearloop/statemint /statemint bin/ -ENV CARGO_TERM_COLOR=always -RUN apt-get update -y \ - && apt-get install openssl curl git -y \ - && curl -sL https://deb.nodesource.com/setup_15.x | bash - \ - && apt-get -qqy --no-install-recommends install nodejs -y \ - && rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb \ - && rm -f /var/cache/apt/*.bin \ - && cd polkadot-launch \ - && npm install \ - && npm run build -EXPOSE 9988 -ENTRYPOINT [ "node", "polkadot-launch/dist/index.js", "config.json" ] diff --git a/docker/release.Dockerfile b/docker/release.Dockerfile deleted file mode 100644 index f217412090..0000000000 --- a/docker/release.Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -# syntax=docker/dockerfile:experimental -# -# Copyright 2021 ChainSafe Systems -# SPDX-License-Identifier: LGPL-3.0-only -# -# Building layer -FROM paritytech/ci-linux:production as builder -COPY . . -ENV CARGO_TERM_COLOR=always -RUN --mount=type=cache,target=/usr/local/cargo/git \ - --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,sharing=private,target=target \ - cargo build --release \ - && mv target/release/pint /pint - -# Release -FROM debian:buster-slim -LABEL description="The docker image of PINT" -COPY --from=builder /pint /usr/local/bin/ -RUN useradd -m -u 1000 -U -s /bin/sh -d /pint pint && \ - mkdir -p /pint/.local/share && \ - mkdir /data && \ - chown -R pint:pint /data && \ - ln -s /data /pint/.local/share/pint && \ - rm -rf /usr/bin /usr/sbin -USER pint -# 30333 for p2p traffic -# 9933 for RPC call -# 9944 for Websocket -# 9615 for Prometheus (metrics) -EXPOSE 30333 9933 9944 9615 -VOLUME [ "/data" ] -ENTRYPOINT [ "/usr/local/bin/pint" ] diff --git a/docker/rococo.Dockerfile b/docker/rococo.Dockerfile deleted file mode 100644 index abe1ca8441..0000000000 --- a/docker/rococo.Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# syntax=docker/dockerfile:experimental -# -# Copyright 2021 ChainSafe Systems -# SPDX-License-Identifier: LGPL-3.0-only -# -# rococo-v1 -FROM paritytech/ci-linux:production as builder -COPY . . -ENV CARGO_TERM_COLOR=always -RUN --mount=type=cache,target=/usr/local/cargo/git \ - --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,sharing=private,target=target \ - git clone https://github.com/paritytech/polkadot.git -b rococo-v1 --depth=1 \ - && cd polkadot \ - && cargo build --release \ - && mv target/release/polkadot /polkadot - -# Only a binary for debian -FROM scratch -COPY --from=builder /polkadot / diff --git a/docker/statemint.Dockerfile b/docker/statemint.Dockerfile deleted file mode 100644 index ae43ba8e5f..0000000000 --- a/docker/statemint.Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# syntax=docker/dockerfile:experimental -# -# Copyright 2021 ChainSafe Systems -# SPDX-License-Identifier: LGPL-3.0-only -# -# statemint -FROM paritytech/ci-linux:production as builder -COPY . . -ENV CARGO_TERM_COLOR=always -RUN --mount=type=cache,target=/usr/local/cargo/git \ - --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,sharing=private,target=target \ - git clone https://github.com/paritytech/statemint.git --depth=1 \ - && cd statemint \ - && cargo build --release \ - && mv target/release/statemilnt /statemint - -# Only a binary for debian -FROM scratch -COPY --from=builder /statemint / diff --git a/js/.prettierrc b/js/.prettierrc deleted file mode 100644 index c9c98c1fb1..0000000000 --- a/js/.prettierrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "tabWidth": 4, - "overrides": [ - { - "files": "*.json", - "options": { - "tabWidth": 2 - } - }, - { - "files": ".prettierrc", - "options": { - "tabWidth": 2 - } - } - ] -} diff --git a/js/e2e/README.md b/js/e2e/README.md deleted file mode 100644 index dc6780d5fd..0000000000 --- a/js/e2e/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# E2E - -E2E tests for PINT - -This package will traverse all APIs provided written in the config - - -## LICENSE - -GNU-v3 diff --git a/js/e2e/index.ts b/js/e2e/index.ts deleted file mode 100644 index 145b1a4ee7..0000000000 --- a/js/e2e/index.ts +++ /dev/null @@ -1,506 +0,0 @@ -/** - * E2E tests for PINT - */ -import { - assert, - Runner, - expandId, - Extrinsic, - ExtrinsicConfig, - IExtrinsic, - waitBlock, -} from "./src"; -import { ApiPromise } from "@polkadot/api"; -import { Balance } from "@polkadot/types/interfaces/runtime"; -import BN from "bn.js"; - -const ASSET_ID_A: number = 42; -const ASSET_ID_A_UNITS: number = 1; -const ASSET_ID_A_VALUE: number = 1; -const ASSET_ID_A_DEPOSIT: BN = new BN(10000); -const ASSET_ID_B: number = 43; -const BALANCE_THOUSAND: BN = new BN(1000); -const VOTING_PERIOD: number = 10; -const WITHDRAWALS_PERIOD: number = 10; - -const TESTS = (api: ApiPromise, config: ExtrinsicConfig): Extrinsic[] => { - const PINT: Balance = api.createType("Balance", Math.pow(10, 12)); - const PARENT_LOCATION = api.createType("MultiLocation", { - X2: [ - api.createType("Junction", { Parent: null }), - api.createType("Junction", { - AccountId32: { - network: "Any", - id: config.alice.address, - }, - }), - ], - }); - - return [ - /* balance */ - { - signed: config.alice, - pallet: "balances", - call: "transfer", - args: [config.charlie.address, PINT.mul(BALANCE_THOUSAND)], - with: [ - { - signed: config.alice, - pallet: "balances", - call: "transfer", - args: [config.dave.address, PINT.mul(BALANCE_THOUSAND)], - }, - ], - }, - /* asset-index */ - { - signed: config.alice, - pallet: "assetIndex", - call: "setMetadata", - args: [ASSET_ID_A, "PINT_TEST", "P", 9], - verify: async () => { - assert( - JSON.stringify( - ( - await api.query.assetIndex.metadata(ASSET_ID_A) - ).toHuman() - ) === - JSON.stringify({ - name: "PINT_TEST", - symbol: "P", - decimals: "9", - }), - "assetIndex.setMetadata failed" - ); - }, - }, - { - signed: config.alice, - pallet: "assetIndex", - call: "addAsset", - args: [ - ASSET_ID_A, - ASSET_ID_A_UNITS, - PARENT_LOCATION, - ASSET_ID_A_VALUE, - ], - verify: async () => { - assert( - ((await api.query.assetIndex.assets(ASSET_ID_A)) as any) - .isSome, - "assetIndex.addAsset failed" - ); - }, - }, - { - required: ["priceFeed.mapAssetPriceFeed"], - shared: async () => { - return (await api.query.system.account(config.alice.address)) - .data.free; - }, - signed: config.alice, - pallet: "assetIndex", - call: "deposit", - args: [ASSET_ID_A, PINT.mul(ASSET_ID_A_DEPOSIT)], - verify: async (before: Balance) => { - const current = ( - await api.query.system.account(config.alice.address) - ).data.free; - - // cover weight fee - assert( - current.sub(before).div(PINT).toNumber() === - ASSET_ID_A_DEPOSIT.toNumber() - 1, - "assetIndex.deposit failed" - ); - }, - }, - { - required: ["priceFeed.mapAssetPriceFeed"], - signed: config.alice, - pallet: "assetIndex", - call: "withdraw", - args: [PINT.mul(BALANCE_THOUSAND).div(new BN(4))], - verify: async () => { - assert( - ( - ( - await api.query.assetIndex.pendingWithdrawals( - config.alice.address - ) - ).toHuman() as any - ).length === 1, - "assetIndex.withdraw failed" - ); - }, - }, - { - required: ["assetIndex.withdraw"], - shared: async () => { - const currentBlock = ( - await api.derive.chain.bestNumber() - ).toNumber(); - const pendingWithdrawls = - await api.query.assetIndex.pendingWithdrawals( - config.alice.address - ); - - const end = (pendingWithdrawls as any).toHuman()[0].end_block; - const needsToWait = - end - currentBlock > WITHDRAWALS_PERIOD - ? end - currentBlock - WITHDRAWALS_PERIOD - : 0; - - console.log( - `\t | waiting for the withdrawls peirod (around ${Math.floor( - (needsToWait * 12) / 60 - )} mins)...` - ); - - await waitBlock(needsToWait); - }, - signed: config.alice, - pallet: "assetIndex", - call: "completeWithdraw", - args: [], - verify: async () => { - assert( - ( - (await api.query.assetIndex.pendingWithdrawals( - config.alice.address - )) as any - ).isNone, - "assetIndex.completeWithdraw failed" - ); - }, - }, - /* remote-asset-manager*/ - { - required: ["priceFeed.mapAssetPriceFeed"], - signed: config.alice, - pallet: "remoteAssetManager", - call: "sendAddProxy", - args: [ASSET_ID_A, "Any", config.alice.address], - verify: async () => { - assert( - JSON.stringify( - ( - await api.query.remoteAssetManager.proxies( - ASSET_ID_A, - config.alice.address - ) - ).toJSON() - ) === - JSON.stringify({ - added: ["Any"], - }), - "remoteAssetManager.sendAddProxy failed" - ); - }, - }, - { - required: ["priceFeed.mapAssetPriceFeed"], - signed: config.alice, - pallet: "remoteAssetManager", - call: "sendBond", - args: [ - ASSET_ID_A, - config.alice.address, - 1000, - api.createType("RewardDestination", { - Staked: null, - }), - ], - verify: async () => { - assert( - JSON.stringify( - ( - await api.query.remoteAssetManager.palletStakingLedger( - ASSET_ID_A - ) - ).toJSON() - ) === - JSON.stringify({ - controller: config.alice.address, - bonded: 1000, - unbonded: 0, - unlocked_chunks: [0], - }), - - "remoteAssetManager.sendBond failed" - ); - }, - }, - /* committee */ - { - signed: config.alice, - pallet: "committee", - call: "propose", - args: [api.tx.balances.transfer(config.bob.address, 1000000)], - verify: async () => { - const proposals = await api.query.committee.activeProposals(); - assert( - (proposals as any).length > 0, - "no proposal found after committe.propose" - ); - }, - }, - { - required: ["committee.propose"], - shared: async () => { - return new Promise(async (resolve) => { - await waitBlock(1); - const hash = ( - (await api.query.committee.activeProposals()) as any - )[0]; - const currentBlock = ( - await api.derive.chain.bestNumber() - ).toNumber(); - - const end = ( - (await api.query.committee.votes(hash)).toJSON() as any - ).end as number; - - const needsToWait = - end - currentBlock > VOTING_PERIOD - ? end - currentBlock - VOTING_PERIOD - : 0; - - console.log( - `\t | waiting for the voting peirod (around ${Math.floor( - (needsToWait * 12) / 60 - )} mins)...` - ); - - await waitBlock(needsToWait); - resolve(hash); - }); - }, - signed: config.alice, - pallet: "committee", - call: "vote", - args: [(hash: string) => hash, api.createType("Vote" as any)], - with: [ - async (hash: string): Promise => { - return { - signed: config.bob, - pallet: "committee", - call: "vote", - args: [hash, api.createType("Vote" as any)], - }; - }, - async (hash: string): Promise => { - return { - signed: config.charlie, - pallet: "committee", - call: "vote", - args: [hash, api.createType("Vote" as any)], - }; - }, - async (hash: string): Promise => { - return { - signed: config.dave, - pallet: "committee", - call: "vote", - args: [hash, api.createType("Vote" as any)], - }; - }, - ], - verify: async (hash: string) => { - assert( - ((await api.query.committee.votes(hash)).toJSON() as any) - .votes[0].vote === "Aye", - "committee.vote failed" - ); - }, - }, - { - required: ["committee.vote"], - shared: async () => { - const hash = ( - (await api.query.committee.activeProposals()) as any - )[0]; - return hash; - }, - signed: config.alice, - pallet: "committee", - call: "close", - args: [(hash: string) => hash], - verify: async (hash: string) => { - const proposals = await api.query.committee.executedProposals( - hash - ); - assert( - (proposals as any).isSome, - "no proposal executed after committe.close" - ); - }, - }, - { - pallet: "committee", - call: "addConstituent", - args: [config.ziggy.address], - verify: async () => { - assert( - ( - (await api.query.committee.members( - config.ziggy.address - )) as any - ).isSome, - "Add constituent failed" - ); - }, - }, - /* local_treasury */ - { - pallet: "localTreasury", - call: "withdraw", - args: [500000000000, config.ziggy.address], - verify: async () => { - assert( - ( - await api.derive.balances.all(config.ziggy.address) - ).freeBalance.toNumber() === 500000000000, - "localTreasury.withdraw failed" - ); - }, - }, - /* chainlink_feed */ - { - signed: config.alice, - pallet: "chainlinkFeed", - call: "createFeed", - args: [ - 100000000000, - 0, - [100000000000, 100000000000], - 1, - 9, - "test_feed", - 0, - [[config.alice.address, config.bob.address]], - null, - null, - ], - verify: async () => { - assert( - (await api.query.chainlinkFeed.feeds.entries()).length === - 1, - "Create feed failed" - ); - }, - }, - { - signed: config.alice, - pallet: "chainlinkFeed", - call: "submit", - args: [0, 1, 100000000000], - verify: async () => { - assert( - (await api.query.chainlinkFeed.rounds(0, 1)).isEmpty, - "Create feed failed" - ); - }, - }, - /* price-feed */ - { - required: ["chainlinkFeed.submit"], - pallet: "priceFeed", - call: "mapAssetPriceFeed", - args: [ASSET_ID_A, 0], - verify: async () => { - assert( - Number( - ( - await api.query.priceFeed.assetFeeds(ASSET_ID_A) - ).toHuman() - ) === 0, - "map feed failed" - ); - }, - }, - { - required: ["assetIndex.deposit"], - pallet: "priceFeed", - call: "unmapAssetPriceFeed", - args: [ASSET_ID_A], - verify: async () => { - assert( - ((await api.query.priceFeed.assetFeeds(ASSET_ID_A)) as any) - .isNone, - "unmap price feed failed" - ); - }, - }, - /* saft-registry */ - { - signed: config.alice, - pallet: "saftRegistry", - call: "addSaft", - args: [ASSET_ID_B, 168, 42], - verify: async () => { - assert( - ((await api.query.assetIndex.assets(ASSET_ID_B)) as any) - .isSome, - "Add saft failed" - ); - }, - }, - // { - // required: ["saftRegistry.addSaft"], - // signed: config.alice, - // pallet: "saftRegistry", - // call: "reportNav", - // args: [ASSET_ID_B, 0, 336], - // verify: async () => { - // const saft = ( - // (await api.query.saftRegistry.activeSAFTs( - // ASSET_ID_B, - // Number( - // ( - // await api.query.saftRegistry.sAFTCounter( - // ASSET_ID_B - // ) - // ).toHuman() - // ) - // )) as any - // ).toJSON(); - // // const expect = { - // // nav: 336, - // // units: 42, - // // }; - // // assert( - // // JSON.stringify(saft[0]) === - // // JSON.stringify({ - // // nav: 336, - // // units: 42, - // // }), - // // `Report nav failed, expect: ${JSON.stringify( - // // expect - // // )}, result: ${JSON.stringify(saft[0])}` - // // ); - // }, - // }, - /* asset-index */ - { - required: ["saftRegistry.deposit"], - signed: config.alice, - pallet: "assetIndex", - call: "removeAsset", - args: [ASSET_ID_A, BALANCE_THOUSAND, null], - verify: async () => { - assert( - ((await api.query.assetIndex.assets(ASSET_ID_A)) as any) - .isNone, - "assetIndex.removeAsset failed" - ); - }, - }, - ].map((e) => new Extrinsic(expandId(e), api, config.alice)); -}; - -// main -(async () => { - await Runner.run(TESTS); -})(); diff --git a/js/e2e/package.json b/js/e2e/package.json deleted file mode 100644 index f2ec83b84d..0000000000 --- a/js/e2e/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@pint/e2e", - "version": "1.0.0", - "description": "E2E tests for PINT", - "main": "index.js", - "repository": "https://github.com/ChainSafe/PINT", - "author": "ChainSafe", - "license": "GNU-v3", - "private": true, - "devDependencies": { - "@polkadot/types": "^4.15.1", - "@types/bn.js": "^5.1.0", - "@types/node": "^15.3.1", - "ts-node": "^10.0.0", - "tslint": "^6.1.3", - "typescript": "^4.2.4" - }, - "dependencies": { - "@open-web3/orml-types": "^0.9.3", - "@pint/types": "^1.0.0", - "@polkadot/api": "^4.15.1", - "@polkadot/keyring": "^6.9.1", - "@polkadot/util-crypto": "^6.9.1", - "bn.js": "^5.2.0", - "find-up": "^5.0.0" - }, - "scripts": { - "start": "ts-node index.ts", - "build": "tsc --strict", - "lint": "tsc --noEmit --strict && tslint --project ./tsconfig.json" - } -} diff --git a/js/e2e/src/config.ts b/js/e2e/src/config.ts deleted file mode 100644 index 83dae24435..0000000000 --- a/js/e2e/src/config.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Config of E2E tests - */ -import { ApiPromise } from "@polkadot/api"; -import { KeyringPair } from "@polkadot/keyring/types"; -import { Extrinsic } from "./extrinsic"; - -/** - * The config of e2e tests - */ -export interface Config { - api: ApiPromise; - pair: KeyringPair; - exs: Extrinsic[]; -} - -/** - * The config of extrinsics - */ -export interface ExtrinsicConfig { - alice: KeyringPair; - bob: KeyringPair; - charlie: KeyringPair; - dave: KeyringPair; - ziggy: KeyringPair; -} - -/** - * Extrinsic interface - */ -export interface IExtrinsic { - // extrinsic id - id?: string; - // use signed origin - signed?: KeyringPair; - pallet: string; - call: string; - args: any[]; - shared?: () => Promise; - verify?: (shared?: any) => Promise; - /// Required calls or functions before this extrinsic - required?: string[]; - /// Calls or functions with this extrinsic - with?: (IExtrinsic | ((shared?: any) => Promise))[]; -} diff --git a/js/e2e/src/extrinsic.ts b/js/e2e/src/extrinsic.ts deleted file mode 100644 index f0bb3597f0..0000000000 --- a/js/e2e/src/extrinsic.ts +++ /dev/null @@ -1,181 +0,0 @@ -/** - * Extrinsic - */ -import { KeyringPair } from "@polkadot/keyring/types"; -import { IExtrinsic } from "./config"; -import { ISubmittableResult } from "@polkadot/types/types"; -import { DispatchError, EventRecord } from "@polkadot/types/interfaces/types"; -import { SubmittableExtrinsic } from "@polkadot/api/types"; -import { ApiPromise } from "@polkadot/api"; - -// Substrate transaction -export type Transaction = SubmittableExtrinsic<"promise", ISubmittableResult>; - -// runTx Result -interface TxResult { - unsub: Promise<() => void>; - blockHash: string; -} - -/** - * Custom Extrinsic - */ -export class Extrinsic { - api: ApiPromise; - pair: KeyringPair; - // extrinsic id - id?: string; - // use signed origin - signed?: KeyringPair; - pallet: string; - call: string; - args: any[]; - shared?: () => Promise; - verify?: (shared?: any) => Promise; - /// Required calls or functions before this extrinsic - required?: string[]; - /// Calls or functions with this extrinsic - with?: (IExtrinsic | ((shared?: any) => Promise))[]; - - constructor(e: IExtrinsic, api: ApiPromise, pair: KeyringPair) { - this.api = api; - this.pair = pair; - this.id = e.id; - this.signed = e.signed; - this.pallet = e.pallet; - this.call = e.call; - this.args = e.args; - this.shared = e.shared; - this.verify = e.verify; - this.required = e.required; - this.with = e.with; - } - - /** - * Build transaction from extrinsic - * - * @param {ex} Extrinsic - * @returns {Transaction} - */ - public build(): Transaction { - // flush arguments - const args: any[] = []; - for (const arg of this.args) { - if (typeof arg === "function") { - args.push(arg(this.shared)); - } else { - args.push(arg); - } - } - - // construct tx - let tx = this.api.tx[this.pallet][this.call](...args); - if (!this.signed) { - tx = this.api.tx.sudo.sudo(tx); - } - - return tx; - } - - /** - * Parse transaction errors - * - * @param {ISubmittableResult} sr - * @returns {Promise} - */ - private async send( - se: SubmittableExtrinsic<"promise", ISubmittableResult>, - nonce: number, - signed = this.pair - ): Promise { - return new Promise((resolve, reject) => { - const unsub: any = se.signAndSend( - signed, - { nonce }, - async (sr: ISubmittableResult) => - await this.checkError(unsub, sr, resolve, reject) - ); - }); - } - - /** - * Check and throw transaction errors - * - * @param {boolean} inblock - * @param {Promise<() => void>} unsub - * @param {ISubmittableResult} sr - * @param {(value: TxResult | PromiseLike) => void} resolve - * @param {(reason?: any) => void} reject - */ - private async checkError( - unsub: Promise<() => void>, - sr: ISubmittableResult, - resolve: (value: TxResult | PromiseLike) => void, - reject: (reason?: any) => void - ) { - const status = sr.status; - const events = sr.events; - - console.log(`\t | - ${this.id} status: ${status.type}`); - - if (status.isInBlock) { - if (events) { - events.forEach((value: EventRecord): void => { - const maybeError = value.event.data[0]; - if (maybeError && (maybeError as DispatchError).isModule) { - const error = this.api.registry.findMetaError( - ( - value.event.data[0] as DispatchError - ).asModule.toU8a() - ); - reject( - `${error.section}.${error.method}: ${error.documentation}` - ); - } - }); - } - } else if (status.isInvalid) { - reject("Invalid Extrinsic"); - } else if (status.isRetracted) { - reject("Extrinsic Retracted"); - } else if (status.isUsurped) { - reject("Extrinsic Usupred"); - } else if (status.isFinalized) { - resolve({ - unsub, - blockHash: status.asFinalized.toHex().toString(), - }); - } - } - - /** - * Run Extrinsic - * - * @param {ex} Extrinsic - */ - public async run(errors: string[], nonce: number): Promise { - console.log( - `-> queue extrinsic ${nonce}: ${this.pallet}.${this.call}...` - ); - const tx = this.build(); - - // get res - const res = (await this.send(tx, nonce, this.signed).catch( - (err: any) => { - errors.push( - `====> Error: ${this.pallet}.${this.call} failed: ${err}` - ); - } - )) as TxResult; - - // thisecute verify script - if (this.verify) { - console.log(`\t | verify: ${this.pallet}.${this.call}`); - await this.verify(this.shared); - } - - if (res && res.unsub) { - (await res.unsub)(); - } - } -} diff --git a/js/e2e/src/index.ts b/js/e2e/src/index.ts deleted file mode 100644 index f21dade6cc..0000000000 --- a/js/e2e/src/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * E2E tests for PINT - */ -import Runner from "./runner"; -export { Config, ExtrinsicConfig, IExtrinsic } from "./config"; -export * as Launch from "./launch"; -export { Extrinsic } from "./extrinsic"; -export { assert, expandId, waitBlock } from "./util"; -export { Runner }; diff --git a/js/e2e/src/launch.ts b/js/e2e/src/launch.ts deleted file mode 100644 index ec822aa6f6..0000000000 --- a/js/e2e/src/launch.ts +++ /dev/null @@ -1,66 +0,0 @@ -/** - * pint-launch - */ -import fs from "fs"; -import findUp from "find-up"; -import path from "path"; -import { fork, ChildProcess, StdioOptions, spawn } from "child_process"; - -/** - * Launch PINT locally - * - * @param stdio {StdioOptions} - * @returns {Promise} - */ -export async function local(stdio?: StdioOptions): Promise { - return fork("js/polkadot-launch", ["config.json"], { - cwd: path.resolve(String(await findUp("Cargo.toml")), ".."), - killSignal: "SIGINT", - stdio, - } as any); -} - -/** - * Launch PINT via docker (CI) - * - * @param stdio {StdioOptions} - * @returns {Promise} - */ -export async function docker(stdio?: StdioOptions): Promise { - return spawn( - "sudo", - [ - "docker", - "run", - "--name", - "launch", - "-p", - "9988:9988", - "-p", - "9966:9966", - "-p", - "9999:9999", - "--ip", - "0.0.0.0", - "launch", - ], - { - stdio, - } - ); -} - -/** - * Launch PINT via local or docker - * - * @param stdio {StdioOptions} - * @returns {Promise} - */ -export async function launch(stdio?: StdioOptions): Promise { - const root = await findUp("Cargo.toml"); - if (fs.existsSync(path.resolve(String(root), "../bin/pint"))) { - return local(stdio); - } else { - return docker(stdio); - } -} diff --git a/js/e2e/src/runner.ts b/js/e2e/src/runner.ts deleted file mode 100644 index 6cc2ec1c37..0000000000 --- a/js/e2e/src/runner.ts +++ /dev/null @@ -1,263 +0,0 @@ -/** - * Runner extensions - */ -import { ApiPromise, WsProvider } from "@polkadot/api"; -import { Keyring } from "@polkadot/keyring"; -import { KeyringPair } from "@polkadot/keyring/types"; -import ChainlinkTypes from "@pint/types/chainlink.json"; -import { definitions } from "@pint/types"; -import { Config, ExtrinsicConfig } from "./config"; -import { Extrinsic } from "./extrinsic"; -import { launch } from "./launch"; -import { expandId } from "./util"; -import { ChildProcess } from "child_process"; -import OrmlTypes from "@open-web3/orml-types"; - -// Extrinsics builder -type Builder = (api: ApiPromise, config: ExtrinsicConfig) => Extrinsic[]; - -// Message of launching complete -export const LAUNCH_COMPLETE: string = "POLKADOT LAUNCH COMPLETE"; - -// Kill subprocesses -function killAll(ps: ChildProcess, exitCode: number) { - try { - if (ps.send && !ps.killed) { - ps.send("exit"); - } - ps.kill("SIGINT"); - } catch (e) { - if (e.code !== "EPERM") { - process.stdout.write(e); - process.exit(2); - } - } - - process.exit(exitCode); -} - -/** - * E2E runner - */ -export default class Runner implements Config { - public api: ApiPromise; - public pair: KeyringPair; - public exs: Extrinsic[]; - public errors: string[]; - public finished: string[]; - public nonce: number; - - /** - * run E2E tests - * - * @param {Builder} exs - Extrinsic builder - * @param {string} ws - "ws://0.0.0.0:9988" by default - * @param {string} uri - "//Alice" by default - * @returns {Promise} - */ - static async run( - exs: Builder, - ws: string = "ws://127.0.0.1:9988", - uri: string = "//Alice" - ): Promise { - console.log("bootstrap e2e tests..."); - console.log("establishing ws connections... (around 2 mins)"); - const ps = await launch("pipe"); - if (ps.stdout) { - ps.stdout.on("data", async (chunk: Buffer) => { - process.stdout.write(chunk.toString()); - if (chunk.includes(LAUNCH_COMPLETE)) { - console.log("COMPLETE LAUNCH!"); - const runner = await Runner.build(exs, ws, uri); - await runner.runTxs(); - } - }); - } - - // Log errors - if (ps.stderr) { - ps.stderr.on("data", (chunk: Buffer) => - process.stderr.write(chunk.toString()) - ); - } - - // Kill all processes when exiting. - process.on("exit", () => { - console.log("-> exit polkadot-launch..."); - killAll(ps, Number(process.exitCode)); - }); - - // Handle ctrl+c to trigger `exit`. - process.on("SIGINT", () => killAll(ps, 0)); - } - - /** - * Build runner - * - * @param {string} ws - "ws://127.0.0.1:9988" by default - * @param {string} uri - "//Alice" by default - * @param {Extrinsic[]} exs - extrinsics - * @returns {Promise} - */ - static async build( - exs: Builder, - ws: string = "ws://127.0.0.1:9988", - uri: string = "//Alice" - ): Promise { - const provider = new WsProvider(ws); - const keyring = new Keyring({ type: "sr25519", ss58Format: 0 }); - - // pairs - const pair = keyring.addFromUri(uri); - const alice = keyring.addFromUri("//Alice"); - const bob = keyring.addFromUri("//Bob"); - const charlie = keyring.addFromUri("//Charlie"); - const dave = keyring.addFromUri("//Dave"); - const ziggy = keyring.addFromUri("//Ziggy"); - - // create api - const api = await ApiPromise.create({ - provider, - typesAlias: { - tokens: { - AccountData: "OrmlAccountData", - BalanceLock: "OrmlBalanceLock", - }, - }, - types: Object.assign( - { - ...ChainlinkTypes, - ...OrmlTypes, - }, - (definitions.types as any)[0].types - ), - }); - - // new Runner - return new Runner({ - api, - pair, - exs: exs(api, { - alice, - bob, - charlie, - dave, - ziggy, - }), - }); - } - - constructor(config: Config) { - this.api = config.api; - this.pair = config.pair; - this.exs = config.exs; - this.errors = []; - this.nonce = 0; - this.finished = []; - } - - /** - * Execute transactions - * - * @returns void - */ - public async runTxs(): Promise { - while (this.exs.length > 0) { - await this.queue().catch(console.error); - } - - if (this.errors.length > 0) { - console.log(`Failed tests: ${this.errors.length}`); - for (const error of this.errors) { - console.log(error); - } - process.exit(1); - } - console.log("COMPLETE TESTS!"); - process.exit(0); - } - - /** - * queue transactions - * - * @returns {Promise} - */ - public async queue(): Promise { - const queue: Extrinsic[] = []; - for (const e of this.exs) { - // 0. check if required ex with ids has finished - let requiredFinished = true; - if (e.required) { - for (const r of e.required) { - if (this.exs.map((i) => i.id).includes(r)) { - requiredFinished = false; - break; - } - } - } - - if (!requiredFinished) { - continue; - } - - // 1. Build shared data - if (typeof e.shared === "function") { - e.shared = await e.shared.call(this); - } - - // 2. Pend transactions - queue.push(e); - if (e.with) { - for (const w of e.with) { - const ex = - typeof w === "function" - ? expandId(await w(e.shared)) - : w; - queue.push(new Extrinsic(ex, this.api, this.pair)); - } - } - } - - // 3. register transactions - await this.batch(queue); - - // 4. drop executed exs - this.exs = this.exs.filter((e) => !queue.includes(e)); - - // 5. log pending txs - for (const ex of this.exs) { - console.log(`--> ${ex.id} is pending...`); - } - } - - /** - * Batch extrinsics - */ - public async batch(exs: Extrinsic[]): Promise { - let currentNonce = Number(this.nonce); - return Promise.all( - exs - .filter((e) => { - const isFunction = - typeof this.api.tx[e.pallet][e.call] === "function"; - - if (!isFunction) { - this.errors.push( - `====> Error: ${e.pallet}.${e.call} not exists` - ); - } - return isFunction; - }) - .map((e) => { - let n = -1; - if (!e.signed || e.signed.address === this.pair.address) { - n = Number(currentNonce); - currentNonce += 1; - } - return e.run(this.errors, n); - }) - ).then(() => { - this.nonce = currentNonce; - }); - } -} diff --git a/js/e2e/src/util.ts b/js/e2e/src/util.ts deleted file mode 100644 index d6098b51da..0000000000 --- a/js/e2e/src/util.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Utils - */ -import { IExtrinsic } from "./config"; - -export function assert(r: boolean, msg: string): string | void { - if (!r) { - return msg; - } -} - -/** - * Expand Id of extrinsic - */ -export function expandId(e: IExtrinsic): IExtrinsic { - if (!e.id) e.id = `${e.pallet}.${e.call}`; - - if (e.with) { - for (const r of e.with) { - if (typeof r !== "function") { - expandId(r); - } - } - } - - return e; -} - -/** - * Wait for n blocks - * - * The current gap of producing a block is 4s, - * we use 5s here. - * - * @param {number} block - * @returns {Promise} - */ -export async function waitBlock(block: number): Promise { - return new Promise((resolve) => setTimeout(resolve, block * 12000)); -} diff --git a/js/e2e/tsconfig.json b/js/e2e/tsconfig.json deleted file mode 100644 index 8db1eddfc2..0000000000 --- a/js/e2e/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "indent": [true, "spaces", 2], - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "baseUrl": ".", - "declaration": true, - "esModuleInterop": true, - "outDir": "lib", - "module": "commonjs", - "moduleResolution": "node", - "noImplicitAny": true, - "resolveJsonModule": true, - "sourceMap": true, - "skipLibCheck": true, - "target": "es6" - }, - "include": ["index.ts", "src/**/*"], - "exclude": ["node_modules"] -} diff --git a/js/e2e/tslint.json b/js/e2e/tslint.json deleted file mode 100644 index 0b5e9615e0..0000000000 --- a/js/e2e/tslint.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "tslint:recommended", - "rules": { - "curly": [true, "ignore-same-line"], - "max-classes-per-file": false, - "max-line-length": { - "options": [120] - }, - "new-parens": true, - "no-arg": true, - "no-bitwise": true, - "no-conditional-assignment": true, - "no-consecutive-blank-lines": false, - "no-console": false - }, - "linterOptions": { - "exclude": [] - } -} diff --git a/js/e2e/yarn.lock b/js/e2e/yarn.lock deleted file mode 100644 index 73b97af6d3..0000000000 --- a/js/e2e/yarn.lock +++ /dev/null @@ -1,815 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/runtime@^7.13.9", "@babel/runtime@^7.14.0": - version "7.14.0" - resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.0.tgz?cache=0&sync_timestamp=1619727501090&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha1-RnlLwgthLF915i3QceJN/ZXxy+Y= - dependencies: - regenerator-runtime "^0.13.4" - -"@polkadot/api-derive@4.10.1": - version "4.10.1" - resolved "https://registry.nlark.com/@polkadot/api-derive/download/@polkadot/api-derive-4.10.1.tgz#391ecde22d2f4de67b3eec3389d3f08b9a0cbc4c" - integrity sha1-OR7N4i0vTeZ7PuwzidPwi5oMvEw= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/api" "4.10.1" - "@polkadot/rpc-core" "4.10.1" - "@polkadot/types" "4.10.1" - "@polkadot/util" "^6.4.1" - "@polkadot/util-crypto" "^6.4.1" - "@polkadot/x-rxjs" "^6.4.1" - bn.js "^4.11.9" - -"@polkadot/api@4.10.1", "@polkadot/api@^4.10.1": - version "4.10.1" - resolved "https://registry.nlark.com/@polkadot/api/download/@polkadot/api-4.10.1.tgz#6a43c9c4585f3f92cd21d7ae85ae481d50eb3bac" - integrity sha1-akPJxFhfP5LNIdeuha5IHVDrO6w= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/api-derive" "4.10.1" - "@polkadot/keyring" "^6.4.1" - "@polkadot/metadata" "4.10.1" - "@polkadot/rpc-core" "4.10.1" - "@polkadot/rpc-provider" "4.10.1" - "@polkadot/types" "4.10.1" - "@polkadot/types-known" "4.10.1" - "@polkadot/util" "^6.4.1" - "@polkadot/util-crypto" "^6.4.1" - "@polkadot/x-rxjs" "^6.4.1" - bn.js "^4.11.9" - eventemitter3 "^4.0.7" - -"@polkadot/keyring@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/keyring/download/@polkadot/keyring-6.4.1.tgz#769c5f0613a27e18726b51e6539fa56f161f6160" - integrity sha1-dpxfBhOifhhya1HmU5+lbxYfYWA= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/util" "6.4.1" - "@polkadot/util-crypto" "6.4.1" - -"@polkadot/metadata@4.10.1": - version "4.10.1" - resolved "https://registry.nlark.com/@polkadot/metadata/download/@polkadot/metadata-4.10.1.tgz#f22b76e1fc575c20e44b8ba96949f474505ad5fb" - integrity sha1-8it24fxXXCDkS4upaUn0dFBa1fs= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/types" "4.10.1" - "@polkadot/types-known" "4.10.1" - "@polkadot/util" "^6.4.1" - "@polkadot/util-crypto" "^6.4.1" - bn.js "^4.11.9" - -"@polkadot/networks@6.4.1", "@polkadot/networks@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/networks/download/@polkadot/networks-6.4.1.tgz#0f933c4af10a2bfe8f072e2c7e8357ef03b2e37e" - integrity sha1-D5M8SvEKK/6PBy4sfoNX7wOy434= - dependencies: - "@babel/runtime" "^7.14.0" - -"@polkadot/rpc-core@4.10.1": - version "4.10.1" - resolved "https://registry.nlark.com/@polkadot/rpc-core/download/@polkadot/rpc-core-4.10.1.tgz#531cbb481db5ef02a162039a16958509859431f1" - integrity sha1-Uxy7SB217wKhYgOaFpWFCYWUMfE= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/metadata" "4.10.1" - "@polkadot/rpc-provider" "4.10.1" - "@polkadot/types" "4.10.1" - "@polkadot/util" "^6.4.1" - "@polkadot/x-rxjs" "^6.4.1" - -"@polkadot/rpc-provider@4.10.1": - version "4.10.1" - resolved "https://registry.nlark.com/@polkadot/rpc-provider/download/@polkadot/rpc-provider-4.10.1.tgz#822dbe90a2d0afbf67fcfa2c41ffc2c026d85c10" - integrity sha1-gi2+kKLQr79n/PosQf/CwCbYXBA= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/types" "4.10.1" - "@polkadot/util" "^6.4.1" - "@polkadot/util-crypto" "^6.4.1" - "@polkadot/x-fetch" "^6.4.1" - "@polkadot/x-global" "^6.4.1" - "@polkadot/x-ws" "^6.4.1" - bn.js "^4.11.9" - eventemitter3 "^4.0.7" - -"@polkadot/types-known@4.10.1": - version "4.10.1" - resolved "https://registry.nlark.com/@polkadot/types-known/download/@polkadot/types-known-4.10.1.tgz#3377a6482f116c88f82140e7327c9cdea32b0a1d" - integrity sha1-M3emSC8RbIj4IUDnMnyc3qMrCh0= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/networks" "^6.4.1" - "@polkadot/types" "4.10.1" - "@polkadot/util" "^6.4.1" - bn.js "^4.11.9" - -"@polkadot/types@4.10.1": - version "4.10.1" - resolved "https://registry.nlark.com/@polkadot/types/download/@polkadot/types-4.10.1.tgz#603d273ec5ad83cfce9d3eec05bbd198ae9677f0" - integrity sha1-YD0nPsWtg8/OnT7sBbvRmK6Wd/A= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/metadata" "4.10.1" - "@polkadot/util" "^6.4.1" - "@polkadot/util-crypto" "^6.4.1" - "@polkadot/x-rxjs" "^6.4.1" - "@types/bn.js" "^4.11.6" - bn.js "^4.11.9" - -"@polkadot/util-crypto@6.4.1", "@polkadot/util-crypto@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/util-crypto/download/@polkadot/util-crypto-6.4.1.tgz#b567d824598bf8f4587364c1d7234bafe805f1c5" - integrity sha1-tWfYJFmL+PRYc2TB1yNLr+gF8cU= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/networks" "6.4.1" - "@polkadot/util" "6.4.1" - "@polkadot/wasm-crypto" "^4.0.2" - "@polkadot/x-randomvalues" "6.4.1" - base-x "^3.0.8" - base64-js "^1.5.1" - blakejs "^1.1.0" - bn.js "^4.11.9" - create-hash "^1.2.0" - elliptic "^6.5.4" - hash.js "^1.1.7" - js-sha3 "^0.8.0" - scryptsy "^2.1.0" - tweetnacl "^1.0.3" - xxhashjs "^0.2.2" - -"@polkadot/util@6.4.1", "@polkadot/util@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/util/download/@polkadot/util-6.4.1.tgz#f40fdc91ae49396d7930e37dbd31747769555b7a" - integrity sha1-9A/cka5JOW15MON9vTF0d2lVW3o= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/x-textdecoder" "6.4.1" - "@polkadot/x-textencoder" "6.4.1" - "@types/bn.js" "^4.11.6" - bn.js "^4.11.9" - camelcase "^5.3.1" - ip-regex "^4.3.0" - -"@polkadot/wasm-crypto-asmjs@^4.0.2": - version "4.0.2" - resolved "https://registry.nlark.com/@polkadot/wasm-crypto-asmjs/download/@polkadot/wasm-crypto-asmjs-4.0.2.tgz#f42c353a64e1243841daf90e4bd54eff01a4e3cf" - integrity sha1-9Cw1OmThJDhB2vkOS9VO/wGk488= - dependencies: - "@babel/runtime" "^7.13.9" - -"@polkadot/wasm-crypto-wasm@^4.0.2": - version "4.0.2" - resolved "https://registry.nlark.com/@polkadot/wasm-crypto-wasm/download/@polkadot/wasm-crypto-wasm-4.0.2.tgz#89f9e0a1e4d076784d4a42bea37fc8b06bdd8bb6" - integrity sha1-ifngoeTQdnhNSkK+o3/IsGvdi7Y= - dependencies: - "@babel/runtime" "^7.13.9" - -"@polkadot/wasm-crypto@^4.0.2": - version "4.0.2" - resolved "https://registry.nlark.com/@polkadot/wasm-crypto/download/@polkadot/wasm-crypto-4.0.2.tgz#9649057adee8383cc86433d107ba526b718c5a3b" - integrity sha1-lkkFet7oODzIZDPRB7pSa3GMWjs= - dependencies: - "@babel/runtime" "^7.13.9" - "@polkadot/wasm-crypto-asmjs" "^4.0.2" - "@polkadot/wasm-crypto-wasm" "^4.0.2" - -"@polkadot/x-fetch@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/x-fetch/download/@polkadot/x-fetch-6.4.1.tgz#12b9e6d42e71deceff44c324ba41baed879093c1" - integrity sha1-Ernm1C5x3s7/RMMkukG67YeQk8E= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/x-global" "6.4.1" - "@types/node-fetch" "^2.5.10" - node-fetch "^2.6.1" - -"@polkadot/x-global@6.4.1", "@polkadot/x-global@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/x-global/download/@polkadot/x-global-6.4.1.tgz#546e019e0c7f72a92a2612cacf90e8797c94709f" - integrity sha1-VG4Bngx/cqkqJhLKz5DoeXyUcJ8= - dependencies: - "@babel/runtime" "^7.14.0" - "@types/node-fetch" "^2.5.10" - node-fetch "^2.6.1" - -"@polkadot/x-randomvalues@6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/x-randomvalues/download/@polkadot/x-randomvalues-6.4.1.tgz#bb30d309e03ab63196504f53962e47ec7b97fac9" - integrity sha1-uzDTCeA6tjGWUE9Tli5H7HuX+sk= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/x-global" "6.4.1" - -"@polkadot/x-rxjs@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/x-rxjs/download/@polkadot/x-rxjs-6.4.1.tgz#c6e8cef8dc3f20b4c7468bd6976d843947da1f15" - integrity sha1-xujO+Nw/ILTHRovWl22EOUfaHxU= - dependencies: - "@babel/runtime" "^7.14.0" - rxjs "^6.6.7" - -"@polkadot/x-textdecoder@6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/x-textdecoder/download/@polkadot/x-textdecoder-6.4.1.tgz#f33b81267d8de313e851cc699b9dfa6e8f109cde" - integrity sha1-8zuBJn2N4xPoUcxpm536bo8QnN4= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/x-global" "6.4.1" - -"@polkadot/x-textencoder@6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/x-textencoder/download/@polkadot/x-textencoder-6.4.1.tgz#f34bcc1c1a60d723ea8ce84e10a1efbbf6c1371a" - integrity sha1-80vMHBpg1yPqjOhOEKHvu/bBNxo= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/x-global" "6.4.1" - -"@polkadot/x-ws@^6.4.1": - version "6.4.1" - resolved "https://registry.nlark.com/@polkadot/x-ws/download/@polkadot/x-ws-6.4.1.tgz#e03295907a50f74ec220d9dc9aa6d45370f67554" - integrity sha1-4DKVkHpQ907CINncmqbUU3D2dVQ= - dependencies: - "@babel/runtime" "^7.14.0" - "@polkadot/x-global" "6.4.1" - "@types/websocket" "^1.0.2" - websocket "^1.0.34" - -"@types/bn.js@^4.11.6": - version "4.11.6" - resolved "https://registry.nlark.com/@types/bn.js/download/@types/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha1-wwbHDZNYquozzU7aCSp0K5UFlnw= - dependencies: - "@types/node" "*" - -"@types/node-fetch@^2.5.10": - version "2.5.10" - resolved "https://registry.nlark.com/@types/node-fetch/download/@types/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" - integrity sha1-m01KBCVWL5/OpwsSyz/N2UbKgTI= - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*", "@types/node@^15.3.1": - version "15.3.1" - resolved "https://registry.nlark.com/@types/node/download/@types/node-15.3.1.tgz?cache=0&sync_timestamp=1621463621315&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-15.3.1.tgz#23a06b87eedb524016616e886b116b8fdcb180af" - integrity sha1-I6Brh+7bUkAWYW6IaxFrj9yxgK8= - -"@types/websocket@^1.0.2": - version "1.0.2" - resolved "https://registry.nlark.com/@types/websocket/download/@types/websocket-1.0.2.tgz?cache=0&sync_timestamp=1621244924715&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebsocket%2Fdownload%2F%40types%2Fwebsocket-1.0.2.tgz#d2855c6a312b7da73ed16ba6781815bf30c6187a" - integrity sha1-0oVcajErfac+0WumeBgVvzDGGHo= - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.nlark.com/@types/yargs-parser/download/@types/yargs-parser-20.2.0.tgz?cache=0&sync_timestamp=1621243984050&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha1-3T5mmboyN/A0jNCF5GmHgCBIQvk= - -"@types/yargs@^16.0.2": - version "16.0.2" - resolved "https://registry.nlark.com/@types/yargs/download/@types/yargs-16.0.2.tgz#b860dfa2964425239bba37ab3178b0acd79b8a61" - integrity sha1-uGDfopZEJSObujerMXiwrNebimE= - dependencies: - "@types/yargs-parser" "*" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= - -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= - dependencies: - color-convert "^2.0.1" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1605576950209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farg%2Fdownload%2Farg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -base-x@^3.0.8: - version "3.0.8" - resolved "https://registry.npm.taobao.org/base-x/download/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha1-HhEGwlN/AWLotSR0pVfrsJAAAY0= - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= - -blakejs@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/blakejs/download/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" - integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= - -bufferutil@^4.0.1: - version "4.0.3" - resolved "https://registry.npm.taobao.org/bufferutil/download/bufferutil-4.0.3.tgz?cache=0&sync_timestamp=1609618802475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbufferutil%2Fdownload%2Fbufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" - integrity sha1-ZnJLdWvtI818KMTTBteZT5lDzGs= - dependencies: - node-gyp-build "^4.2.0" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= - -cipher-base@^1.0.1: - version "1.0.4" - resolved "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08= - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= - dependencies: - delayed-stream "~1.0.0" - -create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.nlark.com/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/create-require/download/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= - -cuint@^0.2.2: - version "0.2.2" - resolved "https://registry.nlark.com/cuint/download/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" - integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1614330710870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= - dependencies: - ms "2.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= - -elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.nlark.com/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.nlark.com/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= - -eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517819668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= - -ext@^1.1.2: - version "1.4.0" - resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= - dependencies: - type "^2.0.0" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.nlark.com/form-data/download/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha1-69U3kbeDVqma+aMA1CgsTV65dV8= - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= - -ip-regex@^4.3.0: - version "4.3.0" - resolved "https://registry.nlark.com/ip-regex/download/ip-regex-4.3.0.tgz?cache=0&sync_timestamp=1618846943469&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fip-regex%2Fdownload%2Fip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha1-aHJ1qw9X+naXj/j03dyKI9WZDbU= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.npm.taobao.org/js-sha3/download/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha1-ubel2nOvrX3t0PjEY5VMveaBiEA= - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.nlark.com/make-error/download/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mime-db@1.47.0: - version "1.47.0" - resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" - integrity sha1-jLMT5Zll08Bc+/iYkVomevRqM1w= - -mime-types@^2.1.12: - version "2.1.30" - resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.30.tgz?cache=0&sync_timestamp=1617340140598&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" - integrity sha1-bnvotMR5gl+F7WMmaV23P5MF1i0= - dependencies: - mime-db "1.47.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.nlark.com/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI= - -node-gyp-build@^4.2.0: - version "4.2.3" - resolved "https://registry.npm.taobao.org/node-gyp-build/download/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha1-zmJ3+FODX3GIKe+0fbIPPk2cRzk= - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rxjs@^6.6.7: - version "6.6.7" - resolved "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1620786704383&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk= - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= - -scryptsy@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/scryptsy/download/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" - integrity sha1-jR6NDAJbWP3SW2+poNyQXuj6p5A= - -sha.js@^2.4.0: - version "2.4.11" - resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -source-map-support@^0.5.17: - version "0.5.19" - resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU= - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.nlark.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= - dependencies: - safe-buffer "~5.2.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.nlark.com/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= - dependencies: - ansi-regex "^5.0.0" - -ts-node@^9.1.1: - version "9.1.1" - resolved "https://registry.nlark.com/ts-node/download/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" - integrity sha1-UamkUKPpWUAb2l8ASnLVS5NtN20= - dependencies: - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1618847097275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha1-rAr3FoBFjYpjeNDQ0FCrFAfTVZY= - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= - -type@^2.0.0: - version "2.5.0" - resolved "https://registry.npm.taobao.org/type/download/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" - integrity sha1-Ci54wud5B7JSq+XymMGwHGPw2z0= - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.2.4: - version "4.2.4" - resolved "https://registry.nlark.com/typescript/download/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha1-hhC1l0feAo/aiYqK7w4QPxVtCWE= - -utf-8-validate@^5.0.2: - version "5.0.5" - resolved "https://registry.nlark.com/utf-8-validate/download/utf-8-validate-5.0.5.tgz?cache=0&sync_timestamp=1620067993025&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futf-8-validate%2Fdownload%2Futf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1" - integrity sha1-3TLC6CxyAC3J8C62e6Z2H0NFbKE= - dependencies: - node-gyp-build "^4.2.0" - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -websocket@^1.0.34: - version "1.0.34" - resolved "https://registry.npm.taobao.org/websocket/download/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha1-K9wmAsCL8sgiU7cwZVwO99yrMRE= - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM= - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -xxhashjs@^0.2.2: - version "0.2.2" - resolved "https://registry.nlark.com/xxhashjs/download/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" - integrity sha1-imJRVnYhocRqWuIE2gJJx/jKqdg= - dependencies: - cuint "^0.2.2" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.nlark.com/y18n/download/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU= - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.npm.taobao.org/yaeti/download/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= - -yargs-parser@^20.2.2: - version "20.2.7" - resolved "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo= - -yargs@^17.0.1: - version "17.0.1" - resolved "https://registry.nlark.com/yargs/download/yargs-17.0.1.tgz?cache=0&sync_timestamp=1620086644940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb" - integrity sha1-ahztTtXuCziAELqf1nr4O5Ni4Ls= - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= diff --git a/js/finalize/index.ts b/js/finalize/index.ts deleted file mode 100644 index fd09dcac29..0000000000 --- a/js/finalize/index.ts +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Test the finalization of parachain intergration - */ -import fs from "fs"; -import path from "path"; -import { Launch } from "@pint/e2e/src"; -import findUp from "find-up"; -import { ChildProcess, spawn } from "child_process"; - -// Message of launching complete -const LAUNCH_COMPLETE: string = "POLKADOT LAUNCH COMPLETE"; - -// PINT finalization regex -export const PINT_FINALIZE: RegExp = /\[Parachain\].*finalized #(\d)/; - -// Kill subprocesses -function killAll(ps: ChildProcess, exitCode: number) { - try { - ps.send && !ps.killed && ps.send("exit"); - ps.kill("SIGINT"); - } catch (e) { - if (e.code !== "EPERM") { - process.stdout.write(e); - process.exit(2); - } - } - - process.exit(exitCode); -} - -/** - * Tail file and done when got expected message - */ -async function tail( - file: string, - match: (s: string) => boolean -): Promise { - const root = await findUp("Cargo.toml"); - - return new Promise(async (resolve) => { - const ps = fs.existsSync(path.resolve(String(root), "../bin/pint")) - ? spawn("tail", ["-f", file], { - cwd: path.resolve(String(root), ".."), - stdio: "pipe", - }) - : spawn("docker", ["exec", "launch", "tail", "-f", `${file}`], { - stdio: "pipe", - }); - - ps.stdout.on("data", (chunk: Buffer) => { - chunk && match(chunk.toString()) && resolve(null); - }); - - ps.stderr.on("data", (chunk: Buffer) => { - process.stderr.write(chunk); - process.exit(1); - }); - }); -} - -/** - * Entrypoint - */ -async function main() { - const ps = await Launch.launch("pipe"); - ps.stdout.on("data", async (chunk: Buffer) => { - process.stdout.write(chunk.toString()); - if (chunk.includes(LAUNCH_COMPLETE)) { - await tail("9988.log", (chunk: string): boolean => { - process.stdout.write(chunk); - const match = chunk.match(PINT_FINALIZE); - return ( - match && match.length == 2 && Number.parseInt(match[1]) > 0 - ); - }); - - console.log("FINALIZE SUCCEED!"); - process.exit(0); - } - }); - - // Kill all processes when exiting. - process.on("exit", () => { - console.log("-> exit polkadot-launch..."); - killAll(ps, process.exitCode); - }); - - // Log errors - ps.stderr.on("data", (chunk: Buffer) => - process.stderr.write(chunk.toString()) - ); -} - -(() => { - main(); -})(); diff --git a/js/finalize/package.json b/js/finalize/package.json deleted file mode 100644 index 80e939cf59..0000000000 --- a/js/finalize/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@pint/finalization", - "version": "1.0.0", - "description": "Test the finalization in parachain intergration", - "main": "index.js", - "license": "MIT", - "private": true, - "devDependencies": { - "@types/node": "^15.3.1", - "ts-node": "^10.0.0", - "tslint": "^6.1.3", - "typescript": "^4.2.4" - }, - "dependencies": { - "@pint/e2e": "^1.0.0", - "find-up": "^5.0.0" - }, - "scripts": { - "start": "ts-node index.ts", - "build": "tsc --strict", - "lint": "tsc --noEmit --strict && tslint --project ./tsconfig.json" - } -} diff --git a/js/finalize/tsconfig.json b/js/finalize/tsconfig.json deleted file mode 100644 index 8db1eddfc2..0000000000 --- a/js/finalize/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "indent": [true, "spaces", 2], - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "baseUrl": ".", - "declaration": true, - "esModuleInterop": true, - "outDir": "lib", - "module": "commonjs", - "moduleResolution": "node", - "noImplicitAny": true, - "resolveJsonModule": true, - "sourceMap": true, - "skipLibCheck": true, - "target": "es6" - }, - "include": ["index.ts", "src/**/*"], - "exclude": ["node_modules"] -} diff --git a/js/package.json b/js/package.json deleted file mode 100644 index dfffe3953f..0000000000 --- a/js/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "private": true, - "workspaces": ["e2e", "pint-types-bundle", "finalize"] -} diff --git a/js/pint-types-bundle/.gitignore b/js/pint-types-bundle/.gitignore deleted file mode 100644 index 204d3b2fac..0000000000 --- a/js/pint-types-bundle/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# ignore files generated by typescript -dist/ -node_modules/ diff --git a/js/pint-types-bundle/LICENSE b/js/pint-types-bundle/LICENSE deleted file mode 100644 index 0a041280bd..0000000000 --- a/js/pint-types-bundle/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/js/pint-types-bundle/README.md b/js/pint-types-bundle/README.md deleted file mode 100644 index 7ee820bda9..0000000000 --- a/js/pint-types-bundle/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# PINT Types - -Substrate types used in PINT parachain. - - -## Usage - -Import the types in your JS or TS app. - -```ts -import definitions from "@pint/types"; -``` \ No newline at end of file diff --git a/js/pint-types-bundle/chainlink.json b/js/pint-types-bundle/chainlink.json deleted file mode 100644 index 6767c542cf..0000000000 --- a/js/pint-types-bundle/chainlink.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "Address": "MultiAddress", - "LookupSource": "MultiAddress", - "FeedId": "u32", - "RoundId": "u32", - "Value": "u128", - "FeedConfig": { - "owner": "AccountId", - "pending_owner": "Option", - "submission_value_bounds": "(Value, Value)", - "submission_count_bounds": "(u32, u32)", - "payment": "Balance", - "timeout": "BlockNumber", - "decimals": "u8", - "description": "Vec", - "restart_delay": "RoundId", - "reporting_round": "RoundId", - "latest_round": "RoundId", - "first_valid_round": "Option", - "oracle_count": "u32", - "pruning_window": "RoundId", - "next_round_to_prune": "RoundId", - "debt": "Balance", - "max_debt": "Option" - }, - "FeedConfigOf": "FeedConfig", - "Round": { - "started_at": "BlockNumber", - "answer": "Option", - "updated_at": "Option", - "answered_in_round": "Option" - }, - "RoundOf": "Round", - "RoundDetails": { - "submissions": "Vec", - "submission_count_bounds": "(u32, u32)", - "payment": "Balance", - "timeout": "BlockNumber" - }, - "RoundDetailsOf": "RoundDetails", - "OracleMeta": { - "withdrawable": "Balance", - "admin": "AccountId", - "pending_admin": "Option" - }, - "OracleMetaOf": "OracleMeta", - "OracleStatus": { - "starting_round": "RoundId", - "ending_round": "Option", - "last_reported_round": "Option", - "last_started_round": "Option", - "latest_submission": "Option" - }, - "OracleStatusOf": "OracleStatus", - "Requester": { - "delay": "RoundId", - "last_started_round": "Option" - }, - "RoundData": { - "started_at": "BlockNumber", - "answer": "Value", - "updated_at": "BlockNumber", - "answered_in_round": "RoundId" - }, - "RoundDataOf": "RoundData", - "SubmissionBounds": "(u32, u32)" -} diff --git a/js/pint-types-bundle/index.ts b/js/pint-types-bundle/index.ts deleted file mode 100644 index 53c2373db4..0000000000 --- a/js/pint-types-bundle/index.ts +++ /dev/null @@ -1,161 +0,0 @@ -import { - OverrideBundleDefinition, - OverrideBundleType, -} from "@polkadot/types/types"; - -export const definitions = { - types: [ - { - // on all versions - minmax: [0, undefined], - types: { - Address: "MultiAddress", - LookupSource: "MultiAddress", - LookupSourceFor: "LookupSource", - Action: "Call", - AccountIdFor: "AccountId", - AccountBalance: { - available: "Balance", - reserved: "Balance", - }, - Amount: "i128", - AssetAvailability: { - _enum: { - Liquid: "MultiLocation", - Saft: null, - }, - }, - AssetConfig: { - pallet_index: "u8", - weights: "AssetsWeights", - }, - AssetId: "u32", - AssetsWeights: { - mint: "Weight", - burn: "Weight", - transfer: "Weight", - force_transfer: "Weight", - freeze: "Weight", - thaw: "Weight", - freeze_asset: "Weight", - thaw_asset: "Weight", - approve_transfer: "Weight", - cancel_approval: "Weight", - transfer_approved: "Weight", - }, - AssetMetadata: { - name: "BoundedString", - symbol: "BoundedString", - decimals: "u8", - }, - AssetWithdrawal: { - asset: "AssetId", - reserved: "Balance", - units: "Balance", - withdrawn: "bool", - }, - Balance: "u128", - BalanceFor: "Balance", - BoundedString: "BoundedVec", - CommitteeMember: { - account_id: "AccountId", - member_type: "MemberType", - }, - CurrencyId: "AssetId", - CurrencyIdOf: "CurrencyId", - FeeRate: { - numerator: "u32", - denominator: "u32", - }, - FeedId: "u64", - FeedIdFor: "FeedId", - HashFor: "Hash", - IndexAssetData: { - units: "Balance", - availability: "AssetAvailability", - }, - MemberType: { - _enum: { - Council: null, - Constituent: null, - }, - }, - MemberVote: { - member: "CommitteeMember", - vote: "Vote", - }, - OrmlAccountData: { - free: "Balance", - frozen: "Balance", - reserved: "Balance", - }, - PendingRedemption: { - end_block: "BlockNumber", - assets: "Vec", - }, - ProposalNonce: "u32", - ProxyType: { - _enum: ["Any", "NonTransfer", "Governance", "Staking"], - }, - ProxyState: { - added: "Vec", - }, - ProxyWeights: { - add_proxy: "Weight", - remove_proxy: "Weight", - }, - RedemptionState: { - _enum: { - Initiated: null, - Unbonding: null, - Transferred: null, - }, - }, - SAFTId: "u32", - SAFTRecord: { - nav: "Balance", - units: "Balance", - }, - StakingLedger: { - controller: "LookupSourceFor", - active: "Balance", - total: "Balance", - unlocking: "Vec", - }, - StakingLedgerFor: "StakingLedger", - StakingWeights: { - bond: "Weight", - bond_extra: "Weight", - unbond: "Weight", - withdraw_unbonded: "Weight", - }, - StatemintConfig: { - parachain_id: "u32", - enabled: "bool", - pint_asset_id: "AssetId", - }, - UnlockChunk: { - value: "Balance", - end: "BlockNumber", - }, - Vote: { - _enum: { - Aye: null, - Nay: null, - Abstain: null, - }, - }, - VoteAggregate: { - votes: "Vec", - end: "BlockNumber", - }, - }, - }, - ], -} as OverrideBundleDefinition; - -export const typesBundle = { - spec: { - pint: definitions, - }, -} as OverrideBundleType; diff --git a/js/pint-types-bundle/package.json b/js/pint-types-bundle/package.json deleted file mode 100644 index fb48172737..0000000000 --- a/js/pint-types-bundle/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "@pint/types", - "version": "1.0.0", - "description": "Bundled types to instantiate the Polkadot JS api with PINT", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "prepublish": "tsc", - "scripts": { - "build": "tsc" - }, - "keywords": [ - "pint", - "types", - "polkadot", - "api" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/ChainSafe/PINT.git" - }, - "author": "ChainSafe Systems", - "license": "GPL-3.0-only", - "dependencies": { - "@polkadot/keyring": "^6.9.1", - "@polkadot/types": "^4.15.1" - }, - "devDependencies": { - "typescript": "^4.2.4" - } -} diff --git a/js/pint-types-bundle/tsconfig.json b/js/pint-types-bundle/tsconfig.json deleted file mode 100644 index f5f53caf88..0000000000 --- a/js/pint-types-bundle/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "indent": [true, "spaces", 2], - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "lib": ["es2017", "es7", "es6", "dom"], - "declaration": true, - "outDir": "dist", - "strict": true, - "esModuleInterop": true, - "resolveJsonModule": true - }, - "exclude": ["node_modules", "dist"] -} diff --git a/js/pint-types-bundle/yarn.lock b/js/pint-types-bundle/yarn.lock deleted file mode 100644 index 9a58aaea65..0000000000 --- a/js/pint-types-bundle/yarn.lock +++ /dev/null @@ -1,434 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/runtime@^7.13.17", "@babel/runtime@^7.13.9": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== - dependencies: - regenerator-runtime "^0.13.4" - -"@polkadot/keyring@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-6.3.1.tgz#434847cc4fb134116691c07e05750e8388cbb2b7" - integrity sha512-uVWhdd4TVtLc4R2OtiKHJE5jgJZnuEognbgjl5RT2uKrCJYTsYnq0IeRTvMmtdPJAJvGeD3JTsX2ekgt3tJpuw== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/util" "6.3.1" - "@polkadot/util-crypto" "6.3.1" - -"@polkadot/metadata@4.7.2": - version "4.7.2" - resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-4.7.2.tgz#91076a1c1158494574a1965ec1fe124fb4d1b848" - integrity sha512-+YWeD828cpIpD31epoSZfK5kmtJsBcgTTyYsQ4bBO4NBJceLTipmHgyLXs7fXjU4cC6uvSuBnAV0KGJW7L9nDQ== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/types" "4.7.2" - "@polkadot/types-known" "4.7.2" - "@polkadot/util" "^6.3.1" - "@polkadot/util-crypto" "^6.3.1" - bn.js "^4.11.9" - -"@polkadot/networks@6.3.1", "@polkadot/networks@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-6.3.1.tgz#c5063681ea73f8b579f418d57d0eba2d4bb72292" - integrity sha512-oANup0CLGt75CPbE3gz2HUWUlqQKucImdb1TtStLXMUH+Aj8ZOnQFA2lwixzaRdx+ymPfmEL7GkF36i96OqQVw== - dependencies: - "@babel/runtime" "^7.13.17" - -"@polkadot/types-known@4.7.2": - version "4.7.2" - resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-4.7.2.tgz#d6b55c75a9461a09490167a679b6ed783eab6350" - integrity sha512-vlIMBtBdVYHyjWqonQ39PCdZJ9WeTsA5h5zr2mEpkCSoopby5pZ6eOR8CPqjc1uYbdDHT72Dbtx8Wr9L7z8HXg== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/networks" "^6.3.1" - "@polkadot/types" "4.7.2" - "@polkadot/util" "^6.3.1" - bn.js "^4.11.9" - -"@polkadot/types@4.7.2", "@polkadot/types@^4.7.2": - version "4.7.2" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-4.7.2.tgz#6b3e8c16999951e040459d5e338e259543bfec16" - integrity sha512-8qj/f6YAv5XCDLej60uWlX+cjuz2qt6AJKemi+lozA4vYZ9XTXIODYLv/XfjimbVABzeLdIAwWX1OQO9+F0Gng== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/metadata" "4.7.2" - "@polkadot/util" "^6.3.1" - "@polkadot/util-crypto" "^6.3.1" - "@polkadot/x-rxjs" "^6.3.1" - "@types/bn.js" "^4.11.6" - bn.js "^4.11.9" - -"@polkadot/util-crypto@6.3.1", "@polkadot/util-crypto@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-6.3.1.tgz#5328da77bdee5064bc41f9dec0a76cc634690b88" - integrity sha512-fwH4t6EN2XACwJB2Z5xUyNo4mQ1RXJj0MgVaaLua8PbG0qq9tt4eaEbdVzrm7A6igIfsTntDoZISTfVjBcRtkQ== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/networks" "6.3.1" - "@polkadot/util" "6.3.1" - "@polkadot/wasm-crypto" "^4.0.2" - "@polkadot/x-randomvalues" "6.3.1" - base-x "^3.0.8" - base64-js "^1.5.1" - blakejs "^1.1.0" - bn.js "^4.11.9" - create-hash "^1.2.0" - elliptic "^6.5.4" - hash.js "^1.1.7" - js-sha3 "^0.8.0" - scryptsy "^2.1.0" - tweetnacl "^1.0.3" - xxhashjs "^0.2.2" - -"@polkadot/util@6.3.1", "@polkadot/util@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-6.3.1.tgz#410ee362ddb37f9c67af8f5897d977a7fd950ebf" - integrity sha512-M9pGaXSB67DZPckdNQU29wq5W7BUOh6qeu5LonzxpUek+riJfbiF9JOgZQ2Q/aEFYbd1hqLbOMsLRZLhSmlbYw== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/x-textdecoder" "6.3.1" - "@polkadot/x-textencoder" "6.3.1" - "@types/bn.js" "^4.11.6" - bn.js "^4.11.9" - camelcase "^5.3.1" - ip-regex "^4.3.0" - -"@polkadot/wasm-crypto-asmjs@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-4.0.2.tgz#f42c353a64e1243841daf90e4bd54eff01a4e3cf" - integrity sha512-hlebqtGvfjg2ZNm4scwBGVHwOwfUhy2yw5RBHmPwkccUif3sIy4SAzstpcVBIVMdAEvo746bPWEInA8zJRcgJA== - dependencies: - "@babel/runtime" "^7.13.9" - -"@polkadot/wasm-crypto-wasm@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-4.0.2.tgz#89f9e0a1e4d076784d4a42bea37fc8b06bdd8bb6" - integrity sha512-de/AfNPZ0uDKFWzOZ1rJCtaUbakGN29ks6IRYu6HZTRg7+RtqvE1rIkxabBvYgQVHIesmNwvEA9DlIkS6hYRFQ== - dependencies: - "@babel/runtime" "^7.13.9" - -"@polkadot/wasm-crypto@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-4.0.2.tgz#9649057adee8383cc86433d107ba526b718c5a3b" - integrity sha512-2h9FuQFkBc+B3TwSapt6LtyPvgtd0Hq9QsHW8g8FrmKBFRiiFKYRpfJKHCk0aCZzuRf9h95bQl/X6IXAIWF2ng== - dependencies: - "@babel/runtime" "^7.13.9" - "@polkadot/wasm-crypto-asmjs" "^4.0.2" - "@polkadot/wasm-crypto-wasm" "^4.0.2" - -"@polkadot/x-global@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-6.3.1.tgz#cdb4883fa20e23411bdd5f50a5d5c92814a3106f" - integrity sha512-eFooGQdxJpiOsm3AKTSMInaecBKaQ/tqOUJNm/CpdJalCqTDMp/qzgj64Uflk9eUqGgk7jB7Q5FaQdyWsC0Mtg== - dependencies: - "@babel/runtime" "^7.13.17" - "@types/node-fetch" "^2.5.10" - node-fetch "^2.6.1" - -"@polkadot/x-randomvalues@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-6.3.1.tgz#e2b91223277d7d7978c39e9d280fbc6526217d46" - integrity sha512-SZ5MUYm1fd1fgGFexMWbbG8zZgCS7b9QNKaIcnv1Dwlfp2meDoDlgoedn+1pCJ6VEa1adswqLHX4WbYA4D9ynA== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/x-global" "6.3.1" - -"@polkadot/x-rxjs@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-rxjs/-/x-rxjs-6.3.1.tgz#5627f9601df6db22a65512a3eab0af4a22a58830" - integrity sha512-Z9mbvpixr0fopQh049tFlR8r/RItOyYRL4P7YqwnfeROqxU4R8UTmmB8As9y/zy0O5Jlkjzy9MdyQgwzhGQOcQ== - dependencies: - "@babel/runtime" "^7.13.17" - rxjs "^6.6.7" - -"@polkadot/x-textdecoder@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-6.3.1.tgz#ab0eec87d5df2d119480fa7a3657d8d72f583af8" - integrity sha512-lLb11yaAmyx2STw7ZmdgPtV7LI26U/5h1K527cM7QnxgTQgYggtAt4f9aLHiWsmOCvnT0U0PWsWSUbAJrLHLBA== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/x-global" "6.3.1" - -"@polkadot/x-textencoder@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-6.3.1.tgz#2277770650f5637698d7d8cd7ac0cfd5ca0dace2" - integrity sha512-7V5OuT43JPTm7rrwdBEMzXAF5nLg+t6q24ntZHNcFUH1pdkP/+2f3vGM3e9BK5k4wkQLoepod5gyY6Qbw9bsYQ== - dependencies: - "@babel/runtime" "^7.13.17" - "@polkadot/x-global" "6.3.1" - -"@types/bn.js@^4.11.6": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - -"@types/node-fetch@^2.5.10": - version "2.5.10" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" - integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.1.tgz#ef34dea0881028d11398be5bf4e856743e3dc35a" - integrity sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -base-x@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -blakejs@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" - integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -cipher-base@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -cuint@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" - integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip-regex@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mime-db@1.47.0: - version "1.47.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" - integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== - -mime-types@^2.1.12: - version "2.1.30" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" - integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== - dependencies: - mime-db "1.47.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rxjs@^6.6.7: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -scryptsy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" - integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== - -sha.js@^2.4.0: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -typescript@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -xxhashjs@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" - integrity sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw== - dependencies: - cuint "^0.2.2" diff --git a/js/polkadot-launch b/js/polkadot-launch deleted file mode 160000 index f161a73a65..0000000000 --- a/js/polkadot-launch +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f161a73a659678bafa758bf7cee077961f410b6a diff --git a/js/yarn.lock b/js/yarn.lock deleted file mode 100644 index a5d872fcd9..0000000000 --- a/js/yarn.lock +++ /dev/null @@ -1,1025 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0": - version "7.14.5" - resolved "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts= - dependencies: - "@babel/highlight" "^7.14.5" - -"@babel/helper-validator-identifier@^7.14.5": - version "7.14.5" - resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280305128&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" - integrity sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg= - -"@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk= - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/runtime@^7.13.9", "@babel/runtime@^7.14.5": - version "7.14.6" - resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.6.tgz?cache=0&sync_timestamp=1623708023742&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d" - integrity sha1-U1IDvAiS78fexgvcJ7Ls9uQJBi0= - dependencies: - regenerator-runtime "^0.13.4" - -"@open-web3/orml-type-definitions@0.9.3": - version "0.9.3" - resolved "https://registry.nlark.com/@open-web3/orml-type-definitions/download/@open-web3/orml-type-definitions-0.9.3.tgz#6bf2ff02c108fa0b4416798f27449f14b16f420f" - integrity sha1-a/L/AsEI+gtEFnmPJ0SfFLFvQg8= - -"@open-web3/orml-types@^0.9.3": - version "0.9.3" - resolved "https://registry.nlark.com/@open-web3/orml-types/download/@open-web3/orml-types-0.9.3.tgz#6da0e20cb44e86d7a51202aa8ab82d1742a86a44" - integrity sha1-baDiDLROhtelEgKqirgtF0KoakQ= - dependencies: - "@open-web3/orml-type-definitions" "0.9.3" - -"@polkadot/api-derive@4.15.1": - version "4.15.1" - resolved "https://registry.nlark.com/@polkadot/api-derive/download/@polkadot/api-derive-4.15.1.tgz#841ae233142f4b509d4db1fbcf76db15a77bed0f" - integrity sha1-hBriMxQvS1CdTbH7z3bbFad77Q8= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/api" "4.15.1" - "@polkadot/rpc-core" "4.15.1" - "@polkadot/types" "4.15.1" - "@polkadot/util" "^6.9.1" - "@polkadot/util-crypto" "^6.9.1" - "@polkadot/x-rxjs" "^6.9.1" - -"@polkadot/api@4.15.1", "@polkadot/api@^4.15.1": - version "4.15.1" - resolved "https://registry.nlark.com/@polkadot/api/download/@polkadot/api-4.15.1.tgz#c9a041b855639a98d6df0706c7546e076a8d5727" - integrity sha1-yaBBuFVjmpjW3wcGx1RuB2qNVyc= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/api-derive" "4.15.1" - "@polkadot/keyring" "^6.9.1" - "@polkadot/metadata" "4.15.1" - "@polkadot/rpc-core" "4.15.1" - "@polkadot/rpc-provider" "4.15.1" - "@polkadot/types" "4.15.1" - "@polkadot/types-known" "4.15.1" - "@polkadot/util" "^6.9.1" - "@polkadot/util-crypto" "^6.9.1" - "@polkadot/x-rxjs" "^6.9.1" - eventemitter3 "^4.0.7" - -"@polkadot/keyring@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/keyring/download/@polkadot/keyring-6.9.1.tgz#a92dd2d4ef8ccb999bc7d443ef4a13e6ef9b2ce2" - integrity sha1-qS3S1O+My5mbx9RD70oT5u+bLOI= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/util" "6.9.1" - "@polkadot/util-crypto" "6.9.1" - -"@polkadot/metadata@4.15.1": - version "4.15.1" - resolved "https://registry.nlark.com/@polkadot/metadata/download/@polkadot/metadata-4.15.1.tgz#3cd2392b956577edf96090793fd8b9b392a67502" - integrity sha1-PNI5K5Vld+35YJB5P9i5s5KmdQI= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/types" "4.15.1" - "@polkadot/types-known" "4.15.1" - "@polkadot/util" "^6.9.1" - "@polkadot/util-crypto" "^6.9.1" - -"@polkadot/networks@6.9.1", "@polkadot/networks@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/networks/download/@polkadot/networks-6.9.1.tgz#8d66338569c9891a00cc6737e18c1dbffd7153f5" - integrity sha1-jWYzhWnJiRoAzGc34Ywdv/1xU/U= - dependencies: - "@babel/runtime" "^7.14.5" - -"@polkadot/rpc-core@4.15.1": - version "4.15.1" - resolved "https://registry.nlark.com/@polkadot/rpc-core/download/@polkadot/rpc-core-4.15.1.tgz#2e14edcdf8cd4e6f9658ecbd90540a9d39c3e929" - integrity sha1-LhTtzfjNTm+WWOy9kFQKnTnD6Sk= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/metadata" "4.15.1" - "@polkadot/rpc-provider" "4.15.1" - "@polkadot/types" "4.15.1" - "@polkadot/util" "^6.9.1" - "@polkadot/x-rxjs" "^6.9.1" - -"@polkadot/rpc-provider@4.15.1": - version "4.15.1" - resolved "https://registry.nlark.com/@polkadot/rpc-provider/download/@polkadot/rpc-provider-4.15.1.tgz#18a61b5353388da73f722f30905f23927b2c5e31" - integrity sha1-GKYbU1M4jac/ci8wkF8jknssXjE= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/types" "4.15.1" - "@polkadot/util" "^6.9.1" - "@polkadot/util-crypto" "^6.9.1" - "@polkadot/x-fetch" "^6.9.1" - "@polkadot/x-global" "^6.9.1" - "@polkadot/x-ws" "^6.9.1" - eventemitter3 "^4.0.7" - -"@polkadot/types-known@4.15.1": - version "4.15.1" - resolved "https://registry.nlark.com/@polkadot/types-known/download/@polkadot/types-known-4.15.1.tgz#d60cfb1e4ed315f2c82646795243a34df6b21fd3" - integrity sha1-1gz7Hk7TFfLIJkZ5UkOjTfayH9M= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/networks" "^6.9.1" - "@polkadot/types" "4.15.1" - "@polkadot/util" "^6.9.1" - -"@polkadot/types@4.15.1", "@polkadot/types@^4.15.1": - version "4.15.1" - resolved "https://registry.nlark.com/@polkadot/types/download/@polkadot/types-4.15.1.tgz#03f32fd4ce81d69c43368d3e476c0421cedb8607" - integrity sha1-A/Mv1M6B1pxDNo0+R2wEIc7bhgc= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/metadata" "4.15.1" - "@polkadot/util" "^6.9.1" - "@polkadot/util-crypto" "^6.9.1" - "@polkadot/x-rxjs" "^6.9.1" - -"@polkadot/util-crypto@6.9.1", "@polkadot/util-crypto@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/util-crypto/download/@polkadot/util-crypto-6.9.1.tgz#175a2bbc040785599730baee35f0235226b8343e" - integrity sha1-F1orvAQHhVmXMLruNfAjUia4ND4= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/networks" "6.9.1" - "@polkadot/util" "6.9.1" - "@polkadot/wasm-crypto" "^4.0.2" - "@polkadot/x-randomvalues" "6.9.1" - base-x "^3.0.8" - base64-js "^1.5.1" - blakejs "^1.1.0" - bn.js "^4.11.9" - create-hash "^1.2.0" - elliptic "^6.5.4" - hash.js "^1.1.7" - js-sha3 "^0.8.0" - scryptsy "^2.1.0" - tweetnacl "^1.0.3" - xxhashjs "^0.2.2" - -"@polkadot/util@6.9.1", "@polkadot/util@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/util/download/@polkadot/util-6.9.1.tgz#009a9e0771523398517dbf3a978285b071f6081c" - integrity sha1-AJqeB3FSM5hRfb86l4KFsHH2CBw= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/x-textdecoder" "6.9.1" - "@polkadot/x-textencoder" "6.9.1" - "@types/bn.js" "^4.11.6" - bn.js "^4.11.9" - camelcase "^5.3.1" - ip-regex "^4.3.0" - -"@polkadot/wasm-crypto-asmjs@^4.0.2": - version "4.0.2" - resolved "https://registry.nlark.com/@polkadot/wasm-crypto-asmjs/download/@polkadot/wasm-crypto-asmjs-4.0.2.tgz#f42c353a64e1243841daf90e4bd54eff01a4e3cf" - integrity sha1-9Cw1OmThJDhB2vkOS9VO/wGk488= - dependencies: - "@babel/runtime" "^7.13.9" - -"@polkadot/wasm-crypto-wasm@^4.0.2": - version "4.0.2" - resolved "https://registry.nlark.com/@polkadot/wasm-crypto-wasm/download/@polkadot/wasm-crypto-wasm-4.0.2.tgz#89f9e0a1e4d076784d4a42bea37fc8b06bdd8bb6" - integrity sha1-ifngoeTQdnhNSkK+o3/IsGvdi7Y= - dependencies: - "@babel/runtime" "^7.13.9" - -"@polkadot/wasm-crypto@^4.0.2": - version "4.0.2" - resolved "https://registry.nlark.com/@polkadot/wasm-crypto/download/@polkadot/wasm-crypto-4.0.2.tgz#9649057adee8383cc86433d107ba526b718c5a3b" - integrity sha1-lkkFet7oODzIZDPRB7pSa3GMWjs= - dependencies: - "@babel/runtime" "^7.13.9" - "@polkadot/wasm-crypto-asmjs" "^4.0.2" - "@polkadot/wasm-crypto-wasm" "^4.0.2" - -"@polkadot/x-fetch@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/x-fetch/download/@polkadot/x-fetch-6.9.1.tgz#89ff2741b35f2bb9fdc30a22cdb0debf72248597" - integrity sha1-if8nQbNfK7n9wwoizbDev3IkhZc= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/x-global" "6.9.1" - "@types/node-fetch" "^2.5.10" - node-fetch "^2.6.1" - -"@polkadot/x-global@6.9.1", "@polkadot/x-global@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/x-global/download/@polkadot/x-global-6.9.1.tgz#c3d7482e2ac62c306379592550d476fc60ce7dfe" - integrity sha1-w9dILirGLDBjeVklUNR2/GDOff4= - dependencies: - "@babel/runtime" "^7.14.5" - "@types/node-fetch" "^2.5.10" - node-fetch "^2.6.1" - -"@polkadot/x-randomvalues@6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/x-randomvalues/download/@polkadot/x-randomvalues-6.9.1.tgz#e289e79849e332777fb96e8544b1193a4e793e59" - integrity sha1-4onnmEnjMnd/uW6FRLEZOk55Plk= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/x-global" "6.9.1" - -"@polkadot/x-rxjs@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/x-rxjs/download/@polkadot/x-rxjs-6.9.1.tgz#713a399568922aff10fe47c3875dba44a139d6c6" - integrity sha1-cTo5lWiSKv8Q/kfDh126RKE51sY= - dependencies: - "@babel/runtime" "^7.14.5" - rxjs "^6.6.7" - -"@polkadot/x-textdecoder@6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/x-textdecoder/download/@polkadot/x-textdecoder-6.9.1.tgz#dab6e95b35c9386550c4907fd1efb195ab605ec9" - integrity sha1-2rbpWzXJOGVQxJB/0e+xlatgXsk= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/x-global" "6.9.1" - -"@polkadot/x-textencoder@6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/x-textencoder/download/@polkadot/x-textencoder-6.9.1.tgz#cf98a3f248ad9a4cdb2559f950ff6559d009b619" - integrity sha1-z5ij8kitmkzbJVn5UP9lWdAJthk= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/x-global" "6.9.1" - -"@polkadot/x-ws@^6.9.1": - version "6.9.1" - resolved "https://registry.nlark.com/@polkadot/x-ws/download/@polkadot/x-ws-6.9.1.tgz#ac4d0cf22c333359a426f4104581c9e394d7f6e5" - integrity sha1-rE0M8iwzM1mkJvQQRYHJ45TX9uU= - dependencies: - "@babel/runtime" "^7.14.5" - "@polkadot/x-global" "6.9.1" - "@types/websocket" "^1.0.2" - websocket "^1.0.34" - -"@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.nlark.com/@tsconfig/node10/download/@tsconfig/node10-1.0.8.tgz?cache=0&sync_timestamp=1623230113943&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode10%2Fdownload%2F%40tsconfig%2Fnode10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" - integrity sha1-weToDW+WT77LM1nEO9SLQPfK2tk= - -"@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.nlark.com/@tsconfig/node12/download/@tsconfig/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" - integrity sha1-YsH23uLr2a6tgNw6+laBDljhoEw= - -"@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.nlark.com/@tsconfig/node14/download/@tsconfig/node14-1.0.1.tgz?cache=0&sync_timestamp=1623230113946&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode14%2Fdownload%2F%40tsconfig%2Fnode14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" - integrity sha1-lfLRZ/+5uNIGiwsjUwL6/U33EfI= - -"@tsconfig/node16@^1.0.1": - version "1.0.1" - resolved "https://registry.nlark.com/@tsconfig/node16/download/@tsconfig/node16-1.0.1.tgz#a6ca6a9a0ff366af433f42f5f0e124794ff6b8f1" - integrity sha1-pspqmg/zZq9DP0L18OEkeU/2uPE= - -"@types/bn.js@^4.11.6": - version "4.11.6" - resolved "https://registry.nlark.com/@types/bn.js/download/@types/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha1-wwbHDZNYquozzU7aCSp0K5UFlnw= - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.0": - version "5.1.0" - resolved "https://registry.nlark.com/@types/bn.js/download/@types/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" - integrity sha1-MsXScVA6EmU8Ys9NK0Xm6rjOvGg= - dependencies: - "@types/node" "*" - -"@types/node-fetch@^2.5.10": - version "2.5.10" - resolved "https://registry.nlark.com/@types/node-fetch/download/@types/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" - integrity sha1-m01KBCVWL5/OpwsSyz/N2UbKgTI= - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*", "@types/node@^15.3.1": - version "15.12.4" - resolved "https://registry.nlark.com/@types/node/download/@types/node-15.12.4.tgz?cache=0&sync_timestamp=1624437151657&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26" - integrity sha1-4c+BfXCh4RjoGSLE/2aDzp1CLiY= - -"@types/websocket@^1.0.2": - version "1.0.2" - resolved "https://registry.nlark.com/@types/websocket/download/@types/websocket-1.0.2.tgz?cache=0&sync_timestamp=1621244924715&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebsocket%2Fdownload%2F%40types%2Fwebsocket-1.0.2.tgz#d2855c6a312b7da73ed16ba6781815bf30c6187a" - integrity sha1-0oVcajErfac+0WumeBgVvzDGGHo= - dependencies: - "@types/node" "*" - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= - dependencies: - color-convert "^1.9.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1605576950209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farg%2Fdownload%2Farg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk= - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= - dependencies: - sprintf-js "~1.0.2" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&sync_timestamp=1617714233441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= - -base-x@^3.0.8: - version "3.0.8" - resolved "https://registry.npm.taobao.org/base-x/download/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha1-HhEGwlN/AWLotSR0pVfrsJAAAY0= - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= - -blakejs@^1.1.0: - version "1.1.1" - resolved "https://registry.nlark.com/blakejs/download/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" - integrity sha1-vzEwU5eLLNTERKSHlXEL4Fx4VwI= - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= - -bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= - -bufferutil@^4.0.1: - version "4.0.3" - resolved "https://registry.npm.taobao.org/bufferutil/download/bufferutil-4.0.3.tgz?cache=0&sync_timestamp=1609618802475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbufferutil%2Fdownload%2Fbufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" - integrity sha1-ZnJLdWvtI818KMTTBteZT5lDzGs= - dependencies: - node-gyp-build "^4.2.0" - -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= - -chalk@^2.0.0, chalk@^2.3.0: - version "2.4.2" - resolved "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -cipher-base@^1.0.1: - version "1.0.4" - resolved "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= - dependencies: - delayed-stream "~1.0.0" - -commander@^2.12.1: - version "2.20.3" - resolved "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1622954303803&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.nlark.com/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/create-require/download/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= - -cuint@^0.2.2: - version "0.2.2" - resolved "https://registry.nlark.com/cuint/download/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" - integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1614330710870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= - dependencies: - ms "2.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= - -elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.nlark.com/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.nlark.com/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= - -eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517819668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= - -ext@^1.1.2: - version "1.4.0" - resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= - dependencies: - type "^2.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.nlark.com/find-up/download/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw= - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.nlark.com/form-data/download/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha1-69U3kbeDVqma+aMA1CgsTV65dV8= - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= - -glob@^7.1.1: - version "7.1.7" - resolved "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&sync_timestamp=1620337382269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha1-Oxk+kjPwHULQs/eClLvutBj5SpA= - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.nlark.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= - -ip-regex@^4.3.0: - version "4.3.0" - resolved "https://registry.nlark.com/ip-regex/download/ip-regex-4.3.0.tgz?cache=0&sync_timestamp=1618846943469&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fip-regex%2Fdownload%2Fip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha1-aHJ1qw9X+naXj/j03dyKI9WZDbU= - -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME= - dependencies: - has "^1.0.3" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.npm.taobao.org/js-sha3/download/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha1-ubel2nOvrX3t0PjEY5VMveaBiEA= - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435151523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha1-VTIeswn+u8WcSAHZMackUqaB0oY= - dependencies: - p-locate "^5.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.nlark.com/make-error/download/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mime-db@1.48.0: - version "1.48.0" - resolved "https://registry.nlark.com/mime-db/download/mime-db-1.48.0.tgz?cache=0&sync_timestamp=1622433556078&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" - integrity sha1-41sxBF3X6to6qtU37YijOvvvLR0= - -mime-types@^2.1.12: - version "2.1.31" - resolved "https://registry.nlark.com/mime-types/download/mime-types-2.1.31.tgz?cache=0&sync_timestamp=1622569304088&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" - integrity sha1-oA12t0MXxh+cLbIhi46fjpxcnms= - dependencies: - mime-db "1.48.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= - -mkdirp@^0.5.3: - version "0.5.5" - resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= - dependencies: - minimist "^1.2.5" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.nlark.com/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI= - -node-gyp-build@^4.2.0: - version "4.2.3" - resolved "https://registry.npm.taobao.org/node-gyp-build/download/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha1-zmJ3+FODX3GIKe+0fbIPPk2cRzk= - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.nlark.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs= - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ= - dependencies: - p-limit "^3.0.2" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= - -resolve@^1.3.2: - version "1.20.0" - resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU= - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rxjs@^6.6.7: - version "6.6.7" - resolved "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1621619391474&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk= - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= - -scryptsy@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/scryptsy/download/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" - integrity sha1-jR6NDAJbWP3SW2+poNyQXuj6p5A= - -semver@^5.3.0: - version "5.7.1" - resolved "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= - -sha.js@^2.4.0: - version "2.4.11" - resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -source-map-support@^0.5.17: - version "0.5.19" - resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.nlark.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= - dependencies: - safe-buffer "~5.2.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= - dependencies: - has-flag "^3.0.0" - -ts-node@^10.0.0: - version "10.0.0" - resolved "https://registry.nlark.com/ts-node/download/ts-node-10.0.0.tgz?cache=0&sync_timestamp=1621798304685&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fts-node%2Fdownload%2Fts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be" - integrity sha1-BfELmnFrC2JBKa1E8OoF2shLo74= - dependencies: - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= - -tslint@^6.1.3: - version "6.1.3" - resolved "https://registry.nlark.com/tslint/download/tslint-6.1.3.tgz?cache=0&sync_timestamp=1618847624538&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslint%2Fdownload%2Ftslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha1-XCOy7MwySH1VI706Rw6aoxeJ2QQ= - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha1-MrSIUBRnrL7dS4VJhnOggSrKC5k= - dependencies: - tslib "^1.8.1" - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha1-rAr3FoBFjYpjeNDQ0FCrFAfTVZY= - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= - -type@^2.0.0: - version "2.5.0" - resolved "https://registry.npm.taobao.org/type/download/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" - integrity sha1-Ci54wud5B7JSq+XymMGwHGPw2z0= - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.2.4: - version "4.3.4" - resolved "https://registry.nlark.com/typescript/download/typescript-4.3.4.tgz?cache=0&sync_timestamp=1624346269304&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" - integrity sha1-P4W5hpRbzzEHHezdls+L+mX53Lw= - -utf-8-validate@^5.0.2: - version "5.0.5" - resolved "https://registry.nlark.com/utf-8-validate/download/utf-8-validate-5.0.5.tgz?cache=0&sync_timestamp=1620067993025&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futf-8-validate%2Fdownload%2Futf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1" - integrity sha1-3TLC6CxyAC3J8C62e6Z2H0NFbKE= - dependencies: - node-gyp-build "^4.2.0" - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -websocket@^1.0.34: - version "1.0.34" - resolved "https://registry.npm.taobao.org/websocket/download/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha1-K9wmAsCL8sgiU7cwZVwO99yrMRE= - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -wrappy@1: - version "1.0.2" - resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -xxhashjs@^0.2.2: - version "0.2.2" - resolved "https://registry.nlark.com/xxhashjs/download/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" - integrity sha1-imJRVnYhocRqWuIE2gJJx/jKqdg= - dependencies: - cuint "^0.2.2" - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.npm.taobao.org/yaeti/download/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha1-ApTrPe4FAo0x7hpfosVWpqrxChs= diff --git a/node/Cargo.toml b/node/Cargo.toml deleted file mode 100644 index 28b7e150c6..0000000000 --- a/node/Cargo.toml +++ /dev/null @@ -1,116 +0,0 @@ -[package] -name = 'pint' -authors = ['ChainSafe Systems'] -description = 'A new Cumulus FRAME-based Substrate node, ready for hacking.' -license = 'Unlicense' -version = '3.0.0' -homepage = 'https://substrate.dev' -repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' -edition = '2018' -build = 'build.rs' - -[package.metadata.docs.rs] -targets = ['x86_64-unknown-linux-gnu'] - -[build-dependencies] -substrate-build-script-utils = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -[features] -default = [ ] -kusama = [ 'pint-runtime-kusama' ] -polkadot = [ 'pint-runtime-polkadot' ] -runtime-benchmarks = [ - 'pint-runtime-dev/runtime-benchmarks', - 'pint-runtime-kusama/runtime-benchmarks', - 'pint-runtime-polkadot/runtime-benchmarks', - 'polkadot-service/runtime-benchmarks' -] - -[dependencies] -derive_more = '0.15.0' -log = '0.4.14' -codec = { package = 'parity-scale-codec', version = '2.0.0' } -structopt = '0.3.8' -serde = { version = '1.0.119', features = ['derive'] } -hex-literal = '0.2.1' -futures = { version = "0.3.1", features = ["compat"] } - -# RPC related Dependencies -jsonrpc-core = '15.1.0' - -# Local Dependencies -pint-runtime-dev = { path = '../runtime/dev' } -pint-runtime-kusama = { path = '../runtime/kusama', optional = true } -pint-runtime-polkadot = { path = '../runtime/polkadot', optional = true } -pint-runtime-common = { path = '../runtime/common' } -primitives = { path = "../primitives/primitives" } -xcm-calls = { path = '../primitives/xcm-calls' } -pint-rpc = { path = '../rpc' } -pallet-asset-index-rpc = { path = '../pallets/asset-index/rpc' } - -# Substrate Dependencies -frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = 'polkadot-v0.9.9'} - -## Substrate Client Dependencies -sc-basic-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-chain-spec = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-cli = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-client-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sc-consensus-slots = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sc-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-executor = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-network = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-keystore = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-rpc = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-rpc-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-service = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', features = ['wasmtime'] } -sc-telemetry = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sc-tracing = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -## Substrate Primitive Dependencies -sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-blockchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-consensus = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-trie = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-keystore = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-storage = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -# Cumulus dependencies -cumulus-client-consensus-aura = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-client-consensus-common = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-client-collator = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-client-cli = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-client-network = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-client-service = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-client-consensus-relay-chain = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } - -# Polkadot dependencies -polkadot-primitives = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} -polkadot-service = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} -polkadot-cli = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} -polkadot-test-service = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} diff --git a/node/build.rs b/node/build.rs deleted file mode 100644 index adbb8ed9a3..0000000000 --- a/node/build.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed}; - -fn main() { - generate_cargo_keys(); - rerun_if_git_head_changed(); -} diff --git a/node/src/chain_spec/dev.rs b/node/src/chain_spec/dev.rs deleted file mode 100644 index f1cef8c579..0000000000 --- a/node/src/chain_spec/dev.rs +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use super::{get_account_id_from_seed, get_collator_keys_from_seed, Extensions}; -use cumulus_primitives_core::ParaId; -use frame_support::PalletId; -use pint_runtime_common::traits::XcmRuntimeCallWeights; -use pint_runtime_dev::*; -use sc_service::ChainType; -use sp_core::sr25519; -use sp_runtime::traits::{AccountIdConversion, Zero}; -use xcm_calls::{ - proxy::{ProxyConfig, ProxyWeights}, - staking::{RewardDestination, StakingConfig, StakingWeights}, -}; - -/// Specialized `ChainSpec` for the normal parachain runtime. -pub type ChainSpec = sc_service::GenericChainSpec; - -pub fn pint_development_config(id: ParaId) -> ChainSpec { - ChainSpec::from_genesis( - // Name - "PINT Development", - // ID - "pint_dev", - ChainType::Local, - move || { - pint_testnet_genesis( - get_account_id_from_seed::("Alice"), - // initial collators. - vec![(get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice"))], - vec![ - PalletId(*b"Treasury").into_account(), - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - ], - id, - ) - }, - vec![], - None, - None, - None, - Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, - ) -} - -pub fn pint_local_config(id: ParaId) -> ChainSpec { - ChainSpec::from_genesis( - // Name - "Local Testnet", - // ID - "pint_dev_local_testnet", - ChainType::Local, - move || { - pint_testnet_genesis( - get_account_id_from_seed::("Alice"), - // initial collators. - vec![ - (get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice")), - (get_account_id_from_seed::("Bob"), get_collator_keys_from_seed("Bob")), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - get_account_id_from_seed::("Eve"), - get_account_id_from_seed::("Ferdie"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - get_account_id_from_seed::("Charlie//stash"), - get_account_id_from_seed::("Dave//stash"), - get_account_id_from_seed::("Eve//stash"), - get_account_id_from_seed::("Ferdie//stash"), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - ], - id, - ) - }, - vec![], - None, - None, - None, - Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, - ) -} - -fn pint_testnet_genesis( - root_key: AccountId, - initial_authorities: Vec<(AccountId, AuraId)>, - endowed_accounts: Vec, - council_members: Vec, - id: ParaId, -) -> GenesisConfig { - GenesisConfig { - system: SystemConfig { - code: WASM_BINARY.expect("WASM binary was not build, please build it!").to_vec(), - changes_trie_config: Default::default(), - }, - balances: BalancesConfig { balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect() }, - committee: CommitteeConfig { council_members: council_members.clone(), ..Default::default() }, - chainlink_feed: ChainlinkFeedConfig { pallet_admin: Some(root_key.clone()), feed_creators: council_members }, - sudo: SudoConfig { key: root_key }, - parachain_info: ParachainInfoConfig { parachain_id: id }, - collator_selection: CollatorSelectionConfig { - invulnerables: initial_authorities.iter().cloned().map(|(acc, _)| acc).collect(), - candidacy_bond: Zero::zero(), - ..Default::default() - }, - session: SessionConfig { - keys: initial_authorities - .iter() - .cloned() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - opaque::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - tokens: TokensConfig { - // TODO: - // - // this config is only for tests for now - balances: vec![ - endowed_accounts.iter().cloned().map(|k| (k, 42, 1 << 60)).collect::>(), - endowed_accounts.iter().cloned().map(|k| (k, 43, 1 << 60)).collect::>(), - ] - .concat(), - }, - // no need to pass anything to aura, in fact it will panic if we do. Session will take care - // of this. - aura: Default::default(), - aura_ext: Default::default(), - parachain_system: Default::default(), - remote_asset_manager: RemoteAssetManagerConfig { - staking_configs: vec![( - 42, - StakingConfig { - pallet_index: 7, - reward_destination: RewardDestination::Staked, - minimum_balance: 0, - weights: StakingWeights::polkadot(), - bonding_duration: POLKADOT_BONDING_DURATION_IN_BLOCKS, - }, - )], - proxy_configs: vec![(42, ProxyConfig { pallet_index: 29, weights: ProxyWeights::polkadot() })], - statemint_config: None, - }, - } -} diff --git a/node/src/chain_spec/kusama.rs b/node/src/chain_spec/kusama.rs deleted file mode 100644 index a1d480e35e..0000000000 --- a/node/src/chain_spec/kusama.rs +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use super::{get_account_id_from_seed, get_collator_keys_from_seed, Extensions}; -use cumulus_primitives_core::ParaId; -use frame_support::PalletId; -use pint_runtime_common::traits::XcmRuntimeCallWeights; -use pint_runtime_kusama::*; -use sc_service::ChainType; -use sp_core::sr25519; -use sp_runtime::traits::{AccountIdConversion, Zero}; -use xcm_calls::{ - proxy::{ProxyConfig, ProxyWeights}, - staking::{RewardDestination, StakingConfig, StakingWeights}, -}; - -/// Specialized `ChainSpec` for the normal parachain runtime. -pub type ChainSpec = sc_service::GenericChainSpec; - -pub fn pint_development_config(id: ParaId) -> ChainSpec { - ChainSpec::from_genesis( - // Name - "PINT Development", - // ID - "pint_kusama_dev", - ChainType::Local, - move || { - pint_testnet_genesis( - get_account_id_from_seed::("Alice"), - // initial collators. - vec![(get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice"))], - vec![ - PalletId(*b"Treasury").into_account(), - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - ], - id, - ) - }, - vec![], - None, - None, - None, - Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, - ) -} - -pub fn pint_local_config(id: ParaId) -> ChainSpec { - ChainSpec::from_genesis( - // Name - "Local Testnet", - // ID - "pint_kusama_local_testnet", - ChainType::Local, - move || { - pint_testnet_genesis( - get_account_id_from_seed::("Alice"), - // initial collators. - vec![ - (get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice")), - (get_account_id_from_seed::("Bob"), get_collator_keys_from_seed("Bob")), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - get_account_id_from_seed::("Eve"), - get_account_id_from_seed::("Ferdie"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - get_account_id_from_seed::("Charlie//stash"), - get_account_id_from_seed::("Dave//stash"), - get_account_id_from_seed::("Eve//stash"), - get_account_id_from_seed::("Ferdie//stash"), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - ], - id, - ) - }, - vec![], - None, - None, - None, - Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, - ) -} - -fn pint_testnet_genesis( - root_key: AccountId, - initial_authorities: Vec<(AccountId, AuraId)>, - endowed_accounts: Vec, - council_members: Vec, - id: ParaId, -) -> GenesisConfig { - GenesisConfig { - system: SystemConfig { - code: WASM_BINARY.expect("WASM binary was not build, please build it!").to_vec(), - changes_trie_config: Default::default(), - }, - balances: BalancesConfig { balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect() }, - committee: CommitteeConfig { council_members: council_members.clone(), ..Default::default() }, - chainlink_feed: ChainlinkFeedConfig { pallet_admin: Some(root_key.clone()), feed_creators: council_members }, - sudo: SudoConfig { key: root_key }, - parachain_info: ParachainInfoConfig { parachain_id: id }, - collator_selection: CollatorSelectionConfig { - invulnerables: initial_authorities.iter().cloned().map(|(acc, _)| acc).collect(), - candidacy_bond: Zero::zero(), - ..Default::default() - }, - session: SessionConfig { - keys: initial_authorities - .iter() - .cloned() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - opaque::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - tokens: TokensConfig { - // TODO: - // - // this config is only for tests for now - balances: vec![ - endowed_accounts.iter().cloned().map(|k| (k, 42, 1 << 60)).collect::>(), - endowed_accounts.iter().cloned().map(|k| (k, 43, 1 << 60)).collect::>(), - ] - .concat(), - }, - // no need to pass anything to aura, in fact it will panic if we do. Session will take care - // of this. - aura: Default::default(), - aura_ext: Default::default(), - parachain_system: Default::default(), - remote_asset_manager: RemoteAssetManagerConfig { - staking_configs: vec![( - 42, - StakingConfig { - pallet_index: 7, - reward_destination: RewardDestination::Staked, - minimum_balance: 0, - weights: StakingWeights::polkadot(), - bonding_duration: KUSAMA_BONDING_DURATION_IN_BLOCKS, - }, - )], - proxy_configs: vec![(42, ProxyConfig { pallet_index: 29, weights: ProxyWeights::polkadot() })], - statemint_config: None, - }, - } -} diff --git a/node/src/chain_spec/mod.rs b/node/src/chain_spec/mod.rs deleted file mode 100644 index 7e9f5d8b10..0000000000 --- a/node/src/chain_spec/mod.rs +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -use primitives::{AccountId, AccountPublic}; -use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup}; -use serde::{Deserialize, Serialize}; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{Pair, Public}; -use sp_runtime::traits::IdentifyAccount; - -pub mod dev; -#[cfg(feature = "kusama")] -pub mod kusama; -#[cfg(feature = "polkadot")] -pub mod polkadot; - -/// The extensions for the [`DevChainSpec`]. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)] -#[serde(deny_unknown_fields)] -pub struct Extensions { - /// The relay chain of the Parachain. - pub relay_chain: String, - /// The id of the Parachain. - pub para_id: u32, -} - -impl Extensions { - /// Try to get the extension from the given `ChainSpec`. - pub fn try_get(chain_spec: &dyn sc_service::ChainSpec) -> Option<&Self> { - sc_chain_spec::get_extension(chain_spec.extensions()) - } -} - -/// Helper function to generate a crypto pair from seed -pub fn get_from_seed(seed: &str) -> ::Public { - TPublic::Pair::from_string(&format!("//{}", seed), None).expect("static values are valid; qed").public() -} - -/// Helper function to generate an account ID from seed -pub fn get_account_id_from_seed(seed: &str) -> AccountId -where - AccountPublic: From<::Public>, -{ - AccountPublic::from(get_from_seed::(seed)).into_account() -} - -/// Generate collator keys from seed. -/// -/// This function's return type must always match the session keys of the chain -/// in tuple format. -pub fn get_collator_keys_from_seed(seed: &str) -> AuraId { - get_from_seed::(seed) -} diff --git a/node/src/chain_spec/polkadot.rs b/node/src/chain_spec/polkadot.rs deleted file mode 100644 index b13212c11d..0000000000 --- a/node/src/chain_spec/polkadot.rs +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use super::{get_account_id_from_seed, get_collator_keys_from_seed, Extensions}; -use cumulus_primitives_core::ParaId; -use frame_support::PalletId; -use pint_runtime_common::traits::XcmRuntimeCallWeights; -use pint_runtime_polkadot::*; -use sc_service::ChainType; -use sp_core::sr25519; -use sp_runtime::traits::{AccountIdConversion, Zero}; -use xcm_calls::{ - proxy::{ProxyConfig, ProxyWeights}, - staking::{RewardDestination, StakingConfig, StakingWeights}, -}; - -/// Specialized `ChainSpec` for the normal parachain runtime. -pub type ChainSpec = sc_service::GenericChainSpec; - -pub fn pint_development_config(id: ParaId) -> ChainSpec { - ChainSpec::from_genesis( - // Name - "PINT Development", - // ID - "pint_polkadot_dev", - ChainType::Local, - move || { - pint_testnet_genesis( - get_account_id_from_seed::("Alice"), - // initial collators. - vec![(get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice"))], - vec![ - PalletId(*b"Treasury").into_account(), - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - ], - id, - ) - }, - vec![], - None, - None, - None, - Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, - ) -} - -pub fn pint_local_config(id: ParaId) -> ChainSpec { - ChainSpec::from_genesis( - // Name - "Local Testnet", - // ID - "pint_polkadot_local_testnet", - ChainType::Local, - move || { - pint_testnet_genesis( - get_account_id_from_seed::("Alice"), - // initial collators. - vec![ - (get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice")), - (get_account_id_from_seed::("Bob"), get_collator_keys_from_seed("Bob")), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - get_account_id_from_seed::("Eve"), - get_account_id_from_seed::("Ferdie"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - get_account_id_from_seed::("Charlie//stash"), - get_account_id_from_seed::("Dave//stash"), - get_account_id_from_seed::("Eve//stash"), - get_account_id_from_seed::("Ferdie//stash"), - ], - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - ], - id, - ) - }, - vec![], - None, - None, - None, - Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, - ) -} - -fn pint_testnet_genesis( - root_key: AccountId, - initial_authorities: Vec<(AccountId, AuraId)>, - endowed_accounts: Vec, - council_members: Vec, - id: ParaId, -) -> GenesisConfig { - GenesisConfig { - system: SystemConfig { - code: WASM_BINARY.expect("WASM binary was not build, please build it!").to_vec(), - changes_trie_config: Default::default(), - }, - balances: BalancesConfig { balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect() }, - committee: CommitteeConfig { council_members: council_members.clone(), ..Default::default() }, - chainlink_feed: ChainlinkFeedConfig { pallet_admin: Some(root_key.clone()), feed_creators: council_members }, - sudo: SudoConfig { key: root_key }, - parachain_info: ParachainInfoConfig { parachain_id: id }, - collator_selection: CollatorSelectionConfig { - invulnerables: initial_authorities.iter().cloned().map(|(acc, _)| acc).collect(), - candidacy_bond: Zero::zero(), - ..Default::default() - }, - session: SessionConfig { - keys: initial_authorities - .iter() - .cloned() - .map(|(acc, aura)| { - ( - acc.clone(), // account id - acc, // validator id - opaque::SessionKeys { aura }, // session keys - ) - }) - .collect(), - }, - tokens: TokensConfig { - // TODO: - // - // this config is only for tests for now - balances: vec![ - endowed_accounts.iter().cloned().map(|k| (k, 42, 1 << 60)).collect::>(), - endowed_accounts.iter().cloned().map(|k| (k, 43, 1 << 60)).collect::>(), - ] - .concat(), - }, - // no need to pass anything to aura, in fact it will panic if we do. Session will take care - // of this. - aura: Default::default(), - aura_ext: Default::default(), - parachain_system: Default::default(), - remote_asset_manager: RemoteAssetManagerConfig { - staking_configs: vec![( - 42, - StakingConfig { - pallet_index: 7, - reward_destination: RewardDestination::Staked, - minimum_balance: 0, - weights: StakingWeights::polkadot(), - bonding_duration: POLKADOT_BONDING_DURATION_IN_BLOCKS, - }, - )], - proxy_configs: vec![(42, ProxyConfig { pallet_index: 29, weights: ProxyWeights::polkadot() })], - statemint_config: None, - }, - } -} diff --git a/node/src/cli.rs b/node/src/cli.rs deleted file mode 100644 index 2cc389d649..0000000000 --- a/node/src/cli.rs +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use crate::chain_spec; -use cumulus_client_cli; -use sc_cli; -use std::path::PathBuf; -use structopt::StructOpt; - -/// Sub-commands supported by the collator. -#[derive(Debug, StructOpt)] -pub enum Subcommand { - /// Export the genesis state of the parachain. - #[structopt(name = "export-genesis-state")] - ExportGenesisState(ExportGenesisStateCommand), - - /// Export the genesis wasm of the parachain. - #[structopt(name = "export-genesis-wasm")] - ExportGenesisWasm(ExportGenesisWasmCommand), - - /// Build a chain specification. - BuildSpec(sc_cli::BuildSpecCmd), - - /// Validate blocks. - CheckBlock(sc_cli::CheckBlockCmd), - - /// Export blocks. - ExportBlocks(sc_cli::ExportBlocksCmd), - - /// Export the state of a given block into a chain spec. - ExportState(sc_cli::ExportStateCmd), - - /// Import blocks. - ImportBlocks(sc_cli::ImportBlocksCmd), - - /// Remove the whole chain. - PurgeChain(cumulus_client_cli::PurgeChainCmd), - - /// Revert the chain to a previous state. - Revert(sc_cli::RevertCmd), - - /// The custom benchmark subcommmand benchmarking runtime pallets. - #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")] - Benchmark(frame_benchmarking_cli::BenchmarkCmd), -} - -/// Command for exporting the genesis state of the parachain -#[derive(Debug, StructOpt)] -pub struct ExportGenesisStateCommand { - /// Output file name or stdout if unspecified. - #[structopt(parse(from_os_str))] - pub output: Option, - - /// Id of the parachain this state is for. - /// - /// Default: 100 - #[structopt(long)] - pub parachain_id: Option, - - /// Write output in binary. Default is to write in hex. - #[structopt(short, long)] - pub raw: bool, - - /// The name of the chain for that the genesis state should be exported. - #[structopt(short, long)] - pub chain: Option, -} - -/// Command for exporting the genesis wasm file. -#[derive(Debug, StructOpt)] -pub struct ExportGenesisWasmCommand { - /// Output file name or stdout if unspecified. - #[structopt(parse(from_os_str))] - pub output: Option, - - /// Write output in binary. Default is to write in hex. - #[structopt(short, long)] - pub raw: bool, - - /// The name of the chain for that the genesis wasm file should be exported. - #[structopt(long)] - pub chain: Option, -} - -#[derive(Debug, StructOpt)] -#[structopt(settings = &[ - structopt::clap::AppSettings::GlobalVersion, - structopt::clap::AppSettings::ArgsNegateSubcommands, - structopt::clap::AppSettings::SubcommandsNegateReqs, -])] -pub struct Cli { - #[structopt(subcommand)] - pub subcommand: Option, - - #[structopt(flatten)] - pub run: cumulus_client_cli::RunCmd, - - /// Relaychain arguments - #[structopt(raw = true)] - pub relaychain_args: Vec, -} - -#[derive(Debug)] -pub struct RelayChainCli { - /// The actual relay chain cli object. - pub base: polkadot_cli::RunCmd, - - /// Optional chain id that should be passed to the relay chain. - pub chain_id: Option, - - /// The base path that should be used by the relay chain. - pub base_path: Option, -} - -impl RelayChainCli { - /// Parse the relay chain CLI parameters using the para chain - /// `Configuration`. - pub fn new<'a>( - para_config: &sc_service::Configuration, - relay_chain_args: impl Iterator, - ) -> Self { - let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec); - let chain_id = extension.map(|e| e.relay_chain.clone()); - let base_path = para_config.base_path.as_ref().map(|x| x.path().join("polkadot")); - Self { base_path, chain_id, base: polkadot_cli::RunCmd::from_iter(relay_chain_args) } - } -} diff --git a/node/src/client.rs b/node/src/client.rs deleted file mode 100644 index e88216fb43..0000000000 --- a/node/src/client.rs +++ /dev/null @@ -1,452 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -use primitives::{AccountId, AssetId, Balance, Block, BlockNumber, Hash, Header, Nonce}; -use sc_client_api::{Backend as BackendT, BlockchainEvents, KeyIterator}; -use sc_service::{TFullBackend, TFullClient}; -use sp_api::{CallApiAt, NumberFor, ProvideRuntimeApi}; -use sp_blockchain::HeaderBackend; -use sp_consensus::BlockStatus; -use sp_runtime::{ - generic::{BlockId, SignedBlock}, - traits::{BlakeTwo256, Block as BlockT}, - Justifications, -}; -use sp_storage::{ChildInfo, PrefixedStorageKey, StorageData, StorageKey}; -use std::sync::Arc; - -/// PINT's full backend. -pub type FullBackend = TFullBackend; - -/// PINT's full client. -pub type FullClient = TFullClient; - -/// A set of APIs that polkadot-like runtimes must implement. -pub trait RuntimeApiCollection: - sp_transaction_pool::runtime_api::TaggedTransactionQueue - + sp_api::ApiExt - + sp_block_builder::BlockBuilder - + frame_system_rpc_runtime_api::AccountNonceApi - + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi - + pallet_asset_index_rpc::AssetIndexRuntimeApi - + sp_api::Metadata - + sp_offchain::OffchainWorkerApi - + sp_session::SessionKeys - + cumulus_primitives_core::CollectCollationInfo -where - >::StateBackend: sp_api::StateBackend, -{ -} - -impl RuntimeApiCollection for Api -where - Api: sp_transaction_pool::runtime_api::TaggedTransactionQueue - + sp_api::ApiExt - + sp_block_builder::BlockBuilder - + frame_system_rpc_runtime_api::AccountNonceApi - + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi - + pallet_asset_index_rpc::AssetIndexRuntimeApi - + sp_api::Metadata - + sp_offchain::OffchainWorkerApi - + sp_session::SessionKeys - + cumulus_primitives_core::CollectCollationInfo, - >::StateBackend: sp_api::StateBackend, -{ -} - -/// Config that abstracts over all available client implementations. -/// -/// For a concrete type there exists [`Client`]. -pub trait AbstractClient: - BlockchainEvents - + Sized - + Send - + Sync - + ProvideRuntimeApi - + HeaderBackend - + CallApiAt -where - Block: BlockT, - Backend: BackendT, - Backend::State: sp_api::StateBackend, - Self::Api: RuntimeApiCollection, -{ -} - -impl AbstractClient for Client -where - Block: BlockT, - Backend: BackendT, - Backend::State: sp_api::StateBackend, - Client: BlockchainEvents - + ProvideRuntimeApi - + HeaderBackend - + Sized - + Send - + Sync - + CallApiAt, - Client::Api: RuntimeApiCollection, -{ -} - -/// Execute something with the client instance. -/// -/// As there exist multiple chains inside Polkadot, like Polkadot itself, -/// Kusama, Dev etc, there can exist different kinds of client types. As these -/// client types differ in the generics that are being used, we can not easily -/// return them from a function. For returning them from a function there exists -/// [`Client`]. However, the problem on how to use this client instance still -/// exists. This trait "solves" it in a dirty way. It requires a type to -/// implement this trait and than the [`execute_with_client`](ExecuteWithClient: -/// :execute_with_client) function can be called with any possible client -/// instance. -/// -/// In a perfect world, we could make a closure work in this way. -pub trait ExecuteWithClient { - /// The return type when calling this instance. - type Output; - - /// Execute whatever should be executed with the given client instance. - fn execute_with_client(self, client: Arc) -> Self::Output - where - >::StateBackend: sp_api::StateBackend, - Backend: sc_client_api::Backend, - Backend::State: sp_api::StateBackend, - Api: crate::client::RuntimeApiCollection, - Client: AbstractClient + 'static; -} - -/// A handle to a Polkadot client instance. -/// -/// The Polkadot service supports multiple different runtimes (Kusama, Polkadot -/// itself, etc). As each runtime has a specialized client, we need to hide them -/// behind a trait. This is this trait. -/// -/// When wanting to work with the inner client, you need to use `execute_with`. -pub trait ClientHandle { - /// Execute the given something with the client. - fn execute_with(&self, t: T) -> T::Output; -} - -/// A client instance of Polkadot. -#[derive(Clone)] -pub enum Client { - Dev(Arc>), - #[cfg(feature = "kusama")] - Kusama(Arc>), - #[cfg(feature = "polkadot")] - Polkadot(Arc>), -} - -impl ClientHandle for Client { - fn execute_with(&self, t: T) -> T::Output { - match self { - Self::Dev(client) => T::execute_with_client::<_, _, FullBackend>(t, client.clone()), - #[cfg(feature = "kusama")] - Self::Kusama(client) => T::execute_with_client::<_, _, FullBackend>(t, client.clone()), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => T::execute_with_client::<_, _, FullBackend>(t, client.clone()), - } - } -} - -impl sc_client_api::UsageProvider for Client { - fn usage_info(&self) -> sc_client_api::ClientInfo { - match self { - Self::Dev(client) => client.usage_info(), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.usage_info(), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.usage_info(), - } - } -} - -impl sc_client_api::BlockBackend for Client { - fn block_body(&self, id: &BlockId) -> sp_blockchain::Result::Extrinsic>>> { - match self { - Self::Dev(client) => client.block_body(id), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.block_body(id), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.block_body(id), - } - } - - fn block(&self, id: &BlockId) -> sp_blockchain::Result>> { - match self { - Self::Dev(client) => client.block(id), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.block(id), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.block(id), - } - } - - fn block_status(&self, id: &BlockId) -> sp_blockchain::Result { - match self { - Self::Dev(client) => client.block_status(id), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.block_status(id), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.block_status(id), - } - } - - fn justifications(&self, id: &BlockId) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.justifications(id), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.justifications(id), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.justifications(id), - } - } - - fn block_hash(&self, number: NumberFor) -> sp_blockchain::Result::Hash>> { - match self { - Self::Dev(client) => client.block_hash(number), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.block_hash(number), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.block_hash(number), - } - } - - fn indexed_transaction(&self, hash: &::Hash) -> sp_blockchain::Result>> { - match self { - Self::Dev(client) => client.indexed_transaction(hash), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.indexed_transaction(hash), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.indexed_transaction(hash), - } - } - - fn has_indexed_transaction(&self, hash: &::Hash) -> sp_blockchain::Result { - match self { - Self::Dev(client) => client.has_indexed_transaction(hash), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.has_indexed_transaction(hash), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.has_indexed_transaction(hash), - } - } - - fn block_indexed_body(&self, id: &BlockId) -> sp_blockchain::Result>>> { - match self { - Self::Dev(client) => client.block_indexed_body(id), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.block_indexed_body(id), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.block_indexed_body(id), - } - } -} - -impl sc_client_api::StorageProvider for Client { - fn storage(&self, id: &BlockId, key: &StorageKey) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.storage(id, key), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.storage(id, key), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.storage(id, key), - } - } - - fn storage_keys(&self, id: &BlockId, key_prefix: &StorageKey) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.storage_keys(id, key_prefix), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.storage_keys(id, key_prefix), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.storage_keys(id, key_prefix), - } - } - - fn storage_hash( - &self, - id: &BlockId, - key: &StorageKey, - ) -> sp_blockchain::Result::Hash>> { - match self { - Self::Dev(client) => client.storage_hash(id, key), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.storage_hash(id, key), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.storage_hash(id, key), - } - } - - fn storage_pairs( - &self, - id: &BlockId, - key_prefix: &StorageKey, - ) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.storage_pairs(id, key_prefix), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.storage_pairs(id, key_prefix), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.storage_pairs(id, key_prefix), - } - } - - fn storage_keys_iter<'a>( - &self, - id: &BlockId, - prefix: Option<&'a StorageKey>, - start_key: Option<&StorageKey>, - ) -> sp_blockchain::Result>::State, Block>> { - match self { - Self::Dev(client) => client.storage_keys_iter(id, prefix, start_key), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.storage_keys_iter(id, prefix, start_key), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.storage_keys_iter(id, prefix, start_key), - } - } - - fn child_storage( - &self, - id: &BlockId, - child_info: &ChildInfo, - key: &StorageKey, - ) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.child_storage(id, child_info, key), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.child_storage(id, child_info, key), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.child_storage(id, child_info, key), - } - } - - fn child_storage_keys( - &self, - id: &BlockId, - child_info: &ChildInfo, - key_prefix: &StorageKey, - ) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.child_storage_keys(id, child_info, key_prefix), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.child_storage_keys(id, child_info, key_prefix), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.child_storage_keys(id, child_info, key_prefix), - } - } - - fn child_storage_keys_iter<'a>( - &self, - id: &BlockId, - child_info: ChildInfo, - prefix: Option<&'a StorageKey>, - start_key: Option<&StorageKey>, - ) -> sp_blockchain::Result>::State, Block>> { - match self { - Self::Dev(client) => client.child_storage_keys_iter(id, child_info, prefix, start_key), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.child_storage_keys_iter(id, child_info, prefix, start_key), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.child_storage_keys_iter(id, child_info, prefix, start_key), - } - } - - fn child_storage_hash( - &self, - id: &BlockId, - child_info: &ChildInfo, - key: &StorageKey, - ) -> sp_blockchain::Result::Hash>> { - match self { - Self::Dev(client) => client.child_storage_hash(id, child_info, key), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.child_storage_hash(id, child_info, key), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.child_storage_hash(id, child_info, key), - } - } - - fn max_key_changes_range( - &self, - first: NumberFor, - last: BlockId, - ) -> sp_blockchain::Result, BlockId)>> { - match self { - Self::Dev(client) => client.max_key_changes_range(first, last), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.max_key_changes_range(first, last), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.max_key_changes_range(first, last), - } - } - - fn key_changes( - &self, - first: NumberFor, - last: BlockId, - storage_key: Option<&PrefixedStorageKey>, - key: &StorageKey, - ) -> sp_blockchain::Result, u32)>> { - match self { - Self::Dev(client) => client.key_changes(first, last, storage_key, key), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.key_changes(first, last, storage_key, key), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.key_changes(first, last, storage_key, key), - } - } -} - -impl sp_blockchain::HeaderBackend for Client { - fn header(&self, id: BlockId) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.header(&id), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.header(&id), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.header(&id), - } - } - - fn info(&self) -> sp_blockchain::Info { - match self { - Self::Dev(client) => client.info(), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.info(), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.info(), - } - } - - fn status(&self, id: BlockId) -> sp_blockchain::Result { - match self { - Self::Dev(client) => client.status(id), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.status(id), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.status(id), - } - } - - fn number(&self, hash: Hash) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.number(hash), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.number(hash), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.number(hash), - } - } - - fn hash(&self, number: BlockNumber) -> sp_blockchain::Result> { - match self { - Self::Dev(client) => client.hash(number), - #[cfg(feature = "kusama")] - Self::Kusama(client) => client.hash(number), - #[cfg(feature = "polkadot")] - Self::Polkadot(client) => client.hash(number), - } - } -} diff --git a/node/src/command.rs b/node/src/command.rs deleted file mode 100644 index cb0303c45b..0000000000 --- a/node/src/command.rs +++ /dev/null @@ -1,453 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use crate::{ - chain_spec, - cli::{Cli, RelayChainCli, Subcommand}, - service::{self, IdentifyVariant}, -}; -use codec::Encode; -use cumulus_client_service::genesis::generate_genesis_block; -use cumulus_primitives_core::ParaId; -use log::info; -use polkadot_parachain::primitives::AccountIdConversion; -use primitives::Block; -use sc_cli::{ - ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams, NetworkParams, Result, - RuntimeVersion, SharedParams, SubstrateCli, -}; -use sc_service::config::{BasePath, PrometheusConfig}; -use sp_core::hexdisplay::HexDisplay; -use sp_runtime::traits::Block as BlockT; -use std::{io::Write, net::SocketAddr}; - -fn load_spec(id: &str, para_id: ParaId) -> std::result::Result, String> { - Ok(match id { - "pint-local" => Box::new(chain_spec::dev::pint_local_config(para_id)), - "pint-dev" => Box::new(chain_spec::dev::pint_development_config(para_id)), - #[cfg(feature = "kusama")] - "pint-kusama-local" => Box::new(chain_spec::kusama::pint_local_config(para_id)), - #[cfg(feature = "kusama")] - "pint-kusama-dev" => Box::new(chain_spec::kusama::pint_development_config(para_id)), - #[cfg(feature = "polkadot")] - "pint-polkadot-local" => Box::new(chain_spec::polkadot::pint_local_config(para_id)), - #[cfg(feature = "polkadot")] - "pint-polkadot-dev" => Box::new(chain_spec::polkadot::pint_development_config(para_id)), - path => { - let path = std::path::PathBuf::from(path); - let starts_with = |prefix: &str| { - path.file_name().map(|f| f.to_str().map(|s| s.starts_with(&prefix))).flatten().unwrap_or(false) - }; - - if starts_with("pint_kusama") { - #[cfg(feature = "kusama")] - { - Box::new(chain_spec::kusama::ChainSpec::from_json_file(path)?) - } - #[cfg(not(feature = "kusama"))] - return Err(service::KUSAMA_RUNTIME_NOT_AVAILABLE.into()); - } else if starts_with("pint_polkadot") { - #[cfg(feature = "polkadot")] - { - Box::new(chain_spec::polkadot::ChainSpec::from_json_file(path)?) - } - #[cfg(not(feature = "polkadot"))] - return Err(service::POLKADOT_RUNTIME_NOT_AVAILABLE.into()); - } else { - Box::new(chain_spec::dev::ChainSpec::from_json_file(path)?) - } - } - }) -} - -impl SubstrateCli for Cli { - fn impl_name() -> String { - "PINT Collator".into() - } - - fn impl_version() -> String { - env!("SUBSTRATE_CLI_IMPL_VERSION").into() - } - - fn description() -> String { - format!( - "PINT Collator\n\nThe command-line arguments provided first will be \ - passed to the parachain node, while the arguments provided after -- will be passed \ - to the relaychain node.\n\n\ - {} [parachain-args] -- [relaychain-args]", - Self::executable_name() - ) - } - - fn author() -> String { - env!("CARGO_PKG_AUTHORS").into() - } - - fn support_url() -> String { - "https://github.com/ChainSafe/PINT/issues/new".into() - } - - fn copyright_start_year() -> i32 { - 2021 - } - - fn load_spec(&self, id: &str) -> std::result::Result, String> { - load_spec(id, self.run.parachain_id.unwrap_or(200).into()) - } - - fn native_runtime_version(chain_spec: &Box) -> &'static RuntimeVersion { - if chain_spec.is_kusama() { - #[cfg(feature = "kusama")] - return &pint_runtime_kusama::VERSION; - #[cfg(not(feature = "kusama"))] - panic!("{}", service::KUSAMA_RUNTIME_NOT_AVAILABLE); - } else if chain_spec.is_polkadot() { - #[cfg(feature = "polkadot")] - return &pint_runtime_polkadot::VERSION; - #[cfg(not(feature = "polkadot"))] - panic!("{}", service::POLKADOT_RUNTIME_NOT_AVAILABLE); - } else { - return &pint_runtime_dev::VERSION; - } - } -} - -impl SubstrateCli for RelayChainCli { - fn impl_name() -> String { - "PINT Collator".into() - } - - fn impl_version() -> String { - env!("SUBSTRATE_CLI_IMPL_VERSION").into() - } - - fn description() -> String { - "PINT Collator\n\nThe command-line arguments provided first will be \ - passed to the parachain node, while the arguments provided after -- will be passed \ - to the relaychain node.\n\n\ - parachain-collator [parachain-args] -- [relaychain-args]" - .into() - } - - fn author() -> String { - env!("CARGO_PKG_AUTHORS").into() - } - - fn support_url() -> String { - "https://github.com/ChainSafe/PINT/issues/new".into() - } - - fn copyright_start_year() -> i32 { - 2017 - } - - fn load_spec(&self, id: &str) -> std::result::Result, String> { - polkadot_cli::Cli::from_iter([RelayChainCli::executable_name().to_string()].iter()).load_spec(id) - } - - fn native_runtime_version(chain_spec: &Box) -> &'static RuntimeVersion { - polkadot_cli::Cli::native_runtime_version(chain_spec) - } -} - -fn extract_genesis_wasm(chain_spec: &Box) -> Result> { - let mut storage = chain_spec.build_storage()?; - - storage - .top - .remove(sp_core::storage::well_known_keys::CODE) - .ok_or_else(|| "Could not find wasm file in genesis state!".into()) -} - -macro_rules! with_runtime { - ($chain_spec:expr, { $( $code:tt )* }) => { - if $chain_spec.is_kusama() { - #[allow(unused_imports)] - #[cfg(feature = "kusama")] - use pint_runtime_kusama::{Block, RuntimeApi}; - #[cfg(feature = "kusama")] - use service::{KusamaExecutor as Executor}; - #[cfg(feature = "kusama")] - $( $code )* - - #[cfg(not(feature = "kusama"))] - return Err(service::KUSAMA_RUNTIME_NOT_AVAILABLE.into()); - } else if $chain_spec.is_polkadot() { - #[allow(unused_imports)] - #[cfg(feature = "polkadot")] - use pint_runtime_polkadot::{Block, RuntimeApi}; - #[cfg(feature = "polkadot")] - use service::{PolkadotExecutor as Executor}; - #[cfg(feature = "polkadot")] - $( $code )* - - #[cfg(not(feature = "polkadot"))] - return Err(service::POLKADOT_RUNTIME_NOT_AVAILABLE.into()); - } else { - #[allow(unused_imports)] - use pint_runtime_dev::{Block, RuntimeApi}; - use service::{DevExecutor as Executor}; - $( $code )* - } - } -} - -/// Parse command line arguments into service configuration. -pub fn run() -> Result<()> { - let cli = Cli::from_args(); - - match &cli.subcommand { - Some(Subcommand::BuildSpec(cmd)) => { - let runner = cli.create_runner(cmd)?; - runner.sync_run(|config| cmd.run(config.chain_spec, config.network)) - } - Some(Subcommand::CheckBlock(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { - let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, import_queue), task_manager)) - }), - Some(Subcommand::ExportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { - let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, config.database), task_manager)) - }), - Some(Subcommand::ExportState(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { - let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, config.chain_spec), task_manager)) - }), - Some(Subcommand::ImportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { - let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, import_queue), task_manager)) - }), - Some(Subcommand::PurgeChain(cmd)) => { - let runner = cli.create_runner(cmd)?; - - runner.sync_run(|config| { - let polkadot_cli = RelayChainCli::new( - &config, - [RelayChainCli::executable_name().to_string()].iter().chain(cli.relaychain_args.iter()), - ); - - let polkadot_config = - SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, config.task_executor.clone()) - .map_err(|err| format!("Relay chain argument error: {}", err))?; - - cmd.run(config, polkadot_config) - }) - } - Some(Subcommand::Revert(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { - let (client, backend, _, task_manager) = service::new_chain_ops(&mut config)?; - Ok((cmd.run(client, backend), task_manager)) - }), - Some(Subcommand::ExportGenesisState(params)) => { - let mut builder = sc_cli::LoggerBuilder::new(""); - builder.with_profiling(sc_tracing::TracingReceiver::Log, ""); - let _ = builder.init(); - - let block: Block = generate_genesis_block(&load_spec( - ¶ms.chain.clone().unwrap_or_default(), - params.parachain_id.unwrap_or(200).into(), - )?)?; - let raw_header = block.header().encode(); - let output_buf = if params.raw { - raw_header - } else { - format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes() - }; - - if let Some(output) = ¶ms.output { - std::fs::write(output, output_buf)?; - } else { - std::io::stdout().write_all(&output_buf)?; - } - - Ok(()) - } - Some(Subcommand::ExportGenesisWasm(params)) => { - let mut builder = sc_cli::LoggerBuilder::new(""); - builder.with_profiling(sc_tracing::TracingReceiver::Log, ""); - let _ = builder.init(); - - let raw_wasm_blob = extract_genesis_wasm(&cli.load_spec(¶ms.chain.clone().unwrap_or_default())?)?; - let output_buf = if params.raw { - raw_wasm_blob - } else { - format!("0x{:?}", HexDisplay::from(&raw_wasm_blob)).into_bytes() - }; - - if let Some(output) = ¶ms.output { - std::fs::write(output, output_buf)?; - } else { - std::io::stdout().write_all(&output_buf)?; - } - - Ok(()) - } - Some(Subcommand::Benchmark(cmd)) => { - if cfg!(feature = "runtime-benchmarks") { - let runner = cli.create_runner(cmd)?; - let chain_spec = &runner.config().chain_spec; - with_runtime!(chain_spec, { - return runner.sync_run(|config| cmd.run::(config)); - }) - } else { - Err("Benchmarking wasn't enabled when building the node. \ - You can enable it with `--features runtime-benchmarks`." - .into()) - } - } - None => { - let runner = cli.create_runner(&cli.run.normalize())?; - - runner.run_node_until_exit(|config| async move { - let para_id = chain_spec::Extensions::try_get(&*config.chain_spec).map(|e| e.para_id); - - let polkadot_cli = RelayChainCli::new( - &config, - [RelayChainCli::executable_name().to_string()].iter().chain(cli.relaychain_args.iter()), - ); - - let id = ParaId::from(cli.run.parachain_id.or(para_id).unwrap_or(200)); - - let parachain_account = AccountIdConversion::::into_account(&id); - - let block: Block = generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?; - let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode())); - - let task_executor = config.task_executor.clone(); - let polkadot_config = SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, task_executor) - .map_err(|err| format!("Relay chain argument error: {}", err))?; - - info!("Parachain id: {:?}", id); - info!("Parachain Account: {}", parachain_account); - info!("Parachain genesis state: {}", genesis_state); - info!("Is collating: {}", if config.role.is_authority() { "yes" } else { "no" }); - - with_runtime!(config.chain_spec, { - { - service::start_node::(config, polkadot_config, id) - .await - .map(|r| r.0) - .map_err(Into::into) - } - }) - }) - } - } -} - -impl DefaultConfigurationValues for RelayChainCli { - fn p2p_listen_port() -> u16 { - 30334 - } - - fn rpc_ws_listen_port() -> u16 { - 9945 - } - - fn rpc_http_listen_port() -> u16 { - 9934 - } - - fn prometheus_listen_port() -> u16 { - 9616 - } -} - -impl CliConfiguration for RelayChainCli { - fn shared_params(&self) -> &SharedParams { - self.base.base.shared_params() - } - - fn import_params(&self) -> Option<&ImportParams> { - self.base.base.import_params() - } - - fn network_params(&self) -> Option<&NetworkParams> { - self.base.base.network_params() - } - - fn keystore_params(&self) -> Option<&KeystoreParams> { - self.base.base.keystore_params() - } - - fn base_path(&self) -> Result> { - Ok(self.shared_params().base_path().or_else(|| self.base_path.clone().map(Into::into))) - } - - fn rpc_http(&self, default_listen_port: u16) -> Result> { - self.base.base.rpc_http(default_listen_port) - } - - fn rpc_ipc(&self) -> Result> { - self.base.base.rpc_ipc() - } - - fn rpc_ws(&self, default_listen_port: u16) -> Result> { - self.base.base.rpc_ws(default_listen_port) - } - - fn prometheus_config(&self, default_listen_port: u16) -> Result> { - self.base.base.prometheus_config(default_listen_port) - } - - fn init(&self) -> Result<()> { - unreachable!("PolkadotCli is never initialized; qed"); - } - - fn chain_id(&self, is_dev: bool) -> Result { - let chain_id = self.base.base.chain_id(is_dev)?; - - Ok(if chain_id.is_empty() { self.chain_id.clone().unwrap_or_default() } else { chain_id }) - } - - fn role(&self, is_dev: bool) -> Result { - self.base.base.role(is_dev) - } - - fn transaction_pool(&self) -> Result { - self.base.base.transaction_pool() - } - - fn state_cache_child_ratio(&self) -> Result> { - self.base.base.state_cache_child_ratio() - } - - fn rpc_methods(&self) -> Result { - self.base.base.rpc_methods() - } - - fn rpc_ws_max_connections(&self) -> Result> { - self.base.base.rpc_ws_max_connections() - } - - fn rpc_cors(&self, is_dev: bool) -> Result>> { - self.base.base.rpc_cors(is_dev) - } - - fn telemetry_external_transport(&self) -> Result> { - self.base.base.telemetry_external_transport() - } - - fn default_heap_pages(&self) -> Result> { - self.base.base.default_heap_pages() - } - - fn force_authoring(&self) -> Result { - self.base.base.force_authoring() - } - - fn disable_grandpa(&self) -> Result { - self.base.base.disable_grandpa() - } - - fn max_runtime_instances(&self) -> Result> { - self.base.base.max_runtime_instances() - } - - fn announce_block(&self) -> Result { - self.base.base.announce_block() - } - - fn telemetry_endpoints(&self, chain_spec: &Box) -> Result> { - self.base.base.telemetry_endpoints(chain_spec) - } -} diff --git a/node/src/lib.rs b/node/src/lib.rs deleted file mode 100644 index 663598ad04..0000000000 --- a/node/src/lib.rs +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -pub mod chain_spec; -pub mod client; -pub mod service; diff --git a/node/src/main.rs b/node/src/main.rs deleted file mode 100644 index a92ad8a84e..0000000000 --- a/node/src/main.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Substrate Parachain Node Template CLI - -#![warn(missing_docs)] - -mod chain_spec; -#[macro_use] -mod service; -mod cli; -mod client; -mod command; - -fn main() -> sc_cli::Result<()> { - command::run() -} diff --git a/node/src/service.rs b/node/src/service.rs deleted file mode 100644 index 608c6d20c7..0000000000 --- a/node/src/service.rs +++ /dev/null @@ -1,511 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -// Cumulus Imports -use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams, SlotProportion}; -use cumulus_client_consensus_common::ParachainConsensus; -use cumulus_client_network::build_block_announce_validator; -use cumulus_client_service::{ - prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, -}; -use cumulus_primitives_core::ParaId; - -// Substrate Imports -use cumulus_primitives_parachain_inherent::MockValidationDataInherentDataProvider; -use sc_chain_spec::ChainSpec; -use sc_client_api::ExecutorProvider; -use sc_consensus::LongestChain; -use sc_consensus_aura::ImportQueueParams; -pub use sc_executor::NativeExecutor; -use sc_executor::{native_executor_instance, NativeExecutionDispatch}; -use sc_network::NetworkService; -use sc_service::{Configuration, PartialComponents, Role, TFullBackend, TFullClient, TaskManager}; -use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; -use sc_transaction_pool::BasicPool; -use sp_api::ConstructRuntimeApi; -use sp_consensus::SlotData; -use sp_consensus_aura::sr25519::{AuthorityId as AuraId, AuthorityPair as AuraPair}; -use sp_keystore::SyncCryptoStorePtr; -use sp_runtime::traits::BlakeTwo256; -use sp_trie::PrefixedMemoryDB; -use std::sync::Arc; -use substrate_prometheus_endpoint::Registry; - -use crate::client::*; - -// Runtime type overrides -type BlockNumber = u32; -type Header = sp_runtime::generic::Header; -pub type Block = sp_runtime::generic::Block; -type Hash = sp_core::H256; - -native_executor_instance!( - pub DevExecutor, - pint_runtime_dev::api::dispatch, - pint_runtime_dev::native_version, - frame_benchmarking::benchmarking::HostFunctions, -); - -#[cfg(feature = "kusama")] -native_executor_instance!( - pub KusamaExecutor, - pint_runtime_kusama::api::dispatch, - pint_runtime_kusama::native_version, - frame_benchmarking::benchmarking::HostFunctions, -); - -#[cfg(feature = "kusama")] -native_executor_instance!( - pub PolkadotExecutor, - pint_runtime_polkadot::api::dispatch, - pint_runtime_polkadot::native_version, - frame_benchmarking::benchmarking::HostFunctions, -); - -pub trait IdentifyVariant { - fn is_kusama(&self) -> bool; - fn is_polkadot(&self) -> bool; - fn is_dev(&self) -> bool; -} - -impl IdentifyVariant for Box { - fn is_kusama(&self) -> bool { - self.id().starts_with("kusama") - } - - fn is_polkadot(&self) -> bool { - self.id().starts_with("polkadot") - } - - fn is_dev(&self) -> bool { - self.id().starts_with("dev") - } -} - -/// PINT's full backend. -type FullBackend = TFullBackend; - -/// PINT's full client. -type FullClient = TFullClient; - -/// Maybe Mandala Dev full select chain. -type MaybeFullSelectChain = Option>; - -fn default_mock_parachain_inherent_data_provider() -> MockValidationDataInherentDataProvider { - MockValidationDataInherentDataProvider { current_para_block: 0, relay_offset: 1000, relay_blocks_per_para_block: 2 } -} - -pub fn new_partial( - config: &Configuration, - dev: bool, - instant_sealing: bool, -) -> Result< - PartialComponents< - FullClient, - FullBackend, - MaybeFullSelectChain, - sc_consensus::import_queue::BasicQueue>, - sc_transaction_pool::FullPool>, - (Option, Option), - >, - sc_service::Error, -> -where - RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: RuntimeApiCollection>, - RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, - Executor: NativeExecutionDispatch + 'static, -{ - let telemetry = config - .telemetry_endpoints - .clone() - .filter(|x| !x.is_empty()) - .map(|endpoints| -> Result<_, sc_telemetry::Error> { - let worker = TelemetryWorker::new(16)?; - let telemetry = worker.handle().new_telemetry(endpoints); - Ok((worker, telemetry)) - }) - .transpose()?; - - let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( - &config, - telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), - )?; - let client = Arc::new(client); - - let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle()); - - let telemetry = telemetry.map(|(worker, telemetry)| { - task_manager.spawn_handle().spawn("telemetry", worker.run()); - telemetry - }); - - let registry = config.prometheus_registry(); - - let transaction_pool = BasicPool::new_full( - config.transaction_pool.clone(), - config.role.is_authority().into(), - registry, - task_manager.spawn_essential_handle(), - client.clone(), - ); - - let select_chain = if dev { Some(LongestChain::new(backend.clone())) } else { None }; - - let import_queue = if dev { - if instant_sealing { - // instance sealing - sc_consensus_manual_seal::import_queue( - Box::new(client.clone()), - &task_manager.spawn_essential_handle(), - registry, - ) - } else { - // aura import queue - let slot_duration = sc_consensus_aura::slot_duration(&*client)?.slot_duration(); - - sc_consensus_aura::import_queue::(ImportQueueParams { - block_import: client.clone(), - justification_import: None, - client: client.clone(), - create_inherent_data_providers: move |_, ()| async move { - let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( - *timestamp, - slot_duration, - ); - - Ok((timestamp, slot, default_mock_parachain_inherent_data_provider())) - }, - spawner: &task_manager.spawn_essential_handle(), - registry, - can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), - check_for_equivocation: Default::default(), - telemetry: telemetry.as_ref().map(|x| x.handle()), - })? - } - } else { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - - cumulus_client_consensus_aura::import_queue::( - cumulus_client_consensus_aura::ImportQueueParams { - block_import: client.clone(), - client: client.clone(), - create_inherent_data_providers: move |_, _| async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( - *time, - slot_duration.slot_duration(), - ); - - Ok((time, slot)) - }, - registry, - can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), - spawner: &task_manager.spawn_essential_handle(), - telemetry: telemetry.as_ref().map(|telemetry| telemetry.handle()), - }, - )? - }; - - Ok(PartialComponents { - backend, - client, - import_queue, - keystore_container, - task_manager, - transaction_pool, - select_chain, - other: (telemetry, telemetry_worker_handle), - }) -} - -/// Start a node with the given parachain `Configuration` and relay chain -/// `Configuration`. -/// -/// This is the actual implementation that is abstract over the executor and the -/// runtime api. -#[sc_tracing::logging::prefix_logs_with("Parachain")] -async fn start_node_impl( - parachain_config: Configuration, - polkadot_config: Configuration, - id: ParaId, - _rpc_ext_builder: RB, - build_consensus: BIC, -) -> sc_service::error::Result<(TaskManager, Arc>)> -where - RB: Fn(Arc>) -> jsonrpc_core::IoHandler + Send + 'static, - RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: RuntimeApiCollection>, - RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, - Executor: NativeExecutionDispatch + 'static, - BIC: FnOnce( - Arc>, - Option<&Registry>, - Option, - &TaskManager, - &polkadot_service::NewFull, - Arc>>, - Arc>, - SyncCryptoStorePtr, - bool, - ) -> Result>, sc_service::Error>, -{ - if matches!(parachain_config.role, Role::Light) { - return Err("Light client not supported!".into()); - } - - let parachain_config = prepare_node_config(parachain_config); - - let params = new_partial(¶chain_config, false, false)?; - let (mut telemetry, telemetry_worker_handle) = params.other; - - let relay_chain_full_node = - cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle).map_err( - |e| match e { - polkadot_service::Error::Sub(x) => x, - s => format!("{}", s).into(), - }, - )?; - - let client = params.client.clone(); - let backend = params.backend.clone(); - let block_announce_validator = build_block_announce_validator( - relay_chain_full_node.client.clone(), - id, - Box::new(relay_chain_full_node.network.clone()), - relay_chain_full_node.backend.clone(), - ); - - let force_authoring = parachain_config.force_authoring; - let validator = parachain_config.role.is_authority(); - let prometheus_registry = parachain_config.prometheus_registry().cloned(); - let transaction_pool = params.transaction_pool.clone(); - let mut task_manager = params.task_manager; - let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); - let (network, system_rpc_tx, start_network) = sc_service::build_network(sc_service::BuildNetworkParams { - config: ¶chain_config, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - spawn_handle: task_manager.spawn_handle(), - import_queue: import_queue.clone(), - on_demand: None, - block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)), - warp_sync: None, - })?; - - let rpc_extensions_builder = { - let client = client.clone(); - let transaction_pool = transaction_pool.clone(); - - Box::new(move |deny_unsafe, _| { - let deps = pint_rpc::FullDeps { client: client.clone(), pool: transaction_pool.clone(), deny_unsafe }; - - Ok(pint_rpc::create_full(deps)) - }) - }; - - if parachain_config.offchain_worker.enabled { - sc_service::build_offchain_workers( - ¶chain_config, - task_manager.spawn_handle(), - client.clone(), - network.clone(), - ); - }; - - sc_service::spawn_tasks(sc_service::SpawnTasksParams { - on_demand: None, - remote_blockchain: None, - rpc_extensions_builder, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - task_manager: &mut task_manager, - config: parachain_config, - keystore: params.keystore_container.sync_keystore(), - backend: backend.clone(), - network: network.clone(), - system_rpc_tx, - telemetry: telemetry.as_mut(), - })?; - - let announce_block = { - let network = network.clone(); - Arc::new(move |hash, data| network.announce_block(hash, data)) - }; - - if validator { - let parachain_consensus = build_consensus( - client.clone(), - prometheus_registry.as_ref(), - telemetry.as_ref().map(|t| t.handle()), - &task_manager, - &relay_chain_full_node, - transaction_pool, - network, - params.keystore_container.sync_keystore(), - force_authoring, - )?; - - let spawner = task_manager.spawn_handle(); - - let params = StartCollatorParams { - para_id: id, - block_status: client.clone(), - announce_block, - client: client.clone(), - task_manager: &mut task_manager, - relay_chain_full_node, - spawner, - parachain_consensus, - import_queue, - }; - - start_collator(params).await?; - } else { - let params = StartFullNodeParams { - client: client.clone(), - announce_block, - task_manager: &mut task_manager, - para_id: id, - relay_chain_full_node, - }; - - start_full_node(params)?; - } - - start_network.start_network(); - - Ok((task_manager, client)) -} - -/// Start a normal parachain node. -pub async fn start_node( - parachain_config: Configuration, - polkadot_config: Configuration, - id: ParaId, -) -> sc_service::error::Result<(TaskManager, Arc>)> -where - RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, - RuntimeApi::RuntimeApi: RuntimeApiCollection>, - RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, - Executor: NativeExecutionDispatch + 'static, -{ - start_node_impl( - parachain_config, - polkadot_config, - id, - |_| Default::default(), - |client, - prometheus_registry, - telemetry, - task_manager, - relay_chain_node, - transaction_pool, - sync_oracle, - keystore, - force_authoring| { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - - let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( - task_manager.spawn_handle(), - client.clone(), - transaction_pool, - prometheus_registry, - telemetry.clone(), - ); - - let relay_chain_backend = relay_chain_node.backend.clone(); - let relay_chain_client = relay_chain_node.client.clone(); - Ok(build_aura_consensus::(BuildAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |_, (relay_parent, validation_data)| { - let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client( - relay_parent, - &relay_chain_client, - &*relay_chain_backend, - &validation_data, - id, - ); - async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( - *time, - slot_duration.slot_duration(), - ); - - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from("Failed to create parachain inherent") - })?; - Ok((time, slot, parachain_inherent)) - } - }, - block_import: client.clone(), - relay_chain_client: relay_chain_node.client.clone(), - relay_chain_backend: relay_chain_node.backend.clone(), - para_client: client, - backoff_authoring_blocks: Option::<()>::None, - sync_oracle, - keystore, - force_authoring, - slot_duration, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - telemetry, - })) - }, - ) - .await -} - -#[allow(dead_code)] -pub const KUSAMA_RUNTIME_NOT_AVAILABLE: &str = - "pint-kusama runtime is not available. Please compile the node with `--features kusama` to enable it."; -#[allow(dead_code)] -pub const POLKADOT_RUNTIME_NOT_AVAILABLE: &str = - "pint-polkadot runtime is not available. Please compile the node with `--features polkadot` to enable it."; - -/// Builds a new object suitable for chain operations. -pub fn new_chain_ops( - mut config: &mut Configuration, -) -> Result< - ( - Arc, - Arc, - sc_consensus::import_queue::BasicQueue>, - TaskManager, - ), - sc_service::Error, -> { - config.keystore = sc_service::config::KeystoreConfig::InMemory; - if config.chain_spec.is_kusama() { - #[cfg(feature = "kusama")] - { - let PartialComponents { client, backend, import_queue, task_manager, .. } = - new_partial::(config, false, false)?; - Ok((Arc::new(Client::Kusama(client)), backend, import_queue, task_manager)) - } - - #[cfg(not(feature = "kusama"))] - Err(KUSAMA_RUNTIME_NOT_AVAILABLE.into()) - } else if config.chain_spec.is_polkadot() { - #[cfg(feature = "polkadot")] - { - let PartialComponents { client, backend, import_queue, task_manager, .. } = - new_partial::(config, false, false)?; - Ok((Arc::new(Client::Polkadot(client)), backend, import_queue, task_manager)) - } - - #[cfg(not(feature = "polkadot"))] - Err(POLKADOT_RUNTIME_NOT_AVAILABLE.into()) - } else { - let PartialComponents { client, backend, import_queue, task_manager, .. } = - new_partial::(config, false, false)?; - Ok((Arc::new(Client::Dev(client)), backend, import_queue, task_manager)) - } -} diff --git a/primitives/derive/Cargo.toml b/primitives/derive/Cargo.toml deleted file mode 100644 index cfab711d6d..0000000000 --- a/primitives/derive/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -authors = ['ChainSafe Systems'] -description = 'PINT proc-macros' -edition = "2018" -license = 'LGPL-3.0-only' -name = "derive" -repository = 'https://github.com/ChainSafe/PINT/' -version = "0.0.1" - -[lib] -proc-macro = true - -[dependencies] -proc-macro2 = "1.0.27" -quote = "1.0.9" -syn = { version = "1.0.73", features = ["full"] } diff --git a/primitives/derive/README.md b/primitives/derive/README.md deleted file mode 100644 index 11f69b5430..0000000000 --- a/primitives/derive/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# derive - -This module contains `proc-macro`s for developing and testing. - -## #[xcm_error] - -Provides a `From` implementation, could be used for `pallet::Error`. - -For example: - -```rust -#[pallet:error] -#[xcm_error] -pub enum Error { - // ... -} -``` diff --git a/primitives/derive/src/lib.rs b/primitives/derive/src/lib.rs deleted file mode 100644 index 3764403cc9..0000000000 --- a/primitives/derive/src/lib.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -//! PINT proc-macros -extern crate proc_macro; - -// mod derive; -mod xcm; - -use proc_macro::TokenStream; - -/// `#[xcm_error]` -/// -/// This macro is used for expand errors of xcm::v0::Error -#[proc_macro_attribute] -pub fn xcm_error(_attr: TokenStream, item: TokenStream) -> TokenStream { - xcm::error(item) -} diff --git a/primitives/derive/src/xcm/mod.rs b/primitives/derive/src/xcm/mod.rs deleted file mode 100644 index 9a94e8aba3..0000000000 --- a/primitives/derive/src/xcm/mod.rs +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -//! XCM macros -mod result; - -pub use result::error; diff --git a/primitives/derive/src/xcm/result.rs b/primitives/derive/src/xcm/result.rs deleted file mode 100644 index dfd201aff4..0000000000 --- a/primitives/derive/src/xcm/result.rs +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -//! XCM errors -use proc_macro::TokenStream; -use proc_macro2::Span; -use quote::quote; -use syn::{ - parse_macro_input, punctuated::Punctuated, token::Comma, Arm, DeriveInput, Expr, ExprMatch, Ident, Pat, PatTuple, - PatTupleStruct, Path, PathArguments, PathSegment, -}; - -const XCM_ERRORS: [&str; 27] = [ - "Undefined", - "Unimplemented", - "Overflow", - "UnhandledXcmVersion", - "UnhandledXcmMessage", - "UnhandledEffect", - "EscalationOfPrivilege", - "UntrustedReserveLocation", - "UntrustedTeleportLocation", - "DestinationBufferOverflow", - "SendFailed(_)", - "CannotReachDestination(_, _)", - "MultiLocationFull", - "FailedToDecode", - "BadOrigin", - "ExceedsMaxMessageSize", - "FailedToTransactAsset(_)", - "WeightLimitReached(_)", - "Wildcard", - "TooMuchWeightRequired", - "NotHoldingFees", - "WeightNotComputable", - "Barrier", - "NotWithdrawable", - "LocationCannotHold", - "TooExpensive", - "AssetNotFound", -]; - -/// Expand xcm errors -pub fn expand_errors() -> Vec { - XCM_ERRORS - .iter() - .map(|i| { - let ident = Ident::new(if let Some(idx) = i.find('(') { &i[0..idx] } else { i }, Span::call_site()); - let (body, pat) = (ident.clone(), { - let count = i.matches('_').count(); - if count == 0 { - Pat::Verbatim(quote! { XcmError::#ident }) - } else { - let mut elems = Punctuated::new(); - for _ in 0..count { - elems.push(Pat::Verbatim(quote! { _ })); - } - - let mut segments = Punctuated::new(); - segments.push(PathSegment { ident, arguments: PathArguments::None }); - - let ts = Pat::TupleStruct(PatTupleStruct { - attrs: Default::default(), - path: Path { leading_colon: None, segments }, - pat: PatTuple { attrs: Default::default(), paren_token: Default::default(), elems }, - }); - - Pat::Verbatim(quote! { XcmError::#ts }) - } - }); - - Arm { - attrs: Default::default(), - pat, - guard: None, - fat_arrow_token: Default::default(), - body: Box::new(Expr::Verbatim(quote! { Self::#body })), - comma: Some(Comma::default()), - } - }) - .collect() -} - -fn expand_match(arms: Vec) -> ExprMatch { - ExprMatch { - attrs: Default::default(), - match_token: Default::default(), - expr: Box::new(Expr::Verbatim(quote! {e})), - brace_token: Default::default(), - arms, - } -} - -/// Extends xcm errors -pub fn error(input: TokenStream) -> TokenStream { - let input = parse_macro_input!(input as DeriveInput); - - // construct expr match - let xcm_match = expand_match(expand_errors()); - - // get generics - let ident = &input.ident; - let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl(); - - let expanded = quote! { - use xcm::v0::Error as XcmError; - - #input - - impl #impl_generics From for #ident #ty_generics #where_clause { - fn from(e: XcmError) -> Self { - #xcm_match - } - } - }; - - TokenStream::from(expanded) -} diff --git a/resources/types.json b/resources/types.json deleted file mode 100644 index a87eb95f71..0000000000 --- a/resources/types.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "Address": "MultiAddress", - "LookupSource": "MultiAddress", - "LookupSourceFor": "LookupSource", - "Action": "Call", - "AssetId": "u32", - "AccountIdFor": "AccountId", - "AccountBalance": { - "available": "Balance", - "reserved": "Balance" - }, - "AssetAvailability": { - "_enum": { - "Liquid": "MultiLocation", - "Saft": null - } - }, - "AssetWithdrawal": { - "asset": "AssetId", - "state": "RedemptionState", - "units": "Balance" - }, - "Balance": "u128", - "BalanceFor": "Balance", - "CommitteeMember": { - "account_id": "AccountId", - "member_type": "MemberType" - }, - "CurrencyId": "AssetId", - "CurrencyIdOf": "CurrencyId", - "FeeRate": { - "numerator": "u32", - "denominator": "u32" - }, - "HashFor": "Hash", - "IndexAssetData": { - "units": "Balance", - "availability": "AssetAvailability" - }, - "MemberType": { - "_enum": { - "Council": null, - "Constituent": null - } - }, - "MemberVote": { - "member": "CommitteeMember", - "vote": "Vote" - }, - "PendingRedemption": { - "initiated": "BlockNumber", - "assets": "Vec" - }, - "ProposalNonce": "u32", - "ProxyType": { - "_enum": [ - "Any", - "NonTransfer", - "Governance", - "Staking" - ] - }, - "ProxyState": { - "added": "Vec" - }, - "RedemptionState": { - "_enum": { - "Initiated": null, - "Unbonding": null, - "Transferred": null - } - }, - "SAFTRecord": { - "nav": "Balance", - "units": "Balance" - }, - "StakingBondState": { - "controller": "LookupSourceFor", - "bonded": "Balance", - "unbonded": "Balance", - "unlocked_chunks": "u32" - }, - "Vote": { - "_enum": { - "Aye": null, - "Nay": null, - "Abstain": null - } - }, - "SAFTId": "u32", - "VoteAggregate": { - "votes": "Vec", - "end": "BlockNumber" - }, - "SpecIndex": "Vec", - "RequestIdentifier": "u64", - "DataVersion": "u64", - "FeedId": "u32", - "RoundId": "u32", - "Value": "u128", - "FeedConfig": { - "owner": "AccountId", - "pending_owner": "Option", - "submission_value_bounds": "(Value, Value)", - "submission_count_bounds": "(u32, u32)", - "payment": "Balance", - "timeout": "BlockNumber", - "decimals": "u8", - "description": "Vec", - "restart_delay": "RoundId", - "reporting_round": "RoundId", - "latest_round": "RoundId", - "first_valid_round": "Option", - "oracle_count": "u32", - "pruning_window": "RoundId", - "next_round_to_prune": "RoundId", - "debt": "Balance", - "max_debt": "Option" - }, - "FeedConfigOf": "FeedConfig", - "Round": { - "started_at": "BlockNumber", - "answer": "Option", - "updated_at": "Option", - "answered_in_round": "Option" - }, - "RoundOf": "Round", - "RoundDetails": { - "submissions": "Vec", - "submission_count_bounds": "(u32, u32)", - "payment": "Balance", - "timeout": "BlockNumber" - }, - "RoundDetailsOf": "RoundDetails", - "OracleMeta": { - "withdrawable": "Balance", - "admin": "AccountId", - "pending_admin": "Option" - }, - "OracleMetaOf": "OracleMeta", - "OracleStatus": { - "starting_round": "RoundId", - "ending_round": "Option", - "last_reported_round": "Option", - "last_started_round": "Option", - "latest_submission": "Option" - }, - "OracleStatusOf": "OracleStatus", - "Requester": { - "delay": "RoundId", - "last_started_round": "Option" - }, - "RoundData": { - "started_at": "BlockNumber", - "answer": "Value", - "updated_at": "BlockNumber", - "answered_in_round": "RoundId" - }, - "RoundDataOf": "RoundData", - "SubmissionBounds": "(u32, u32)" -} \ No newline at end of file diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml deleted file mode 100644 index 977502ce19..0000000000 --- a/rpc/Cargo.toml +++ /dev/null @@ -1,31 +0,0 @@ -[package] -authors = ['ChainSafe Systems'] -description = 'PINT specific RPC.' -edition = '2018' -license = 'LGPL-3.0-only' -name = 'pint-rpc' -repository = 'https://github.com/ChainSafe/PINT/' -version = '0.0.1' - -[dependencies] -jsonrpc-core = "15.0.0" -codec = { package = "parity-scale-codec", version = "2.2.0" } -sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -#sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } - -# PINT dependencies -pallet-asset-index-rpc= { path = "../pallets/asset-index/rpc" } -pint-runtime-common = { path = "../runtime/common" } -primitives = { path = "../primitives/primitives" } - -[package.metadata.docs.rs] -targets = ['x86_64-unknown-linux-gnu'] diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs deleted file mode 100644 index 120b88d3af..0000000000 --- a/rpc/src/lib.rs +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! PINT-specific RPCs implementation. - -#![warn(missing_docs)] - -use primitives::{AccountId, AssetId, Balance, Block, Hash, Nonce}; -use sc_client_api::light::{Fetcher, RemoteBlockchain}; -pub use sc_rpc_api::DenyUnsafe; -use sc_transaction_pool_api::TransactionPool; -use sp_api::ProvideRuntimeApi; -use sp_block_builder::BlockBuilder; -use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; -use std::sync::Arc; - -pub use sc_rpc::SubscriptionTaskExecutor; - -/// A type representing all RPC extensions. -pub type RpcExtension = jsonrpc_core::IoHandler; - -/// Light client extra dependencies. -pub struct LightDeps { - /// The client instance to use. - pub client: Arc, - /// Transaction pool instance. - pub pool: Arc

, - /// Remote access to the blockchain (async). - pub remote_blockchain: Arc>, - /// Fetcher instance. - pub fetcher: Arc, -} - -/// Full client dependencies. -pub struct FullDeps { - /// The client instance to use. - pub client: Arc, - /// Transaction pool instance. - pub pool: Arc

, - /// Whether to deny unsafe calls - pub deny_unsafe: DenyUnsafe, -} - -/// Instantiate all Full RPC extensions. -pub fn create_full(deps: FullDeps) -> RpcExtension -where - C: ProvideRuntimeApi, - C: HeaderBackend + HeaderMetadata, - C: Send + Sync + 'static, - C::Api: substrate_frame_rpc_system::AccountNonceApi, - C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, - C::Api: pallet_asset_index_rpc::AssetIndexRuntimeApi, - C::Api: BlockBuilder, - P: TransactionPool + Sync + Send + 'static, -{ - use pallet_asset_index_rpc::{AssetIndexApi, AssetIndexBackend}; - use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; - use substrate_frame_rpc_system::{FullSystem, SystemApi}; - - let mut io = jsonrpc_core::IoHandler::default(); - let FullDeps { client, pool, deny_unsafe } = deps; - - io.extend_with(SystemApi::to_delegate(FullSystem::new(client.clone(), pool, deny_unsafe))); - io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone()))); - // Making synchronous calls in light client freezes the browser currently, - // more context: https://github.com/paritytech/substrate/pull/3480 - // These RPCs should use an asynchronous caller instead. - io.extend_with(AssetIndexApi::to_delegate(AssetIndexBackend::new(client))); - io -} - -/// Instantiate all RPC extensions for light node. -pub fn create_light(deps: LightDeps) -> RpcExtension -where - C: ProvideRuntimeApi, - C: HeaderBackend, - C: Send + Sync + 'static, - C::Api: substrate_frame_rpc_system::AccountNonceApi, - C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, - F: Fetcher + 'static, - P: TransactionPool + 'static, -{ - use substrate_frame_rpc_system::{LightSystem, SystemApi}; - - let LightDeps { client, pool, remote_blockchain, fetcher } = deps; - let mut io = jsonrpc_core::IoHandler::default(); - io.extend_with(SystemApi::::to_delegate(LightSystem::new( - client, - remote_blockchain, - fetcher, - pool, - ))); - - io -} diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml deleted file mode 100644 index d71ce6ed66..0000000000 --- a/runtime/common/Cargo.toml +++ /dev/null @@ -1,57 +0,0 @@ -[package] -authors = ['ChainSafe Systems'] -edition = '2018' -homepage = 'https://github.com/ChainSafe/PINT' -license = 'LGPL-3.0-only' -name = 'pint-runtime-common' -repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' -version = '0.0.1' - -[dependencies] -frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -# xcm -xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm-calls = { path = "../../primitives/xcm-calls", default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } - -# orml -orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } - -# chainlink -pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } - -# pint -primitives = { path = '../../primitives/primitives', default-features = false } -pallet-committee = {path = '../../pallets/committee', default-features = false } -pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } -pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } -pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } -pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } -pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } - - -[features] -default = ['std'] -std = [ - "frame-support/std", - 'frame-system/std', - 'sp-std/std', - - "xcm/std", - "xcm-calls/std", - "cumulus-pallet-xcm/std", - - "orml-traits/std", - - 'pallet-asset-index/std', - 'pallet-committee/std', - 'pallet-local-treasury/std', - 'pallet-price-feed/std', - 'pallet-remote-asset-manager/std', - 'pallet-saft-registry/std', - 'pallet-chainlink-feed/std', - "primitives/std", -] diff --git a/runtime/common/src/constants.rs b/runtime/common/src/constants.rs deleted file mode 100644 index 925ce57e54..0000000000 --- a/runtime/common/src/constants.rs +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -use cumulus_pallet_xcm::Origin; -use frame_support::{ - parameter_types, - sp_runtime::{traits::AccountIdConversion, Perbill}, - sp_std::prelude::*, - traits::{Contains, LockIdentifier}, - weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, WEIGHT_PER_SECOND}, - DispatchClass, Weight, - }, - PalletId, -}; -use frame_system::limits::{BlockLength, BlockWeights}; -use orml_traits::{arithmetic::Zero, parameter_type_with_key}; -use primitives::{fee::FeeRate, AccountId, AssetId, Balance, BlockNumber}; -use xcm::v0::{Junction, MultiLocation}; - -// 1 in 4 blocks (on average, not counting collisions) will be primary babe -// blocks. -pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4); - -/// We assume that ~10% of the block weight is consumed by `on_initalize` -/// handlers. This is used to limit the maximal weight of a single extrinsic. -pub const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); -/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be -/// used by Operational extrinsics. -pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); -/// We allow for 0.5 seconds of compute with a 6 second average block time. -pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND / 2; - -/// This determines the average expected block time that we are targeting. -/// Blocks will be produced at a minimum duration defined by -/// `SLOT_DURATION`. `SLOT_DURATION` is picked up by `pallet_timestamp` -/// which is in turn picked up by `pallet_aura` to implement `fn -/// slot_duration()`. -/// -/// Change this to adjust the block time. -pub const MILLISECS_PER_BLOCK: u64 = 6000; - -pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; - -// Time is measured by number of blocks. -pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber); -pub const HOURS: BlockNumber = MINUTES * 60; -pub const DAYS: BlockNumber = HOURS * 24; - -// Unit = the base number of indivisible units for balances -pub const UNIT: Balance = 1_000_000_000_000; -pub const MILLIUNIT: Balance = 1_000_000_000; -pub const MICROUNIT: Balance = 1_000_000; - -// NOTE: same block time as PINT -pub const KUSAMA_EPOCH_DURATION_IN_SLOTS: BlockNumber = 1 * HOURS; -pub const POLKADOT_EPOCH_DURATION_IN_SLOTS: BlockNumber = 4 * HOURS; - -// 28 eras for unbonding (7 days). Six sessions in an era (6 hours). -pub const KUSAMA_BONDING_DURATION_IN_BLOCKS: BlockNumber = 28 * 6 * KUSAMA_EPOCH_DURATION_IN_SLOTS; - -/// 28 eras for unbonding (28 days). Six sessions in an era (24 hours) -pub const POLKADOT_BONDING_DURATION_IN_BLOCKS: BlockNumber = 28 * 6 * POLKADOT_EPOCH_DURATION_IN_SLOTS; - -parameter_types! { - // TODO: use actual fees - pub const BaseWithdrawalFee: FeeRate = FeeRate{ numerator: 0, denominator: 1_000,}; - // The base weight for an XCM message - // The actual weight for an XCM message will determined by - // `T::BaseXcmWeight + T::Weigher::weight(&msg)` - pub const BaseXcmWeight: Weight = 100_000_000; - pub const BlockHashCount: BlockNumber = 250; - pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33); - pub const DOTContributionLimit: Balance = 999; - /// Same as Polkadot Relay Chain. - pub const ExistentialDeposit: Balance = 500; - // Used to determine the account for storing the funds used to pay the oracles. - pub const FeedPalletId: PalletId = PalletId(*b"linkfeed"); - // Maximum number of feeds - pub const FeedLimit: u16 = 10; - pub const IndexTokenLockIdentifier: LockIdentifier = *b"pintlock"; - pub const Offset: BlockNumber = 0; - // Maximum number of oracles per feed - pub const OracleLimit: u32 = 10; - pub const PalletIndexStringLimit: u32 = 50; - pub const Period: u32 = 6 * HOURS; - pub const PINTAssetId: AssetId = 1; - pub PintTreasuryAccount: AccountId = TreasuryPalletId::get().into_account(); - pub const PotId: PalletId = PalletId(*b"PotStake"); - pub const RelayChainAssetId: AssetId = 0; - pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay; - pub const RelayLocation: MultiLocation = MultiLocation::X1(Junction::Parent); - pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; - pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; - pub RuntimeBlockLength: BlockLength = - BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); - pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() - .base_block(BlockExecutionWeight::get()) - .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get(); - }) - .for_class(DispatchClass::Normal, |weights| { - weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); - }) - .for_class(DispatchClass::Operational, |weights| { - weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); - // Operational transactions have some extra reserved space, so that they - // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. - weights.reserved = Some( - MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT - ); - }) - .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) - .build_or_panic(); - pub const SS58Prefix: u8 = 0; - // Maximum allowed string length for feed names - pub const StringLimit: u32 = 15; - pub const TransactionByteFee: Balance = 1 ; - pub const TreasuryPalletId: PalletId = PalletId(*b"Treasury"); - pub const LockupPeriod: BlockNumber = 10; - pub const MaxCandidates: u32 = 200; - pub const MaxInvulnerables: u32 = 50; - // For weight estimation, we assume that the most locks on an individual account will be 50. - // This number may need to be adjusted in the future if this assumption no longer holds true. - pub const MaxLocks: u32 = 50; - pub const MinCandidates: u32 = 1; - pub const MinCouncilVotes: usize = 4; - pub const MinimumPeriod: u64 = SLOT_DURATION / 2; - pub const MinimumRedemption: u32 = 0; - pub const MinimumStatemintTransferAmount: Balance = 1; - // Minimum amount of funds that need to be present in the fund account - pub const MinimumReserve: Balance = 100; - pub const UncleGenerations: u32 = 0; - // One UNIT buys 1 second of weight. - pub const UnitPerSecond: (MultiLocation, u128) = (MultiLocation::X1(Junction::Parent), UNIT); - // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. - pub const UnitWeightCost: Weight = 200_000_000; - pub const WithdrawalPeriod: BlockNumber = 10; -} - -pub fn get_all_pallet_accounts() -> Vec { - vec![TreasuryPalletId::get().into_account()] -} - -pub struct DustRemovalWhitelist; -impl Contains for DustRemovalWhitelist { - fn contains(a: &AccountId) -> bool { - get_all_pallet_accounts().contains(a) - } -} - -// --- ORML configurations -parameter_type_with_key! { - pub ExistentialDeposits: |_asset_id: AssetId| -> Balance { - Zero::zero() - }; -} - -// The minimum amount of assets that should remain unbonded. -parameter_type_with_key! { - pub MinimumRemoteReserveBalance: |_asset_id: AssetId| -> Balance { - // Same as relaychain existential deposit - ExistentialDeposit::get() - }; -} - -// The minimum amount of asset required for an additional bond_extr -parameter_type_with_key! { - pub MinimumBondExtra: |_asset_id: AssetId| -> Balance { - // set this to max for now, effectively preventing automated bond_extra - Balance::MAX - }; -} diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs deleted file mode 100644 index 5937bee8db..0000000000 --- a/runtime/common/src/lib.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -//! PINT runtime common - -#![cfg_attr(not(feature = "std"), no_std)] -pub mod constants; -pub mod traits; -pub mod types; -pub mod weights; diff --git a/runtime/common/src/traits.rs b/runtime/common/src/traits.rs deleted file mode 100644 index 4873e14250..0000000000 --- a/runtime/common/src/traits.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -//! PINT common traits - -/// Weights of Xcm calls for different runtimes -pub trait XcmRuntimeCallWeights { - fn polkadot() -> Self; - fn kusama() -> Self; -} diff --git a/runtime/common/src/types.rs b/runtime/common/src/types.rs deleted file mode 100644 index d78f8a16cb..0000000000 --- a/runtime/common/src/types.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -/// Origin that approved by committee -pub type GovernanceOrigin = frame_system::EnsureOneOf< - AccountId, - frame_system::EnsureRoot, - pallet_committee::EnsureApprovedByCommittee, ->; diff --git a/runtime/common/src/weights/mod.rs b/runtime/common/src/weights/mod.rs deleted file mode 100644 index 95c501bf02..0000000000 --- a/runtime/common/src/weights/mod.rs +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only -pub mod pallet_asset_index; -pub mod pallet_chainlink_feed; -pub mod pallet_committee; -pub mod pallet_local_treasury; -pub mod pallet_price_feed; -pub mod pallet_remote_asset_manager; -pub mod pallet_saft_registry; - -use crate::traits::XcmRuntimeCallWeights; -use frame_support::weights::{constants::RocksDbWeight, Weight}; -use xcm_calls::{proxy::ProxyWeights, staking::StakingWeights}; - -impl XcmRuntimeCallWeights for StakingWeights { - /// The weights as defined in `pallet_staking` on polkadot - fn polkadot() -> Self { - #![allow(clippy::unnecessary_cast)] - let weight = RocksDbWeight::get(); - Self { - bond: (75_102_000 as Weight) - .saturating_add(weight.reads(5 as Weight)) - .saturating_add(weight.writes(4 as Weight)), - bond_extra: (57_637_000 as Weight) - .saturating_add(weight.reads(3 as Weight)) - .saturating_add(weight.writes(2 as Weight)), - unbond: (52_115_000 as Weight) - .saturating_add(weight.reads(4 as Weight)) - .saturating_add(weight.writes(3 as Weight)), - // Same as unbounded temporarily - // - // Check https://github.com/paritytech/substrate/blob/0803f7d953938aa65de36993ed74cecb1f7b5407/frame/staking/src/lib.rs#L1622 - withdraw_unbonded: (52_115_000 as Weight) - .saturating_add(weight.reads(4 as Weight)) - .saturating_add(weight.writes(3 as Weight)), - } - } - - fn kusama() -> Self { - #![allow(clippy::unnecessary_cast)] - let weight = RocksDbWeight::get(); - Self { - bond: (70_648_000 as Weight) - .saturating_add(weight.reads(5 as Weight)) - .saturating_add(weight.writes(4 as Weight)), - bond_extra: (54_235_000 as Weight) - .saturating_add(weight.reads(3 as Weight)) - .saturating_add(weight.writes(2 as Weight)), - unbond: (57_950_000 as Weight) - .saturating_add(weight.reads(6 as Weight)) - .saturating_add(weight.writes(3 as Weight)), - // Same as unbounded temporarily - // - // Check https://github.com/paritytech/substrate/blob/0803f7d953938aa65de36993ed74cecb1f7b5407/frame/staking/src/lib.rs#L1622 - withdraw_unbonded: (57_950_000 as Weight) - .saturating_add(weight.reads(6 as Weight)) - .saturating_add(weight.writes(3 as Weight)), - } - } -} - -impl XcmRuntimeCallWeights for ProxyWeights { - /// The weights as defined in `pallet_staking` on polkadot - /// - /// 32 is from https://github.com/paritytech/polkadot/blob/0c670d826c7ce80b26e6214c411dc7320af58854/runtime/polkadot/src/lib.rs#L871 - fn polkadot() -> Self { - #![allow(clippy::unnecessary_cast)] - let weight = RocksDbWeight::get(); - Self { - add_proxy: (34_650_000 as Weight) - .saturating_add((212_000 as Weight).saturating_mul(32 as Weight)) - .saturating_add(weight.reads(1 as Weight)) - .saturating_add(weight.writes(1 as Weight)), - remove_proxy: (34_378_000 as Weight) - .saturating_add((240_000 as Weight).saturating_mul(32 as Weight)) - .saturating_add(weight.reads(1 as Weight)) - .saturating_add(weight.writes(1 as Weight)), - } - } - - /// The weights as defined in `pallet_staking` on polkadot - /// - /// 32 is from https://github.com/paritytech/polkadot/blob/0c670d826c7ce80b26e6214c411dc7320af58854/runtime/kusama/src/lib.rs#L965 - fn kusama() -> Self { - #![allow(clippy::unnecessary_cast)] - let weight = RocksDbWeight::get(); - Self { - add_proxy: (36_114_000 as Weight) - .saturating_add((223_000 as Weight).saturating_mul(32 as Weight)) - .saturating_add(weight.reads(1 as Weight)) - .saturating_add(weight.writes(1 as Weight)), - remove_proxy: (35_456_000 as Weight) - .saturating_add((246_000 as Weight).saturating_mul(32 as Weight)) - .saturating_add(weight.reads(1 as Weight)) - .saturating_add(weight.writes(1 as Weight)), - } - } -} diff --git a/runtime/common/src/weights/pallet_asset_index.rs b/runtime/common/src/weights/pallet_asset_index.rs deleted file mode 100644 index 17d99ec82a..0000000000 --- a/runtime/common/src/weights/pallet_asset_index.rs +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for pallet_asset_index -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-16, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("pint-local"), -//! DB CACHE: 128 - -// Executed Command: -// ./target/release/pint -// benchmark -// -p -// pallet_asset_index -// -e -// * -// --execution -// Wasm -// --wasm-execution -// Compiled -// --raw -// --output -// ./runtime/src/weights/pallet_asset_index.rs -// --chain -// pint-local - -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for pallet_asset_index. -pub struct WeightInfo(PhantomData); -impl pallet_asset_index::WeightInfo for WeightInfo { - fn add_asset() -> Weight { - (38_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - - fn complete_withdraw() -> Weight { - Default::default() - } - - fn remove_asset() -> Weight { - Default::default() - } - - fn register_asset() -> Weight { - (38_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - - fn deposit() -> Weight { - (38_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - - fn set_metadata() -> Weight { - (18_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - - fn unlock() -> Weight { - Default::default() - } - - fn withdraw() -> Weight { - Default::default() - } -} diff --git a/runtime/common/src/weights/pallet_chainlink_feed.rs b/runtime/common/src/weights/pallet_chainlink_feed.rs deleted file mode 100644 index 48f3c44e83..0000000000 --- a/runtime/common/src/weights/pallet_chainlink_feed.rs +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for pallet_chainlink_feed -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-05-20, STEPS: `[20, ]`, REPEAT: 10, LOW RANGE: `[]`, HIGH RANGE: -//! `[]` EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: -//! 128 - -// Executed Command: -// ./target/release/pint -// benchmark -// --execution -// wasm -// --wasm-execution -// compiled -// --pallet -// pallet_chainlink_feed -// -e -// * -// -s -// 20 -// -r -// 10 -// --raw -// --output -// ./runtime/src/weights - -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for pallet_chainlink_feed. -pub struct WeightInfo(PhantomData); -impl pallet_chainlink_feed::WeightInfo for WeightInfo { - fn create_feed(o: u32) -> Weight { - (38_850_000 as Weight) - // Standard Error: 66_000 - .saturating_add((15_164_000 as Weight).saturating_mul(o as Weight)) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(o as Weight))) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) - .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(o as Weight))) - } - fn transfer_ownership() -> Weight { - (21_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - - fn cancel_ownership_transfer() -> Weight { - Default::default() - } - - fn accept_ownership() -> Weight { - (20_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn set_pruning_window(o: u32) -> Weight { - (1_727_000 as Weight) - // Standard Error: 14_000 - .saturating_add((3_253_000 as Weight).saturating_mul(o as Weight)) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(o as Weight))) - } - fn submit_opening_round_answers() -> Weight { - (90_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(6 as Weight)) - .saturating_add(T::DbWeight::get().writes(6 as Weight)) - } - fn submit_closing_answer(o: u32) -> Weight { - (72_296_000 as Weight) - // Standard Error: 18_000 - .saturating_add((211_000 as Weight).saturating_mul(o as Weight)) - .saturating_add(T::DbWeight::get().reads(7 as Weight)) - .saturating_add(T::DbWeight::get().writes(6 as Weight)) - } - fn change_oracles(d: u32, n: u32) -> Weight { - (0 as Weight) - // Standard Error: 81_000 - .saturating_add((14_745_000 as Weight).saturating_mul(d as Weight)) - // Standard Error: 81_000 - .saturating_add((17_320_000 as Weight).saturating_mul(n as Weight)) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(d as Weight))) - .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(n as Weight))) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(d as Weight))) - .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(n as Weight))) - } - fn update_future_rounds() -> Weight { - (22_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn set_requester() -> Weight { - (25_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn remove_requester() -> Weight { - (23_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn request_new_round() -> Weight { - (48_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(4 as Weight)) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) - } - fn withdraw_payment() -> Weight { - (53_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(3 as Weight)) - } - fn transfer_admin() -> Weight { - (19_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - - fn cancel_admin_transfer() -> Weight { - Default::default() - } - - fn accept_admin() -> Weight { - (19_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn withdraw_funds() -> Weight { - (50_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(3 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - fn reduce_debt() -> Weight { - (31_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - fn transfer_pallet_admin() -> Weight { - (17_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - - fn cancel_pallet_admin_transfer() -> Weight { - Default::default() - } - - fn accept_pallet_admin() -> Weight { - (18_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - fn set_feed_creator() -> Weight { - (17_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn remove_feed_creator() -> Weight { - (17_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } -} diff --git a/runtime/common/src/weights/pallet_committee.rs b/runtime/common/src/weights/pallet_committee.rs deleted file mode 100644 index ae36249d01..0000000000 --- a/runtime/common/src/weights/pallet_committee.rs +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for pallet_committee -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-04, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 - -// Executed Command: -// ./target/release/pint -// benchmark -// --execution -// wasm -// --wasm-execution -// compiled -// -p -// pallet_committee -// -e -// * -// --raw -// --output -// runtime/src/weights/pallet_committee.rs - -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for pallet_committee. -pub struct WeightInfo(PhantomData); -impl pallet_committee::WeightInfo for WeightInfo { - fn propose() -> Weight { - (30_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(4 as Weight)) - } - fn vote() -> Weight { - (28_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn close() -> Weight { - (42_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(4 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn add_constituent() -> Weight { - (16_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } -} diff --git a/runtime/common/src/weights/pallet_local_treasury.rs b/runtime/common/src/weights/pallet_local_treasury.rs deleted file mode 100644 index b2236cfee8..0000000000 --- a/runtime/common/src/weights/pallet_local_treasury.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for pallet_local_treasury -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 - -// Executed Command: -// ./target/release/pint -// benchmark -// --execution -// wasm -// --wasm-execution -// compiled -// -p -// pallet_local_treasury -// -e -// * -// --raw -// --output -// runtime/src/weights/pallet_local_treasury.rs - -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for pallet_local_treasury. -pub struct WeightInfo(PhantomData); -impl pallet_local_treasury::WeightInfo for WeightInfo { - fn withdraw() -> Weight { - (52_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } -} diff --git a/runtime/common/src/weights/pallet_price_feed.rs b/runtime/common/src/weights/pallet_price_feed.rs deleted file mode 100644 index 3ce13be38e..0000000000 --- a/runtime/common/src/weights/pallet_price_feed.rs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for pallet_price_feed -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 - -// Executed Command: -// ./target/release/pint -// benchmark -// --execution -// wasm -// --wasm-execution -// compiled -// -p -// pallet_price_feed -// -e -// * -// --raw -// --output -// runtime/src/weights/pallet_price_feed.rs - -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for pallet_price_feed. -pub struct WeightInfo(PhantomData); -impl pallet_price_feed::WeightInfo for WeightInfo { - fn map_asset_price_feed() -> Weight { - (18_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn unmap_asset_price_feed() -> Weight { - (15_000_000 as Weight).saturating_add(T::DbWeight::get().reads(1 as Weight)) - } -} diff --git a/runtime/common/src/weights/pallet_remote_asset_manager.rs b/runtime/common/src/weights/pallet_remote_asset_manager.rs deleted file mode 100644 index af903ef8e9..0000000000 --- a/runtime/common/src/weights/pallet_remote_asset_manager.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for pallet_remote_asset_manager -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 - -// Executed Command: -// ./target/release/pint -// benchmark -// --execution -// wasm -// --wasm-execution -// compiled -// -p -// pallet_remote_asset_manager -// -e -// * -// --raw -// --output -// runtime/src/weights/pallet_remote_asset_manager.rs - -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for pallet_remote_asset_manager. -pub struct WeightInfo(PhantomData); -impl pallet_remote_asset_manager::WeightInfo for WeightInfo { - fn transfer() -> Weight { - (2_000_000 as Weight) - } -} diff --git a/runtime/common/src/weights/pallet_saft_registry.rs b/runtime/common/src/weights/pallet_saft_registry.rs deleted file mode 100644 index 856288dbbb..0000000000 --- a/runtime/common/src/weights/pallet_saft_registry.rs +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for pallet_saft_registry -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 -//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 - -// Executed Command: -// ./target/release/pint -// benchmark -// --execution -// wasm -// --wasm-execution -// compiled -// -p -// pallet_saft_registry -// -e -// * -// --raw -// --output -// runtime/src/weights/pallet_saft_registry.rs - -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for pallet_saft_registry. -pub struct WeightInfo(PhantomData); -impl pallet_saft_registry::WeightInfo for WeightInfo { - fn add_saft() -> Weight { - (23_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - - fn remove_saft() -> Weight { - (23_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(2 as Weight)) - .saturating_add(T::DbWeight::get().writes(2 as Weight)) - } - - fn report_nav() -> Weight { - (18_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } - fn convert_to_liquid(_: u32) -> Weight { - (18_000_000 as Weight) - .saturating_add(T::DbWeight::get().reads(1 as Weight)) - .saturating_add(T::DbWeight::get().writes(1 as Weight)) - } -} diff --git a/runtime/dev/Cargo.toml b/runtime/dev/Cargo.toml deleted file mode 100644 index 8ea6c65bf5..0000000000 --- a/runtime/dev/Cargo.toml +++ /dev/null @@ -1,194 +0,0 @@ -[package] -authors = ['ChainSafe Systems'] -edition = '2018' -homepage = 'https://substrate.dev' -license = 'LGPL-3.0-only' -name = 'pint-runtime-dev' -repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' - -version = '2.0.0' -[package.metadata.docs.rs] -targets = ['x86_64-unknown-linux-gnu'] - -[build-dependencies] -substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -[dependencies] -codec = { package = 'parity-scale-codec', version = '2.2.0', default-features = false, features = ['derive', 'max-encoded-len']} -log = { version = '0.4.14', default-features = false } -serde = { version = '1.0.119', optional = true, features = ['derive'] } -hex-literal = { version = '0.3.1', optional = true } - -# Substrate Dependencies -## Substrate Primitive Dependencies -sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -sp-version = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -## Substrate FRAME Dependencies -frame-executive = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -## Substrate Pallet Dependencies -pallet-aura = { git = 'https://github.com/paritytech/substrate', default-features = false, branch = 'polkadot-v0.9.9' } -pallet-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false} -pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-collective = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9", default-features = false } -pallet-randomness-collective-flip = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, features = ['historical'] } -pallet-sudo = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -# Cumulus Dependencies -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9", default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } - -# Polkadot Dependencies -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -pallet-xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } - -# ORML Dependencies -orml-currencies = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-unknown-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } - -# PINT dependencies -pint-runtime-common = {path = '../common', default-features = false } -pallet-committee = {path = '../../pallets/committee', default-features = false } -pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } -pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } -pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } -pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } -pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } -primitives = { path = '../../primitives/primitives', default-features = false } -xcm-calls = { path = '../../primitives/xcm-calls', default-features = false } -pallet-asset-index-rpc-runtime-api = { path = '../../pallets/asset-index/rpc/runtime-api', default-features = false } - -pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } - -[dev-dependencies] -hex-literal = '0.3.1' -hex = '0.4.3' - -[features] -default = ['std'] -runtime-benchmarks = [ - 'hex-literal', - 'sp-runtime/runtime-benchmarks', - 'frame-benchmarking', - 'frame-support/runtime-benchmarks', - 'frame-system-benchmarking', - 'frame-system/runtime-benchmarks', - 'xcm-builder/runtime-benchmarks', - 'pallet-collator-selection/runtime-benchmarks', - 'pallet-balances/runtime-benchmarks', - 'pallet-timestamp/runtime-benchmarks', - - 'pallet-asset-index/runtime-benchmarks', - 'pallet-price-feed/runtime-benchmarks', - 'pallet-local-treasury/runtime-benchmarks', - 'pallet-balances/runtime-benchmarks', - 'pallet-timestamp/runtime-benchmarks', - 'pallet-committee/runtime-benchmarks', - 'pallet-xcm/runtime-benchmarks', - 'pallet-saft-registry/runtime-benchmarks', - 'pallet-remote-asset-manager/runtime-benchmarks', - 'pallet-collective/runtime-benchmarks', - - 'orml-tokens/runtime-benchmarks', -] -std = [ - 'codec/std', - 'serde', - 'log/std', - - 'frame-support/std', - 'frame-executive/std', - 'frame-system/std', - 'frame-try-runtime/std', - - 'sp-api/std', - 'sp-std/std', - 'sp-io/std', - 'sp-consensus-aura/std', - 'sp-core/std', - 'sp-runtime/std', - 'sp-version/std', - 'sp-offchain/std', - 'sp-session/std', - 'sp-block-builder/std', - 'sp-transaction-pool/std', - 'sp-inherents/std', - 'pallet-aura/std', - 'pallet-authorship/std', - 'pallet-balances/std', - 'pallet-collective/std', - 'pallet-randomness-collective-flip/std', - 'pallet-timestamp/std', - 'pallet-sudo/std', - 'pallet-session/std', - 'pallet-transaction-payment/std', - 'primitives/std', - 'pallet-asset-index-rpc-runtime-api/std', - - 'parachain-info/std', - 'cumulus-pallet-aura-ext/std', - 'cumulus-pallet-parachain-system/std', - 'cumulus-pallet-xcmp-queue/std', - 'cumulus-pallet-xcm/std', - 'cumulus-primitives-core/std', - 'cumulus-primitives-utility/std', - 'cumulus-primitives-timestamp/std', - - 'xcm/std', - 'xcm-builder/std', - 'xcm-executor/std', - - 'pint-runtime-common/std', - 'pallet-asset-index/std', - "pallet-collator-selection/std", - 'pallet-committee/std', - 'pallet-local-treasury/std', - 'pallet-price-feed/std', - 'pallet-remote-asset-manager/std', - 'pallet-saft-registry/std', - 'pallet-chainlink-feed/std', - 'xcm-calls/std', - - 'orml-currencies/std', - 'orml-unknown-tokens/std', - 'orml-tokens/std', - 'orml-xtokens/std', - 'orml-xcm-support/std', - 'orml-traits/std', -] diff --git a/runtime/dev/build.rs b/runtime/dev/build.rs deleted file mode 100644 index 4a18e19492..0000000000 --- a/runtime/dev/build.rs +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use substrate_wasm_builder::WasmBuilder; - -fn main() { - WasmBuilder::new().with_current_project().export_heap_base().import_memory().build() -} diff --git a/runtime/dev/src/lib.rs b/runtime/dev/src/lib.rs deleted file mode 100644 index 8376aeab84..0000000000 --- a/runtime/dev/src/lib.rs +++ /dev/null @@ -1,902 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -#![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit = "256"] -// Required as construct_runtime! produces code that violates this lint -#![allow(clippy::from_over_into)] - -// A few exports that help ease life for downstream crates. -use codec::Decode; -// Polkadot imports -use cumulus_primitives_core::ParaId; -pub use frame_support::{ - construct_runtime, match_type, ord_parameter_types, parameter_types, - traits::{IsInVec, Randomness}, - weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, - DispatchClass, IdentityFee, Weight, - }, - PalletId, StorageValue, -}; -use frame_system::EnsureSigned; - -// orml imports -use orml_currencies::BasicCurrencyAdapter; -use orml_xcm_support::{IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; -pub use pallet_balances::Call as BalancesCall; -pub use pallet_timestamp::Call as TimestampCall; -use pallet_xcm::XcmPassthrough; -use polkadot_parachain::primitives::Sibling; -use sp_api::impl_runtime_apis; -pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, Convert}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, -}; -pub use sp_runtime::{Perbill, Permill, Perquintill}; -use sp_std::prelude::*; -#[cfg(feature = "std")] -use sp_version::NativeVersion; -use sp_version::RuntimeVersion; -use xcm::v0::{BodyId, Junction, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId}; -use xcm_builder::{ - AccountId32Aliases, AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedRateOfConcreteFungible, - FixedWeightBounds, LocationInverter, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, - SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, - TakeRevenue, TakeWeightCredit, -}; -use xcm_executor::XcmExecutor; - -use frame_support::traits::Everything; -use pallet_committee::EnsureMember; - -pub use pint_runtime_common::{constants::*, types::GovernanceOrigin, weights}; -use primitives::traits::MultiAssetRegistry; -pub use primitives::*; -use xcm_calls::{ - proxy::{ProxyCallEncoder, ProxyType}, - staking::StakingCallEncoder, - PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, -}; - -// Make the WASM binary available. -#[cfg(feature = "std")] -include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); - -/// Opaque types. These are used by the CLI to instantiate machinery that don't -/// need to know the specifics of the runtime. They can then be made to be -/// agnostic over specific formats of data like extrinsics, allowing for them to -/// continue syncing the network through upgrades to even the core data -/// structures. -pub mod opaque { - pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; - - use super::*; - - /// Opaque block type. - pub type Block = generic::Block; - - pub type SessionHandlers = (); - - impl_opaque_keys! { - pub struct SessionKeys { - pub aura: Aura, - } - } -} - -pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("pint-parachain"), - impl_name: create_runtime_str!("pint-parachain"), - authoring_version: 1, - spec_version: 1, - impl_version: 1, - apis: RUNTIME_API_VERSIONS, - transaction_version: 1, -}; - -/// The version information used to identify this runtime when compiled -/// natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } -} - -parameter_types! { - // network - pub Ancestry: MultiLocation = Junction::Parachain( - ParachainInfo::parachain_id().into() - ).into(); - pub const RelayNetwork: NetworkId = NetworkId::Polkadot; - pub SelfLocation: MultiLocation = MultiLocation::X2(Junction::Parent, Junction::Parachain(ParachainInfo::parachain_id().into())); - pub const Version: RuntimeVersion = VERSION; - // pallet-committee - pub const ProposalSubmissionPeriod: BlockNumber = 10; - pub const VotingPeriod: BlockNumber = 10; -} - -// Configure FRAME pallets to include in runtime. - -impl frame_system::Config for Runtime { - /// The basic call filter to use in dispatchable. - type BaseCallFilter = Everything; - /// Block & extrinsics weights: base values and limits. - type BlockWeights = RuntimeBlockWeights; - /// The maximum length of a block (in bytes). - type BlockLength = RuntimeBlockLength; - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; - /// The lookup mechanism to get account ID from whatever is passed in - /// dispatchers. - type Lookup = AccountIdLookup; - /// The index type for storing how many extrinsics an account has signed. - type Index = Index; - /// The index type for blocks. - type BlockNumber = BlockNumber; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The hashing algorithm used. - type Hashing = BlakeTwo256; - /// The header type. - type Header = generic::Header; - /// The ubiquitous event type. - type Event = Event; - /// The ubiquitous origin type. - type Origin = Origin; - /// Maximum number of block number to block hash mappings to keep (oldest - /// pruned first). - type BlockHashCount = BlockHashCount; - /// The weight of database operations that the runtime can invoke. - type DbWeight = RocksDbWeight; - /// Version of the runtime. - type Version = Version; - /// Converts a pallet to the index of the pallet in `construct_runtime!`. - /// - /// This type is being generated by `construct_runtime!`. - type PalletInfo = PalletInfo; - /// What to do if a new account is created. - type OnNewAccount = (); - /// What to do if an account is fully reaped from the system. - type OnKilledAccount = (); - /// The data to be stored in an account. - type AccountData = pallet_balances::AccountData; - /// Weight information for the extrinsics of this pallet. - type SystemWeightInfo = (); - /// This is used as an identifier of the chain. 42 is the generic substrate - /// prefix. - type SS58Prefix = SS58Prefix; - /// The set code logic of the parachain. - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; -} - -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = (); - type MinimumPeriod = MinimumPeriod; - type WeightInfo = (); -} - -impl pallet_balances::Config for Runtime { - type MaxLocks = MaxLocks; - /// The type for recording an account's balance. - type Balance = Balance; - /// The ubiquitous event type. - type Event = Event; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type MaxReserves = (); - type ReserveIdentifier = [u8; 8]; - type WeightInfo = pallet_balances::weights::SubstrateWeight; -} - -impl pallet_transaction_payment::Config for Runtime { - type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; - type TransactionByteFee = TransactionByteFee; - type WeightToFee = IdentityFee; - type FeeMultiplierUpdate = (); -} - -impl pallet_sudo::Config for Runtime { - type Event = Event; - type Call = Call; -} - -impl cumulus_pallet_parachain_system::Config for Runtime { - type Event = Event; - type OnValidationData = (); - type SelfParaId = parachain_info::Pallet; - type OutboundXcmpMessageSource = XcmpQueue; - type DmpMessageHandler = DmpQueue; - type ReservedDmpWeight = ReservedDmpWeight; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; -} - -impl parachain_info::Config for Runtime {} - -impl cumulus_pallet_aura_ext::Config for Runtime {} - -/// Type for specifying how a `MultiLocation` can be converted into an -/// `AccountId`. This is used when determining ownership of accounts for asset -/// transacting and when attempting to use XCM `Transact` in order to determine -/// the dispatch Origin. -pub type LocationToAccountId = ( - // The parent (Relay-chain) origin converts to the default `AccountId`. - ParentIsDefault, - // Sibling parachain origins convert to AccountId via the `ParaId::into`. - SiblingParachainConvertsVia, - // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, -); - -/// Means for transacting assets on this chain. -pub type LocalAssetTransactor = MultiCurrencyAdapter< - // Use this multicurrency for asset balances - Currencies, - // handle in event of unknown tokens - UnknownTokens, - // Convert - IsNativeConcrete, - AccountId, - LocationToAccountId, - AssetId, - AssetIdConvert, ->; - -/// This is the type we use to convert an (incoming) XCM origin into a local -/// `Origin` instance, ready for dispatching a transaction with Xcm's -/// `Transact`. There is an `OriginKind` which can biases the kind of local -/// `Origin` it will become. -pub type XcmOriginToTransactDispatchOrigin = ( - // Sovereign account converter; this attempts to derive an `AccountId` from the origin location - // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for - // foreign chains who want to have a local sovereign account on this chain which they control. - SovereignSignedViaLocation, - // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when - // recognised. - RelayChainAsNative, - // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when - // recognised. - SiblingParachainAsNative, - // Native signed account converter; this just converts an `AccountId32` origin into a normal - // `Origin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, - // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, -); - -match_type! { - pub type ParentOrParentsUnitPlurality: impl Contains = { - X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. }) - }; -} - -pub type Barrier = (TakeWeightCredit, AllowTopLevelPaidExecutionFrom); - -pub struct ToTreasury; -impl TakeRevenue for ToTreasury { - fn take_revenue(revenue: MultiAsset) { - use orml_traits::currency::MultiCurrency; - if let MultiAsset::ConcreteFungible { id, amount } = revenue { - if let Some(asset_id) = AssetIdConvert::convert(id) { - // ensure PINT Treasury account have ed for all of the cross-chain asset. - // Ignore the result. - let _ = Currencies::deposit(asset_id, &PintTreasuryAccount::get(), amount); - } - } - } -} - -pub struct XcmConfig; -impl xcm_executor::Config for XcmConfig { - type Call = Call; - type XcmSender = XcmRouter; - // How to withdraw and deposit an asset. - type AssetTransactor = LocalAssetTransactor; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - type IsReserve = MultiNativeAsset; - type IsTeleporter = (); - type LocationInverter = LocationInverter; - type Barrier = Barrier; - type Weigher = FixedWeightBounds; - type Trader = FixedRateOfConcreteFungible; - type ResponseHandler = (); // Don't handle responses for now. -} - -pub type LocalOriginToLocation = SignedToAccountId32; - -/// The means for routing XCM messages which are not for local execution into -/// the right message queues. -pub type XcmRouter = ( - // Two routers - use UMP to communicate with the relay chain: - cumulus_primitives_utility::ParentAsUmp, - // ..and XCMP to communicate with the sibling chains. - XcmpQueue, -); - -impl pallet_xcm::Config for Runtime { - type Event = Event; - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; - type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = (); - type XcmReserveTransferFilter = Everything; - type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; -} - -impl cumulus_pallet_xcm::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; -} - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; - type ChannelInfo = ParachainSystem; -} - -impl cumulus_pallet_dmp_queue::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = frame_system::EnsureRoot; -} - -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; - type DisabledValidators = (); -} - -impl pallet_authorship::Config for Runtime { - type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = CollatorSelection; -} - -impl pallet_session::Config for Runtime { - type Event = Event; - type ValidatorId = ::AccountId; - // we don't have stash and controller, thus we don't need the convert as well. - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions; - type NextSessionRotation = pallet_session::PeriodicSessions; - type SessionManager = CollatorSelection; - // Essentially just Aura, but lets be pedantic. - type SessionHandler = ::KeyTypeIdProviders; - type Keys = opaque::SessionKeys; - type DisabledValidatorsThreshold = DisabledValidatorsThreshold; - type WeightInfo = (); -} - -impl pallet_collator_selection::Config for Runtime { - type Event = Event; - type Currency = Balances; - type UpdateOrigin = GovernanceOrigin; - type PotId = PotId; - type MaxCandidates = MaxCandidates; - type MinCandidates = MinCandidates; - type MaxInvulnerables = MaxInvulnerables; - // should be a multiple of session or things will get inconsistent - type KickThreshold = Period; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ValidatorRegistration = Session; - type WeightInfo = (); -} - -impl pallet_local_treasury::Config for Runtime { - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureRoot; - type PalletId = TreasuryPalletId; - type Currency = Balances; - type Event = Event; - type WeightInfo = weights::pallet_local_treasury::WeightInfo; -} - -impl pallet_saft_registry::Config for Runtime { - type AdminOrigin = GovernanceOrigin; - type AssetRecorder = AssetIndex; - type Balance = Balance; - type AssetId = AssetId; - type Event = Event; - type WeightInfo = weights::pallet_saft_registry::WeightInfo; -} - -impl pallet_committee::Config for Runtime { - type Origin = Origin; - type Action = Call; - type ProposalNonce = u32; - type ProposalSubmissionPeriod = ProposalSubmissionPeriod; - type VotingPeriod = VotingPeriod; - type MinCouncilVotes = MinCouncilVotes; - type ProposalSubmissionOrigin = EnsureSigned; - type ProposalExecutionOrigin = EnsureMember; - type ApprovedByCommitteeOrigin = GovernanceOrigin; - type Event = Event; - type WeightInfo = weights::pallet_committee::WeightInfo; -} - -impl pallet_price_feed::Config for Runtime { - type AdminOrigin = frame_system::EnsureRoot; - type SelfAssetId = PINTAssetId; - type AssetId = AssetId; - type Time = Timestamp; - type Event = Event; - type WeightInfo = weights::pallet_price_feed::WeightInfo; -} - -impl pallet_chainlink_feed::Config for Runtime { - type Event = Event; - type FeedId = FeedId; - type Value = Value; - type Currency = Balances; - type PalletId = FeedPalletId; - type MinimumReserve = MinimumReserve; - type StringLimit = StringLimit; - type OracleCountLimit = OracleLimit; - type FeedLimit = FeedLimit; - type OnAnswerHandler = PriceFeed; - type WeightInfo = (); -} - -impl pallet_asset_index::Config for Runtime { - // Using signed as the admin origin for testing now - type AdminOrigin = frame_system::EnsureSigned; - type IndexToken = Balances; - type Balance = Balance; - type LockupPeriod = LockupPeriod; - type IndexTokenLockIdentifier = IndexTokenLockIdentifier; - type MinimumRedemption = MinimumRedemption; - type WithdrawalPeriod = WithdrawalPeriod; - type DOTContributionLimit = DOTContributionLimit; - type RemoteAssetManager = RemoteAssetManager; - type AssetId = AssetId; - type SelfAssetId = PINTAssetId; - type Currency = Currencies; - type PriceFeed = PriceFeed; - #[cfg(feature = "runtime-benchmarks")] - type PriceFeedBenchmarks = PriceFeed; - type SaftRegistry = SaftRegistry; - type BaseWithdrawalFee = BaseWithdrawalFee; - type TreasuryPalletId = TreasuryPalletId; - type Event = Event; - type StringLimit = PalletIndexStringLimit; - type WeightInfo = weights::pallet_asset_index::WeightInfo; -} - -impl orml_tokens::Config for Runtime { - type Event = Event; - type Balance = Balance; - type Amount = Amount; - type CurrencyId = AssetId; - type WeightInfo = (); - type ExistentialDeposits = ExistentialDeposits; - type OnDust = orml_tokens::TransferDust; - type MaxLocks = MaxLocks; - type DustRemovalWhitelist = DustRemovalWhitelist; -} - -impl orml_currencies::Config for Runtime { - type Event = Event; - type MultiCurrency = Tokens; - type NativeCurrency = BasicCurrencyAdapter; - type GetNativeCurrencyId = PINTAssetId; - type WeightInfo = (); -} - -impl orml_xtokens::Config for Runtime { - type Event = Event; - type Balance = Balance; - type CurrencyId = AssetId; - type CurrencyIdConvert = AssetIdConvert; - type AccountIdToMultiLocation = AccountId32Convert; - type SelfLocation = SelfLocation; - type XcmExecutor = XcmExecutor; - type Weigher = FixedWeightBounds; - type BaseXcmWeight = BaseXcmWeight; -} - -impl orml_unknown_tokens::Config for Runtime { - type Event = Event; -} - -pub struct AssetIdConvert; -impl Convert> for AssetIdConvert { - fn convert(asset: AssetId) -> Option { - AssetIndex::native_asset_location(&asset) - } -} - -impl Convert> for AssetIdConvert { - fn convert(location: MultiLocation) -> Option { - match location { - MultiLocation::X1(Junction::Parent) => return Some(RelayChainAssetId::get()), - MultiLocation::X3(Junction::Parent, Junction::Parachain(id), Junction::GeneralKey(key)) - if ParaId::from(id) == ParachainInfo::parachain_id() => - { - // decode the general key - if let Ok(asset_id) = AssetId::decode(&mut &key[..]) { - // check `asset_id` is supported - if AssetIndex::is_liquid_asset(&asset_id) { - return Some(asset_id); - } - } - } - _ => {} - } - None - } -} - -impl Convert> for AssetIdConvert { - fn convert(asset: MultiAsset) -> Option { - if let MultiAsset::ConcreteFungible { ref id, amount: _ } = asset { - Self::convert(id.clone()) - } else { - None - } - } -} - -pub struct AccountId32Convert; -impl Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> [u8; 32] { - account_id.into() - } -} - -impl Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> MultiLocation { - Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() - } -} - -/// The encoder to use when transacting `pallet_proxy` calls -pub struct PalletProxyEncoder; -impl ProxyCallEncoder for PalletProxyEncoder { - type AccountIdEncoder = PassthroughEncoder; - type ProxyTypeEncoder = PassthroughEncoder; - type BlockNumberEncoder = PassthroughEncoder; -} -impl PalletCallEncoder for PalletProxyEncoder { - type Context = AssetId; - fn can_encode(_ctx: &Self::Context) -> bool { - // TODO check in `AssetRegistry` - true - } -} - -type AccountLookupSource = sp_runtime::MultiAddress; - -/// The encoder to use when transacting `pallet_staking` calls -pub struct PalletStakingEncoder; -impl StakingCallEncoder for PalletStakingEncoder { - type CompactBalanceEncoder = PassthroughCompactEncoder; - type SourceEncoder = PassthroughEncoder; - type AccountIdEncoder = PassthroughEncoder; -} - -impl PalletCallEncoder for PalletStakingEncoder { - type Context = AssetId; - fn can_encode(_ctx: &Self::Context) -> bool { - // TODO check in `AssetRegistry` - true - } -} - -impl pallet_remote_asset_manager::Config for Runtime { - type Balance = Balance; - type AssetId = AssetId; - type AssetIdConvert = AssetIdConvert; - type AccountId32Convert = AccountId32Convert; - // Encodes `pallet_staking` calls before transaction them to other chains - type PalletStakingCallEncoder = PalletStakingEncoder; - // Encodes `pallet_proxy` calls before transaction them to other chains - type PalletProxyCallEncoder = PalletProxyEncoder; - type MinimumStatemintTransferAmount = MinimumStatemintTransferAmount; - type SelfAssetId = PINTAssetId; - type SelfLocation = SelfLocation; - type SelfParaId = parachain_info::Pallet; - type RelayChainAssetId = RelayChainAssetId; - type StakingThreshold = (MinimumRemoteReserveBalance, MinimumBondExtra); - type Assets = Currencies; - type XcmExecutor = XcmExecutor; - type XcmAssetTransfer = XTokens; - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureSigned; - type XcmSender = XcmRouter; - type Event = Event; - type AssetRegistry = AssetIndex; - type WeightInfo = weights::pallet_remote_asset_manager::WeightInfo; -} - -// Create the runtime by composing the FRAME pallets that were previously -// configured. -construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = opaque::Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { - System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, - Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, - Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 2, - TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 3, - Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 4, - - // Parachain - ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Config, Event} = 20, - ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, - - // Collator. The order of the 4 below are important and shall not change. - Authorship: pallet_authorship::{Pallet, Call, Storage} = 40, - CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 41, - Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 42, - Aura: pallet_aura::{Pallet, Config} = 43, - AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 44, - - // ORML related pallets - Tokens: orml_tokens::{Pallet, Storage, Call, Event, Config} = 60, - Currencies: orml_currencies::{Pallet, Call, Event} = 61, - XTokens: orml_xtokens::{Pallet, Storage, Call, Event} = 62, - UnknownTokens: orml_unknown_tokens::{Pallet, Storage, Event} = 63, - - // PINT pallets - AssetIndex: pallet_asset_index::{Pallet, Call, Storage, Event} = 80, - Committee: pallet_committee::{Pallet, Call, Storage, Origin, Event, Config} = 81, - LocalTreasury: pallet_local_treasury::{Pallet, Call, Storage, Event} = 82, - SaftRegistry: pallet_saft_registry::{Pallet, Call, Storage, Event} = 83, - RemoteAssetManager: pallet_remote_asset_manager::{Pallet, Call, Storage, Event, Config} = 84, - PriceFeed: pallet_price_feed::{Pallet, Call, Storage, Event} = 85, - ChainlinkFeed: pallet_chainlink_feed::{Pallet, Call, Storage, Event, Config} = 86, - - // XCM - XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 100, - DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 101, - PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin} = 102, - CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 103 - } -); - -/// The address format for describing accounts. -pub type Address = sp_runtime::MultiAddress; -/// Block header type as expected by this runtime. -pub type Header = generic::Header; -/// Block type as expected by this runtime. -pub type Block = generic::Block; -/// A Block signed with a Justification -pub type SignedBlock = generic::SignedBlock; -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; -/// The SignedExtension to the basic transaction logic. -pub type SignedExtra = ( - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, -); -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; -/// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; -/// Executive: handles dispatch to the various pallets. -pub type Executive = - frame_executive::Executive, Runtime, AllPallets, ()>; - -impl_runtime_apis! { - impl sp_api::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - - fn execute_block(block: Block) { - Executive::execute_block(block) - } - - fn initialize_block(header: &::Header) { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - Runtime::metadata().into() - } - } - - impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - - fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - - fn check_inherents( - block: Block, - data: sp_inherents::InherentData, - ) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } - } - - impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } - } - - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } - - impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - opaque::SessionKeys::generate(seed) - } - - fn decode_session_keys( - encoded: Vec, - ) -> Option, KeyTypeId)>> { - opaque::SessionKeys::decode_into_raw_public_keys(&encoded) - } - } - - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) - } - - fn authorities() -> Vec { - Aura::authorities() - } - } - - impl cumulus_primitives_core::CollectCollationInfo for Runtime { - fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info() - } - } - - impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { - fn account_nonce(account: AccountId) -> Index { - System::account_nonce(account) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - fn query_fee_details( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - } - - impl pallet_asset_index_rpc_runtime_api::AssetIndexApi< - Block, - AccountId, - AssetId, - Balance, - > for Runtime { - fn get_nav() -> primitives::Ratio { - use primitives::traits::NavProvider; - AssetIndex::nav().unwrap_or_default() - } - } - - #[cfg(feature = "runtime-benchmarks")] - impl frame_benchmarking::Benchmark for Runtime { - fn benchmark_metadata(_extra: bool) -> ( - Vec, - Vec, - ) { - use frame_benchmarking::BenchmarkList; - use frame_support::traits::StorageInfoTrait; - - let list = Vec::::new(); - - let storage_info = AllPalletsWithSystem::storage_info(); - return (list, storage_info) - } - - fn dispatch_benchmark( - config: frame_benchmarking::BenchmarkConfig - ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; - - use frame_system_benchmarking::Pallet as SystemBench; - impl frame_system_benchmarking::Config for Runtime {} - - let whitelist: Vec = vec![ - // Block Number - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), - // Total Issuance - hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), - // Execution Phase - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), - // Event Count - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), - // System Events - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), - ]; - - let mut batches = Vec::::new(); - let params = (&config, &whitelist); - - add_benchmark!(params, batches, frame_system, SystemBench::); - add_benchmark!(params, batches, pallet_balances, Balances); - add_benchmark!(params, batches, pallet_timestamp, Timestamp); - add_benchmark!(params, batches, pallet_asset_index, AssetIndex); - add_benchmark!(params, batches, pallet_committee, Committee); - add_benchmark!(params, batches, pallet_local_treasury, LocalTreasury); - add_benchmark!(params, batches, pallet_price_feed, PriceFeed); - // add_benchmark!(params, batches, pallet_remote_asset_manager, RemoteAssetManager); - add_benchmark!(params, batches, pallet_saft_registry, SaftRegistry); - - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - Ok(batches) - } - } -} - -struct CheckInherents; - -impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { - fn check_inherents( - block: &Block, - relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, - ) -> sp_inherents::CheckInherentsResult { - let relay_chain_slot = - relay_state_proof.read_slot().expect("Could not read the relay chain slot from the proof"); - - let inherent_data = cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( - relay_chain_slot, - sp_std::time::Duration::from_secs(6), - ) - .create_inherent_data() - .expect("Could not create the timestamp inherent data"); - - inherent_data.check_extrinsics(block) - } -} - -cumulus_pallet_parachain_system::register_validate_block!( - Runtime = Runtime, - BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, - CheckInherents = CheckInherents, -); diff --git a/runtime/kusama/Cargo.toml b/runtime/kusama/Cargo.toml deleted file mode 100644 index 56acf498ae..0000000000 --- a/runtime/kusama/Cargo.toml +++ /dev/null @@ -1,194 +0,0 @@ -[package] -authors = ['ChainSafe Systems'] -edition = '2018' -homepage = 'https://substrate.dev' -license = 'LGPL-3.0-only' -name = 'pint-runtime-kusama' -repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' - -version = '2.0.0' -[package.metadata.docs.rs] -targets = ['x86_64-unknown-linux-gnu'] - -[build-dependencies] -substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -[dependencies] -codec = { package = 'parity-scale-codec', version = '2.2.0', default-features = false, features = ['derive', 'max-encoded-len']} -log = { version = '0.4.14', default-features = false } -serde = { version = '1.0.119', optional = true, features = ['derive'] } -hex-literal = { version = '0.3.1', optional = true } - -# Substrate Dependencies -## Substrate Primitive Dependencies -sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -sp-version = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -## Substrate FRAME Dependencies -frame-executive = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -## Substrate Pallet Dependencies -pallet-aura = { git = 'https://github.com/paritytech/substrate', default-features = false, branch = 'polkadot-v0.9.9' } -pallet-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false} -pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-collective = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9", default-features = false } -pallet-randomness-collective-flip = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, features = ['historical'] } -pallet-sudo = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -# Cumulus Dependencies -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9", default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } - -# Polkadot Dependencies -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -pallet-xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } - -# ORML Dependencies -orml-currencies = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-unknown-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } - -# PINT dependencies -pint-runtime-common = {path = '../common', default-features = false } -pallet-committee = {path = '../../pallets/committee', default-features = false } -pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } -pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } -pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } -pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } -pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } -primitives = { path = '../../primitives/primitives', default-features = false } -xcm-calls = {path = '../../primitives/xcm-calls', default-features = false } -pallet-asset-index-rpc-runtime-api = { path = '../../pallets/asset-index/rpc/runtime-api', default-features = false } - -pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } - -[dev-dependencies] -hex-literal = '0.3.1' -hex = '0.4.3' - -[features] -default = ['std'] -runtime-benchmarks = [ - 'hex-literal', - 'sp-runtime/runtime-benchmarks', - 'frame-benchmarking', - 'frame-support/runtime-benchmarks', - 'frame-system-benchmarking', - 'frame-system/runtime-benchmarks', - 'xcm-builder/runtime-benchmarks', - 'pallet-collator-selection/runtime-benchmarks', - 'pallet-balances/runtime-benchmarks', - 'pallet-timestamp/runtime-benchmarks', - - 'pallet-asset-index/runtime-benchmarks', - 'pallet-price-feed/runtime-benchmarks', - 'pallet-local-treasury/runtime-benchmarks', - 'pallet-balances/runtime-benchmarks', - 'pallet-timestamp/runtime-benchmarks', - 'pallet-committee/runtime-benchmarks', - 'pallet-xcm/runtime-benchmarks', - 'pallet-saft-registry/runtime-benchmarks', - 'pallet-remote-asset-manager/runtime-benchmarks', - 'pallet-collective/runtime-benchmarks', - - 'orml-tokens/runtime-benchmarks' -] -std = [ - 'codec/std', - 'serde', - 'log/std', - - 'frame-support/std', - 'frame-executive/std', - 'frame-system/std', - 'frame-try-runtime/std', - - 'sp-api/std', - 'sp-std/std', - 'sp-io/std', - 'sp-consensus-aura/std', - 'sp-core/std', - 'sp-runtime/std', - 'sp-version/std', - 'sp-offchain/std', - 'sp-session/std', - 'sp-block-builder/std', - 'sp-transaction-pool/std', - 'sp-inherents/std', - 'pallet-aura/std', - 'pallet-authorship/std', - 'pallet-balances/std', - 'pallet-collective/std', - 'pallet-randomness-collective-flip/std', - 'pallet-timestamp/std', - 'pallet-sudo/std', - 'pallet-session/std', - 'pallet-transaction-payment/std', - 'primitives/std', - 'pallet-asset-index-rpc-runtime-api/std', - - 'parachain-info/std', - 'cumulus-pallet-aura-ext/std', - 'cumulus-pallet-parachain-system/std', - 'cumulus-pallet-xcmp-queue/std', - 'cumulus-pallet-xcm/std', - 'cumulus-primitives-core/std', - 'cumulus-primitives-utility/std', - 'cumulus-primitives-timestamp/std', - - 'xcm/std', - 'xcm-builder/std', - 'xcm-executor/std', - - 'pint-runtime-common/std', - 'pallet-asset-index/std', - "pallet-collator-selection/std", - 'pallet-committee/std', - 'pallet-local-treasury/std', - 'pallet-price-feed/std', - 'pallet-remote-asset-manager/std', - 'pallet-saft-registry/std', - 'pallet-chainlink-feed/std', - 'xcm-calls/std', - - 'orml-currencies/std', - 'orml-unknown-tokens/std', - 'orml-tokens/std', - 'orml-xtokens/std', - 'orml-xcm-support/std', - 'orml-traits/std', -] diff --git a/runtime/kusama/build.rs b/runtime/kusama/build.rs deleted file mode 100644 index 4a18e19492..0000000000 --- a/runtime/kusama/build.rs +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use substrate_wasm_builder::WasmBuilder; - -fn main() { - WasmBuilder::new().with_current_project().export_heap_base().import_memory().build() -} diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs deleted file mode 100644 index 86af752a4d..0000000000 --- a/runtime/kusama/src/lib.rs +++ /dev/null @@ -1,900 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -#![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit = "256"] -// Required as construct_runtime! produces code that violates this lint -#![allow(clippy::from_over_into)] - -// A few exports that help ease life for downstream crates. -use codec::Decode; -// Polkadot imports -use cumulus_primitives_core::ParaId; -pub use frame_support::{ - construct_runtime, match_type, ord_parameter_types, parameter_types, - traits::{IsInVec, Randomness}, - weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, - DispatchClass, IdentityFee, Weight, - }, - PalletId, StorageValue, -}; -use frame_system::EnsureSigned; - -// orml imports -use orml_currencies::BasicCurrencyAdapter; -use orml_xcm_support::{IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; -pub use pallet_balances::Call as BalancesCall; -pub use pallet_timestamp::Call as TimestampCall; -use pallet_xcm::XcmPassthrough; -use polkadot_parachain::primitives::Sibling; -use sp_api::impl_runtime_apis; -pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, Convert}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, -}; -pub use sp_runtime::{Perbill, Permill, Perquintill}; -use sp_std::prelude::*; -#[cfg(feature = "std")] -use sp_version::NativeVersion; -use sp_version::RuntimeVersion; -use xcm::v0::{BodyId, Junction, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId}; -use xcm_builder::{ - AccountId32Aliases, AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedRateOfConcreteFungible, - FixedWeightBounds, LocationInverter, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, - SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, - TakeRevenue, TakeWeightCredit, -}; -use xcm_executor::XcmExecutor; - -use frame_support::traits::Everything; -use pallet_committee::EnsureMember; -pub use pint_runtime_common::{constants::*, types::GovernanceOrigin, weights}; -use primitives::traits::MultiAssetRegistry; -pub use primitives::*; -use xcm_calls::{ - proxy::{ProxyCallEncoder, ProxyType}, - staking::StakingCallEncoder, - PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, -}; - -// Make the WASM binary available. -#[cfg(feature = "std")] -include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); - -/// Opaque types. These are used by the CLI to instantiate machinery that don't -/// need to know the specifics of the runtime. They can then be made to be -/// agnostic over specific formats of data like extrinsics, allowing for them to -/// continue syncing the network through upgrades to even the core data -/// structures. -pub mod opaque { - pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; - - use super::*; - - /// Opaque block type. - pub type Block = generic::Block; - - pub type SessionHandlers = (); - - impl_opaque_keys! { - pub struct SessionKeys { - pub aura: Aura, - } - } -} - -pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("pint-parachain"), - impl_name: create_runtime_str!("pint-parachain"), - authoring_version: 1, - spec_version: 1, - impl_version: 1, - apis: RUNTIME_API_VERSIONS, - transaction_version: 1, -}; - -/// The version information used to identify this runtime when compiled -/// natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } -} - -parameter_types! { - pub Ancestry: MultiLocation = Junction::Parachain( - ParachainInfo::parachain_id().into() - ).into(); - pub const RelayNetwork: NetworkId = NetworkId::Kusama; - pub SelfLocation: MultiLocation = MultiLocation::X2(Junction::Parent, Junction::Parachain(ParachainInfo::parachain_id().into())); - pub const Version: RuntimeVersion = VERSION; - pub const ProposalSubmissionPeriod: BlockNumber = 10; - pub const VotingPeriod: BlockNumber = 10; -} - -// Configure FRAME pallets to include in runtime. - -impl frame_system::Config for Runtime { - /// The basic call filter to use in dispatchable. - type BaseCallFilter = Everything; - /// Block & extrinsics weights: base values and limits. - type BlockWeights = RuntimeBlockWeights; - /// The maximum length of a block (in bytes). - type BlockLength = RuntimeBlockLength; - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; - /// The lookup mechanism to get account ID from whatever is passed in - /// dispatchers. - type Lookup = AccountIdLookup; - /// The index type for storing how many extrinsics an account has signed. - type Index = Index; - /// The index type for blocks. - type BlockNumber = BlockNumber; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The hashing algorithm used. - type Hashing = BlakeTwo256; - /// The header type. - type Header = generic::Header; - /// The ubiquitous event type. - type Event = Event; - /// The ubiquitous origin type. - type Origin = Origin; - /// Maximum number of block number to block hash mappings to keep (oldest - /// pruned first). - type BlockHashCount = BlockHashCount; - /// The weight of database operations that the runtime can invoke. - type DbWeight = RocksDbWeight; - /// Version of the runtime. - type Version = Version; - /// Converts a pallet to the index of the pallet in `construct_runtime!`. - /// - /// This type is being generated by `construct_runtime!`. - type PalletInfo = PalletInfo; - /// What to do if a new account is created. - type OnNewAccount = (); - /// What to do if an account is fully reaped from the system. - type OnKilledAccount = (); - /// The data to be stored in an account. - type AccountData = pallet_balances::AccountData; - /// Weight information for the extrinsics of this pallet. - type SystemWeightInfo = (); - /// This is used as an identifier of the chain. 42 is the generic substrate - /// prefix. - type SS58Prefix = SS58Prefix; - /// The set code logic of the parachain. - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; -} - -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = (); - type MinimumPeriod = MinimumPeriod; - type WeightInfo = (); -} - -impl pallet_balances::Config for Runtime { - type MaxLocks = MaxLocks; - /// The type for recording an account's balance. - type Balance = Balance; - /// The ubiquitous event type. - type Event = Event; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type MaxReserves = (); - type ReserveIdentifier = [u8; 8]; - type WeightInfo = pallet_balances::weights::SubstrateWeight; -} - -impl pallet_transaction_payment::Config for Runtime { - type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; - type TransactionByteFee = TransactionByteFee; - type WeightToFee = IdentityFee; - type FeeMultiplierUpdate = (); -} - -impl pallet_sudo::Config for Runtime { - type Event = Event; - type Call = Call; -} - -impl cumulus_pallet_parachain_system::Config for Runtime { - type Event = Event; - type OnValidationData = (); - type SelfParaId = parachain_info::Pallet; - type OutboundXcmpMessageSource = XcmpQueue; - type DmpMessageHandler = DmpQueue; - type ReservedDmpWeight = ReservedDmpWeight; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; -} - -impl parachain_info::Config for Runtime {} - -impl cumulus_pallet_aura_ext::Config for Runtime {} - -/// Type for specifying how a `MultiLocation` can be converted into an -/// `AccountId`. This is used when determining ownership of accounts for asset -/// transacting and when attempting to use XCM `Transact` in order to determine -/// the dispatch Origin. -pub type LocationToAccountId = ( - // The parent (Relay-chain) origin converts to the default `AccountId`. - ParentIsDefault, - // Sibling parachain origins convert to AccountId via the `ParaId::into`. - SiblingParachainConvertsVia, - // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, -); - -/// Means for transacting assets on this chain. -pub type LocalAssetTransactor = MultiCurrencyAdapter< - // Use this multicurrency for asset balances - Currencies, - // handle in event of unknown tokens - UnknownTokens, - // Convert - IsNativeConcrete, - AccountId, - LocationToAccountId, - AssetId, - AssetIdConvert, ->; - -/// This is the type we use to convert an (incoming) XCM origin into a local -/// `Origin` instance, ready for dispatching a transaction with Xcm's -/// `Transact`. There is an `OriginKind` which can biases the kind of local -/// `Origin` it will become. -pub type XcmOriginToTransactDispatchOrigin = ( - // Sovereign account converter; this attempts to derive an `AccountId` from the origin location - // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for - // foreign chains who want to have a local sovereign account on this chain which they control. - SovereignSignedViaLocation, - // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when - // recognised. - RelayChainAsNative, - // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when - // recognised. - SiblingParachainAsNative, - // Native signed account converter; this just converts an `AccountId32` origin into a normal - // `Origin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, - // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, -); - -match_type! { - pub type ParentOrParentsUnitPlurality: impl Contains = { - X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. }) - }; -} - -pub type Barrier = (TakeWeightCredit, AllowTopLevelPaidExecutionFrom); - -pub struct ToTreasury; -impl TakeRevenue for ToTreasury { - fn take_revenue(revenue: MultiAsset) { - use orml_traits::currency::MultiCurrency; - if let MultiAsset::ConcreteFungible { id, amount } = revenue { - if let Some(asset_id) = AssetIdConvert::convert(id) { - // ensure PINT Treasury account have ed for all of the cross-chain asset. - // Ignore the result. - let _ = Currencies::deposit(asset_id, &PintTreasuryAccount::get(), amount); - } - } - } -} - -pub struct XcmConfig; -impl xcm_executor::Config for XcmConfig { - type Call = Call; - type XcmSender = XcmRouter; - // How to withdraw and deposit an asset. - type AssetTransactor = LocalAssetTransactor; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - type IsReserve = MultiNativeAsset; - type IsTeleporter = (); - type LocationInverter = LocationInverter; - type Barrier = Barrier; - type Weigher = FixedWeightBounds; - type Trader = FixedRateOfConcreteFungible; - type ResponseHandler = (); // Don't handle responses for now. -} - -pub type LocalOriginToLocation = SignedToAccountId32; - -/// The means for routing XCM messages which are not for local execution into -/// the right message queues. -pub type XcmRouter = ( - // Two routers - use UMP to communicate with the relay chain: - cumulus_primitives_utility::ParentAsUmp, - // ..and XCMP to communicate with the sibling chains. - XcmpQueue, -); - -impl pallet_xcm::Config for Runtime { - type Event = Event; - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; - type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = (); - type XcmReserveTransferFilter = Everything; - type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; -} - -impl cumulus_pallet_xcm::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; -} - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; - type ChannelInfo = ParachainSystem; -} - -impl cumulus_pallet_dmp_queue::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = frame_system::EnsureRoot; -} - -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; - type DisabledValidators = (); -} - -impl pallet_authorship::Config for Runtime { - type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = CollatorSelection; -} - -impl pallet_session::Config for Runtime { - type Event = Event; - type ValidatorId = ::AccountId; - // we don't have stash and controller, thus we don't need the convert as well. - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions; - type NextSessionRotation = pallet_session::PeriodicSessions; - type SessionManager = CollatorSelection; - // Essentially just Aura, but lets be pedantic. - type SessionHandler = ::KeyTypeIdProviders; - type Keys = opaque::SessionKeys; - type DisabledValidatorsThreshold = DisabledValidatorsThreshold; - type WeightInfo = (); -} - -impl pallet_collator_selection::Config for Runtime { - type Event = Event; - type Currency = Balances; - type UpdateOrigin = GovernanceOrigin; - type PotId = PotId; - type MaxCandidates = MaxCandidates; - type MinCandidates = MinCandidates; - type MaxInvulnerables = MaxInvulnerables; - // should be a multiple of session or things will get inconsistent - type KickThreshold = Period; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ValidatorRegistration = Session; - type WeightInfo = (); -} - -impl pallet_local_treasury::Config for Runtime { - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureRoot; - type PalletId = TreasuryPalletId; - type Currency = Balances; - type Event = Event; - type WeightInfo = weights::pallet_local_treasury::WeightInfo; -} - -impl pallet_saft_registry::Config for Runtime { - type AdminOrigin = GovernanceOrigin; - type AssetRecorder = AssetIndex; - type Balance = Balance; - type AssetId = AssetId; - type Event = Event; - type WeightInfo = weights::pallet_saft_registry::WeightInfo; -} - -impl pallet_committee::Config for Runtime { - type Origin = Origin; - type Action = Call; - type ProposalNonce = u32; - type ProposalSubmissionPeriod = ProposalSubmissionPeriod; - type VotingPeriod = VotingPeriod; - type MinCouncilVotes = MinCouncilVotes; - type ProposalExecutionOrigin = EnsureMember; - type ProposalSubmissionOrigin = EnsureSigned; - type ApprovedByCommitteeOrigin = GovernanceOrigin; - type Event = Event; - type WeightInfo = weights::pallet_committee::WeightInfo; -} - -impl pallet_price_feed::Config for Runtime { - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureRoot; - type SelfAssetId = PINTAssetId; - type AssetId = AssetId; - type Time = Timestamp; - type Event = Event; - type WeightInfo = weights::pallet_price_feed::WeightInfo; -} - -impl pallet_chainlink_feed::Config for Runtime { - type Event = Event; - type FeedId = FeedId; - type Value = Value; - type Currency = Balances; - type PalletId = FeedPalletId; - type MinimumReserve = MinimumReserve; - type StringLimit = StringLimit; - type OracleCountLimit = OracleLimit; - type FeedLimit = FeedLimit; - type OnAnswerHandler = PriceFeed; - type WeightInfo = (); -} - -impl pallet_asset_index::Config for Runtime { - // Using signed as the admin origin for testing now - type AdminOrigin = frame_system::EnsureSigned; - type IndexToken = Balances; - type Balance = Balance; - type LockupPeriod = LockupPeriod; - type IndexTokenLockIdentifier = IndexTokenLockIdentifier; - type MinimumRedemption = MinimumRedemption; - type WithdrawalPeriod = WithdrawalPeriod; - type DOTContributionLimit = DOTContributionLimit; - type RemoteAssetManager = RemoteAssetManager; - type AssetId = AssetId; - type SelfAssetId = PINTAssetId; - type Currency = Currencies; - type PriceFeed = PriceFeed; - #[cfg(feature = "runtime-benchmarks")] - type PriceFeedBenchmarks = PriceFeed; - type SaftRegistry = SaftRegistry; - type BaseWithdrawalFee = BaseWithdrawalFee; - type TreasuryPalletId = TreasuryPalletId; - type Event = Event; - type StringLimit = PalletIndexStringLimit; - type WeightInfo = weights::pallet_asset_index::WeightInfo; -} - -impl orml_tokens::Config for Runtime { - type Event = Event; - type Balance = Balance; - type Amount = Amount; - type CurrencyId = AssetId; - type WeightInfo = (); - type ExistentialDeposits = ExistentialDeposits; - type OnDust = orml_tokens::TransferDust; - type MaxLocks = MaxLocks; - type DustRemovalWhitelist = DustRemovalWhitelist; -} - -impl orml_currencies::Config for Runtime { - type Event = Event; - type MultiCurrency = Tokens; - type NativeCurrency = BasicCurrencyAdapter; - type GetNativeCurrencyId = PINTAssetId; - type WeightInfo = (); -} - -impl orml_xtokens::Config for Runtime { - type Event = Event; - type Balance = Balance; - type CurrencyId = AssetId; - type CurrencyIdConvert = AssetIdConvert; - type AccountIdToMultiLocation = AccountId32Convert; - type SelfLocation = SelfLocation; - type XcmExecutor = XcmExecutor; - type Weigher = FixedWeightBounds; - type BaseXcmWeight = BaseXcmWeight; -} - -impl orml_unknown_tokens::Config for Runtime { - type Event = Event; -} - -pub struct AssetIdConvert; -impl Convert> for AssetIdConvert { - fn convert(asset: AssetId) -> Option { - AssetIndex::native_asset_location(&asset) - } -} - -impl Convert> for AssetIdConvert { - fn convert(location: MultiLocation) -> Option { - match location { - MultiLocation::X1(Junction::Parent) => return Some(RelayChainAssetId::get()), - MultiLocation::X3(Junction::Parent, Junction::Parachain(id), Junction::GeneralKey(key)) - if ParaId::from(id) == ParachainInfo::parachain_id() => - { - // decode the general key - if let Ok(asset_id) = AssetId::decode(&mut &key[..]) { - // check `asset_id` is supported - if AssetIndex::is_liquid_asset(&asset_id) { - return Some(asset_id); - } - } - } - _ => {} - } - None - } -} - -impl Convert> for AssetIdConvert { - fn convert(asset: MultiAsset) -> Option { - if let MultiAsset::ConcreteFungible { ref id, amount: _ } = asset { - Self::convert(id.clone()) - } else { - None - } - } -} - -pub struct AccountId32Convert; -impl Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> [u8; 32] { - account_id.into() - } -} - -impl Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> MultiLocation { - Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() - } -} - -/// The encoder to use when transacting `pallet_proxy` calls -pub struct PalletProxyEncoder; -impl ProxyCallEncoder for PalletProxyEncoder { - type AccountIdEncoder = PassthroughEncoder; - type ProxyTypeEncoder = PassthroughEncoder; - type BlockNumberEncoder = PassthroughEncoder; -} -impl PalletCallEncoder for PalletProxyEncoder { - type Context = AssetId; - fn can_encode(_ctx: &Self::Context) -> bool { - // TODO check in `AssetRegistry` - true - } -} - -type AccountLookupSource = sp_runtime::MultiAddress; - -/// The encoder to use when transacting `pallet_staking` calls -pub struct PalletStakingEncoder; -impl StakingCallEncoder for PalletStakingEncoder { - type CompactBalanceEncoder = PassthroughCompactEncoder; - type SourceEncoder = PassthroughEncoder; - type AccountIdEncoder = PassthroughEncoder; -} - -impl PalletCallEncoder for PalletStakingEncoder { - type Context = AssetId; - fn can_encode(_ctx: &Self::Context) -> bool { - // TODO check in `AssetRegistry` - true - } -} - -impl pallet_remote_asset_manager::Config for Runtime { - type Balance = Balance; - type AssetId = AssetId; - type AssetIdConvert = AssetIdConvert; - type AccountId32Convert = AccountId32Convert; - // Encodes `pallet_staking` calls before transaction them to other chains - type PalletStakingCallEncoder = PalletStakingEncoder; - // Encodes `pallet_proxy` calls before transaction them to other chains - type PalletProxyCallEncoder = PalletProxyEncoder; - type MinimumStatemintTransferAmount = MinimumStatemintTransferAmount; - type SelfAssetId = PINTAssetId; - type SelfLocation = SelfLocation; - type SelfParaId = parachain_info::Pallet; - type RelayChainAssetId = RelayChainAssetId; - type StakingThreshold = (MinimumRemoteReserveBalance, MinimumBondExtra); - type Assets = Currencies; - type XcmExecutor = XcmExecutor; - type XcmAssetTransfer = XTokens; - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureSigned; - type XcmSender = XcmRouter; - type Event = Event; - type AssetRegistry = AssetIndex; - type WeightInfo = weights::pallet_remote_asset_manager::WeightInfo; -} - -// Create the runtime by composing the FRAME pallets that were previously -// configured. -construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = opaque::Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { - System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, - Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, - Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 2, - TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 3, - Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 4, - - // Parachain - ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Config, Event} = 20, - ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, - - // Collator. The order of the 4 below are important and shall not change. - Authorship: pallet_authorship::{Pallet, Call, Storage} = 40, - CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 41, - Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 42, - Aura: pallet_aura::{Pallet, Config} = 43, - AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 44, - - // ORML related pallets - Tokens: orml_tokens::{Pallet, Storage, Call, Event, Config} = 60, - Currencies: orml_currencies::{Pallet, Call, Event} = 61, - XTokens: orml_xtokens::{Pallet, Storage, Call, Event} = 62, - UnknownTokens: orml_unknown_tokens::{Pallet, Storage, Event} = 63, - - // PINT pallets - AssetIndex: pallet_asset_index::{Pallet, Call, Storage, Event} = 80, - Committee: pallet_committee::{Pallet, Call, Storage, Origin, Event, Config} = 81, - LocalTreasury: pallet_local_treasury::{Pallet, Call, Storage, Event} = 82, - SaftRegistry: pallet_saft_registry::{Pallet, Call, Storage, Event} = 83, - RemoteAssetManager: pallet_remote_asset_manager::{Pallet, Call, Storage, Event, Config} = 84, - PriceFeed: pallet_price_feed::{Pallet, Call, Storage, Event} = 85, - ChainlinkFeed: pallet_chainlink_feed::{Pallet, Call, Storage, Event, Config} = 86, - - // XCM - XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 100, - DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 101, - PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin} = 102, - CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 103 - } -); - -/// The address format for describing accounts. -pub type Address = sp_runtime::MultiAddress; -/// Block header type as expected by this runtime. -pub type Header = generic::Header; -/// Block type as expected by this runtime. -pub type Block = generic::Block; -/// A Block signed with a Justification -pub type SignedBlock = generic::SignedBlock; -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; -/// The SignedExtension to the basic transaction logic. -pub type SignedExtra = ( - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, -); -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; -/// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; -/// Executive: handles dispatch to the various pallets. -pub type Executive = - frame_executive::Executive, Runtime, AllPallets, ()>; - -impl_runtime_apis! { - impl sp_api::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - - fn execute_block(block: Block) { - Executive::execute_block(block) - } - - fn initialize_block(header: &::Header) { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - Runtime::metadata().into() - } - } - - impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - - fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - - fn check_inherents( - block: Block, - data: sp_inherents::InherentData, - ) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } - } - - impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } - } - - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } - - impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - opaque::SessionKeys::generate(seed) - } - - fn decode_session_keys( - encoded: Vec, - ) -> Option, KeyTypeId)>> { - opaque::SessionKeys::decode_into_raw_public_keys(&encoded) - } - } - - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) - } - - fn authorities() -> Vec { - Aura::authorities() - } - } - - impl cumulus_primitives_core::CollectCollationInfo for Runtime { - fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info() - } - } - - impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { - fn account_nonce(account: AccountId) -> Index { - System::account_nonce(account) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - fn query_fee_details( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - } - - impl pallet_asset_index_rpc_runtime_api::AssetIndexApi< - Block, - AccountId, - AssetId, - Balance, - > for Runtime { - fn get_nav() -> primitives::Ratio { - use primitives::traits::NavProvider; - AssetIndex::nav().unwrap_or_default() - } - } - - #[cfg(feature = "runtime-benchmarks")] - impl frame_benchmarking::Benchmark for Runtime { - fn benchmark_metadata(_extra: bool) -> ( - Vec, - Vec, - ) { - use frame_benchmarking:: BenchmarkList; - use frame_support::traits::StorageInfoTrait; - - let list = Vec::::new(); - - let storage_info = AllPalletsWithSystem::storage_info(); - return (list, storage_info) - } - - fn dispatch_benchmark( - config: frame_benchmarking::BenchmarkConfig - ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; - - use frame_system_benchmarking::Pallet as SystemBench; - impl frame_system_benchmarking::Config for Runtime {} - - let whitelist: Vec = vec![ - // Block Number - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), - // Total Issuance - hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), - // Execution Phase - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), - // Event Count - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), - // System Events - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), - ]; - - let mut batches = Vec::::new(); - let params = (&config, &whitelist); - - add_benchmark!(params, batches, frame_system, SystemBench::); - add_benchmark!(params, batches, pallet_balances, Balances); - add_benchmark!(params, batches, pallet_timestamp, Timestamp); - add_benchmark!(params, batches, pallet_asset_index, AssetIndex); - add_benchmark!(params, batches, pallet_committee, Committee); - add_benchmark!(params, batches, pallet_local_treasury, LocalTreasury); - add_benchmark!(params, batches, pallet_price_feed, PriceFeed); - // add_benchmark!(params, batches, pallet_remote_asset_manager, RemoteAssetManager); - add_benchmark!(params, batches, pallet_saft_registry, SaftRegistry); - - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - Ok(batches) - } - } -} - -struct CheckInherents; - -impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { - fn check_inherents( - block: &Block, - relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, - ) -> sp_inherents::CheckInherentsResult { - let relay_chain_slot = - relay_state_proof.read_slot().expect("Could not read the relay chain slot from the proof"); - - let inherent_data = cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( - relay_chain_slot, - sp_std::time::Duration::from_secs(6), - ) - .create_inherent_data() - .expect("Could not create the timestamp inherent data"); - - inherent_data.check_extrinsics(block) - } -} - -cumulus_pallet_parachain_system::register_validate_block!( - Runtime = Runtime, - BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, - CheckInherents = CheckInherents, -); diff --git a/runtime/polkadot/Cargo.toml b/runtime/polkadot/Cargo.toml deleted file mode 100644 index 50458e8382..0000000000 --- a/runtime/polkadot/Cargo.toml +++ /dev/null @@ -1,194 +0,0 @@ -[package] -authors = ['ChainSafe Systems'] -edition = '2018' -homepage = 'https://substrate.dev' -license = 'LGPL-3.0-only' -name = 'pint-runtime-polkadot' -repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' - -version = '2.0.0' -[package.metadata.docs.rs] -targets = ['x86_64-unknown-linux-gnu'] - -[build-dependencies] -substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -[dependencies] -codec = { package = 'parity-scale-codec', version = '2.2.0', default-features = false, features = ['derive', 'max-encoded-len']} -log = { version = '0.4.14', default-features = false } -serde = { version = '1.0.119', optional = true, features = ['derive'] } -hex-literal = { version = '0.3.1', optional = true } - -# Substrate Dependencies -## Substrate Primitive Dependencies -sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-try-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -sp-version = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -## Substrate FRAME Dependencies -frame-executive = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } -frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -## Substrate Pallet Dependencies -pallet-aura = { git = 'https://github.com/paritytech/substrate', default-features = false, branch = 'polkadot-v0.9.9' } -pallet-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false} -pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-collective = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9", default-features = false } -pallet-randomness-collective-flip = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, features = ['historical'] } -pallet-sudo = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } - -# Cumulus Dependencies -pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9", default-features = false } -parachain-info = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } - -# Polkadot Dependencies -polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm-builder = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -xcm-executor = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } -pallet-xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } - -# ORML Dependencies -orml-currencies = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-unknown-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } -orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } - -# PINT dependencies -pint-runtime-common = {path = '../common', default-features = false } -pallet-committee = {path = '../../pallets/committee', default-features = false } -pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } -pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } -pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } -pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } -pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } -primitives = { path = '../../primitives/primitives', default-features = false } -xcm-calls = {path = '../../primitives/xcm-calls', default-features = false } -pallet-asset-index-rpc-runtime-api = { path = '../../pallets/asset-index/rpc/runtime-api', default-features = false } - -pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } - -[dev-dependencies] -hex-literal = '0.3.1' -hex = '0.4.3' - -[features] -default = ['std'] -runtime-benchmarks = [ - 'hex-literal', - 'sp-runtime/runtime-benchmarks', - 'frame-benchmarking', - 'frame-support/runtime-benchmarks', - 'frame-system-benchmarking', - 'frame-system/runtime-benchmarks', - 'xcm-builder/runtime-benchmarks', - 'pallet-collator-selection/runtime-benchmarks', - 'pallet-balances/runtime-benchmarks', - 'pallet-timestamp/runtime-benchmarks', - - 'pallet-asset-index/runtime-benchmarks', - 'pallet-price-feed/runtime-benchmarks', - 'pallet-local-treasury/runtime-benchmarks', - 'pallet-balances/runtime-benchmarks', - 'pallet-timestamp/runtime-benchmarks', - 'pallet-committee/runtime-benchmarks', - 'pallet-xcm/runtime-benchmarks', - 'pallet-saft-registry/runtime-benchmarks', - 'pallet-remote-asset-manager/runtime-benchmarks', - 'pallet-collective/runtime-benchmarks', - - 'orml-tokens/runtime-benchmarks' -] -std = [ - 'codec/std', - 'serde', - 'log/std', - - 'frame-support/std', - 'frame-executive/std', - 'frame-system/std', - 'frame-try-runtime/std', - - 'sp-api/std', - 'sp-std/std', - 'sp-io/std', - 'sp-consensus-aura/std', - 'sp-core/std', - 'sp-runtime/std', - 'sp-version/std', - 'sp-offchain/std', - 'sp-session/std', - 'sp-block-builder/std', - 'sp-transaction-pool/std', - 'sp-inherents/std', - 'pallet-aura/std', - 'pallet-authorship/std', - 'pallet-balances/std', - 'pallet-collective/std', - 'pallet-randomness-collective-flip/std', - 'pallet-timestamp/std', - 'pallet-sudo/std', - 'pallet-session/std', - 'pallet-transaction-payment/std', - 'primitives/std', - 'pallet-asset-index-rpc-runtime-api/std', - - 'parachain-info/std', - 'cumulus-pallet-aura-ext/std', - 'cumulus-pallet-parachain-system/std', - 'cumulus-pallet-xcmp-queue/std', - 'cumulus-pallet-xcm/std', - 'cumulus-primitives-core/std', - 'cumulus-primitives-utility/std', - 'cumulus-primitives-timestamp/std', - - 'xcm/std', - 'xcm-builder/std', - 'xcm-executor/std', - - 'pint-runtime-common/std', - 'pallet-asset-index/std', - "pallet-collator-selection/std", - 'pallet-committee/std', - 'pallet-local-treasury/std', - 'pallet-price-feed/std', - 'pallet-remote-asset-manager/std', - 'pallet-saft-registry/std', - 'pallet-chainlink-feed/std', - 'xcm-calls/std', - - 'orml-currencies/std', - 'orml-unknown-tokens/std', - 'orml-tokens/std', - 'orml-xtokens/std', - 'orml-xcm-support/std', - 'orml-traits/std', -] diff --git a/runtime/polkadot/build.rs b/runtime/polkadot/build.rs deleted file mode 100644 index 4a18e19492..0000000000 --- a/runtime/polkadot/build.rs +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use substrate_wasm_builder::WasmBuilder; - -fn main() { - WasmBuilder::new().with_current_project().export_heap_base().import_memory().build() -} diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs deleted file mode 100644 index 53c1fa6f38..0000000000 --- a/runtime/polkadot/src/lib.rs +++ /dev/null @@ -1,901 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -#![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit = "256"] -// Required as construct_runtime! produces code that violates this lint -#![allow(clippy::from_over_into)] - -// A few exports that help ease life for downstream crates. -use codec::Decode; -// Polkadot imports -use cumulus_primitives_core::ParaId; -pub use frame_support::{ - construct_runtime, match_type, ord_parameter_types, parameter_types, - traits::{IsInVec, Randomness}, - weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, - DispatchClass, IdentityFee, Weight, - }, - PalletId, StorageValue, -}; -use frame_system::EnsureSigned; - -// orml imports -use orml_currencies::BasicCurrencyAdapter; -use orml_xcm_support::{IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; -pub use pallet_balances::Call as BalancesCall; -pub use pallet_timestamp::Call as TimestampCall; -use pallet_xcm::XcmPassthrough; -use polkadot_parachain::primitives::Sibling; -use sp_api::impl_runtime_apis; -pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, Convert}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, -}; -pub use sp_runtime::{Perbill, Permill, Perquintill}; -use sp_std::prelude::*; -#[cfg(feature = "std")] -use sp_version::NativeVersion; -use sp_version::RuntimeVersion; -use xcm::v0::{BodyId, Junction, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId}; -use xcm_builder::{ - AccountId32Aliases, AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedRateOfConcreteFungible, - FixedWeightBounds, LocationInverter, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, - SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, - TakeRevenue, TakeWeightCredit, -}; -use xcm_executor::XcmExecutor; - -use frame_support::traits::Everything; -use pallet_committee::EnsureMember; -pub use pint_runtime_common::{constants::*, types::GovernanceOrigin, weights}; -use primitives::traits::MultiAssetRegistry; -pub use primitives::*; -use xcm_calls::{ - proxy::{ProxyCallEncoder, ProxyType}, - staking::StakingCallEncoder, - PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, -}; - -// Make the WASM binary available. -#[cfg(feature = "std")] -include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); - -/// Opaque types. These are used by the CLI to instantiate machinery that don't -/// need to know the specifics of the runtime. They can then be made to be -/// agnostic over specific formats of data like extrinsics, allowing for them to -/// continue syncing the network through upgrades to even the core data -/// structures. -pub mod opaque { - pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; - - use super::*; - - /// Opaque block type. - pub type Block = generic::Block; - - pub type SessionHandlers = (); - - impl_opaque_keys! { - pub struct SessionKeys { - pub aura: Aura, - } - } -} - -pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("pint-parachain"), - impl_name: create_runtime_str!("pint-parachain"), - authoring_version: 1, - spec_version: 1, - impl_version: 1, - apis: RUNTIME_API_VERSIONS, - transaction_version: 1, -}; - -/// The version information used to identify this runtime when compiled -/// natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } -} - -parameter_types! { - // network - pub Ancestry: MultiLocation = Junction::Parachain( - ParachainInfo::parachain_id().into() - ).into(); - pub const RelayNetwork: NetworkId = NetworkId::Polkadot; - pub SelfLocation: MultiLocation = MultiLocation::X2(Junction::Parent, Junction::Parachain(ParachainInfo::parachain_id().into())); - pub const Version: RuntimeVersion = VERSION; - // pallet-committee - pub const ProposalSubmissionPeriod: BlockNumber = 10; - pub const VotingPeriod: BlockNumber = 10; -} - -// Configure FRAME pallets to include in runtime. - -impl frame_system::Config for Runtime { - /// The basic call filter to use in dispatchable. - type BaseCallFilter = Everything; - /// Block & extrinsics weights: base values and limits. - type BlockWeights = RuntimeBlockWeights; - /// The maximum length of a block (in bytes). - type BlockLength = RuntimeBlockLength; - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; - /// The lookup mechanism to get account ID from whatever is passed in - /// dispatchers. - type Lookup = AccountIdLookup; - /// The index type for storing how many extrinsics an account has signed. - type Index = Index; - /// The index type for blocks. - type BlockNumber = BlockNumber; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The hashing algorithm used. - type Hashing = BlakeTwo256; - /// The header type. - type Header = generic::Header; - /// The ubiquitous event type. - type Event = Event; - /// The ubiquitous origin type. - type Origin = Origin; - /// Maximum number of block number to block hash mappings to keep (oldest - /// pruned first). - type BlockHashCount = BlockHashCount; - /// The weight of database operations that the runtime can invoke. - type DbWeight = RocksDbWeight; - /// Version of the runtime. - type Version = Version; - /// Converts a pallet to the index of the pallet in `construct_runtime!`. - /// - /// This type is being generated by `construct_runtime!`. - type PalletInfo = PalletInfo; - /// What to do if a new account is created. - type OnNewAccount = (); - /// What to do if an account is fully reaped from the system. - type OnKilledAccount = (); - /// The data to be stored in an account. - type AccountData = pallet_balances::AccountData; - /// Weight information for the extrinsics of this pallet. - type SystemWeightInfo = (); - /// This is used as an identifier of the chain. 42 is the generic substrate - /// prefix. - type SS58Prefix = SS58Prefix; - /// The set code logic of the parachain. - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; -} - -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = (); - type MinimumPeriod = MinimumPeriod; - type WeightInfo = (); -} - -impl pallet_balances::Config for Runtime { - type MaxLocks = MaxLocks; - /// The type for recording an account's balance. - type Balance = Balance; - /// The ubiquitous event type. - type Event = Event; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type MaxReserves = (); - type ReserveIdentifier = [u8; 8]; - type WeightInfo = pallet_balances::weights::SubstrateWeight; -} - -impl pallet_transaction_payment::Config for Runtime { - type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; - type TransactionByteFee = TransactionByteFee; - type WeightToFee = IdentityFee; - type FeeMultiplierUpdate = (); -} - -impl pallet_sudo::Config for Runtime { - type Event = Event; - type Call = Call; -} - -impl cumulus_pallet_parachain_system::Config for Runtime { - type Event = Event; - type OnValidationData = (); - type SelfParaId = parachain_info::Pallet; - type OutboundXcmpMessageSource = XcmpQueue; - type DmpMessageHandler = DmpQueue; - type ReservedDmpWeight = ReservedDmpWeight; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; -} - -impl parachain_info::Config for Runtime {} - -impl cumulus_pallet_aura_ext::Config for Runtime {} - -/// Type for specifying how a `MultiLocation` can be converted into an -/// `AccountId`. This is used when determining ownership of accounts for asset -/// transacting and when attempting to use XCM `Transact` in order to determine -/// the dispatch Origin. -pub type LocationToAccountId = ( - // The parent (Relay-chain) origin converts to the default `AccountId`. - ParentIsDefault, - // Sibling parachain origins convert to AccountId via the `ParaId::into`. - SiblingParachainConvertsVia, - // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, -); - -/// Means for transacting assets on this chain. -pub type LocalAssetTransactor = MultiCurrencyAdapter< - // Use this multicurrency for asset balances - Currencies, - // handle in event of unknown tokens - UnknownTokens, - // Convert - IsNativeConcrete, - AccountId, - LocationToAccountId, - AssetId, - AssetIdConvert, ->; - -/// This is the type we use to convert an (incoming) XCM origin into a local -/// `Origin` instance, ready for dispatching a transaction with Xcm's -/// `Transact`. There is an `OriginKind` which can biases the kind of local -/// `Origin` it will become. -pub type XcmOriginToTransactDispatchOrigin = ( - // Sovereign account converter; this attempts to derive an `AccountId` from the origin location - // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for - // foreign chains who want to have a local sovereign account on this chain which they control. - SovereignSignedViaLocation, - // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when - // recognised. - RelayChainAsNative, - // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when - // recognised. - SiblingParachainAsNative, - // Native signed account converter; this just converts an `AccountId32` origin into a normal - // `Origin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, - // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, -); - -match_type! { - pub type ParentOrParentsUnitPlurality: impl Contains = { - X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. }) - }; -} - -pub type Barrier = (TakeWeightCredit, AllowTopLevelPaidExecutionFrom); - -pub struct ToTreasury; -impl TakeRevenue for ToTreasury { - fn take_revenue(revenue: MultiAsset) { - use orml_traits::currency::MultiCurrency; - if let MultiAsset::ConcreteFungible { id, amount } = revenue { - if let Some(asset_id) = AssetIdConvert::convert(id) { - // ensure PINT Treasury account have ed for all of the cross-chain asset. - // Ignore the result. - let _ = Currencies::deposit(asset_id, &PintTreasuryAccount::get(), amount); - } - } - } -} - -pub struct XcmConfig; -impl xcm_executor::Config for XcmConfig { - type Call = Call; - type XcmSender = XcmRouter; - // How to withdraw and deposit an asset. - type AssetTransactor = LocalAssetTransactor; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - type IsReserve = MultiNativeAsset; - type IsTeleporter = (); - type LocationInverter = LocationInverter; - type Barrier = Barrier; - type Weigher = FixedWeightBounds; - type Trader = FixedRateOfConcreteFungible; - type ResponseHandler = (); // Don't handle responses for now. -} - -pub type LocalOriginToLocation = SignedToAccountId32; - -/// The means for routing XCM messages which are not for local execution into -/// the right message queues. -pub type XcmRouter = ( - // Two routers - use UMP to communicate with the relay chain: - cumulus_primitives_utility::ParentAsUmp, - // ..and XCMP to communicate with the sibling chains. - XcmpQueue, -); - -impl pallet_xcm::Config for Runtime { - type Event = Event; - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; - type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = (); - type XcmReserveTransferFilter = Everything; - type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; -} - -impl cumulus_pallet_xcm::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; -} - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; - type ChannelInfo = ParachainSystem; -} - -impl cumulus_pallet_dmp_queue::Config for Runtime { - type Event = Event; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = frame_system::EnsureRoot; -} - -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; - type DisabledValidators = (); -} - -impl pallet_authorship::Config for Runtime { - type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = CollatorSelection; -} - -impl pallet_session::Config for Runtime { - type Event = Event; - type ValidatorId = ::AccountId; - // we don't have stash and controller, thus we don't need the convert as well. - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions; - type NextSessionRotation = pallet_session::PeriodicSessions; - type SessionManager = CollatorSelection; - // Essentially just Aura, but lets be pedantic. - type SessionHandler = ::KeyTypeIdProviders; - type Keys = opaque::SessionKeys; - type DisabledValidatorsThreshold = DisabledValidatorsThreshold; - type WeightInfo = (); -} - -impl pallet_collator_selection::Config for Runtime { - type Event = Event; - type Currency = Balances; - type UpdateOrigin = GovernanceOrigin; - type PotId = PotId; - type MaxCandidates = MaxCandidates; - type MinCandidates = MinCandidates; - type MaxInvulnerables = MaxInvulnerables; - // should be a multiple of session or things will get inconsistent - type KickThreshold = Period; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ValidatorRegistration = Session; - type WeightInfo = (); -} - -impl pallet_local_treasury::Config for Runtime { - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureRoot; - type PalletId = TreasuryPalletId; - type Currency = Balances; - type Event = Event; - type WeightInfo = weights::pallet_local_treasury::WeightInfo; -} - -impl pallet_saft_registry::Config for Runtime { - type AdminOrigin = GovernanceOrigin; - type AssetRecorder = AssetIndex; - type Balance = Balance; - type AssetId = AssetId; - type Event = Event; - type WeightInfo = weights::pallet_saft_registry::WeightInfo; -} - -impl pallet_committee::Config for Runtime { - type Origin = Origin; - type Action = Call; - type ProposalNonce = u32; - type ProposalSubmissionPeriod = ProposalSubmissionPeriod; - type VotingPeriod = VotingPeriod; - type MinCouncilVotes = MinCouncilVotes; - type ProposalSubmissionOrigin = EnsureSigned; - type ProposalExecutionOrigin = EnsureMember; - type ApprovedByCommitteeOrigin = GovernanceOrigin; - type Event = Event; - type WeightInfo = weights::pallet_committee::WeightInfo; -} - -impl pallet_price_feed::Config for Runtime { - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureRoot; - type SelfAssetId = PINTAssetId; - type AssetId = AssetId; - type Time = Timestamp; - type Event = Event; - type WeightInfo = weights::pallet_price_feed::WeightInfo; -} - -impl pallet_chainlink_feed::Config for Runtime { - type Event = Event; - type FeedId = FeedId; - type Value = Value; - type Currency = Balances; - type PalletId = FeedPalletId; - type MinimumReserve = MinimumReserve; - type StringLimit = StringLimit; - type OracleCountLimit = OracleLimit; - type FeedLimit = FeedLimit; - type OnAnswerHandler = PriceFeed; - type WeightInfo = (); -} - -impl pallet_asset_index::Config for Runtime { - type AdminOrigin = GovernanceOrigin; - type IndexToken = Balances; - type Balance = Balance; - type LockupPeriod = LockupPeriod; - type IndexTokenLockIdentifier = IndexTokenLockIdentifier; - type MinimumRedemption = MinimumRedemption; - type WithdrawalPeriod = WithdrawalPeriod; - type DOTContributionLimit = DOTContributionLimit; - type RemoteAssetManager = RemoteAssetManager; - type AssetId = AssetId; - type SelfAssetId = PINTAssetId; - type Currency = Currencies; - type PriceFeed = PriceFeed; - #[cfg(feature = "runtime-benchmarks")] - type PriceFeedBenchmarks = PriceFeed; - type SaftRegistry = SaftRegistry; - type BaseWithdrawalFee = BaseWithdrawalFee; - type TreasuryPalletId = TreasuryPalletId; - type Event = Event; - type StringLimit = PalletIndexStringLimit; - type WeightInfo = weights::pallet_asset_index::WeightInfo; -} - -impl orml_tokens::Config for Runtime { - type Event = Event; - type Balance = Balance; - type Amount = Amount; - type CurrencyId = AssetId; - type WeightInfo = (); - type ExistentialDeposits = ExistentialDeposits; - type OnDust = orml_tokens::TransferDust; - type MaxLocks = MaxLocks; - type DustRemovalWhitelist = DustRemovalWhitelist; -} - -impl orml_currencies::Config for Runtime { - type Event = Event; - type MultiCurrency = Tokens; - type NativeCurrency = BasicCurrencyAdapter; - type GetNativeCurrencyId = PINTAssetId; - type WeightInfo = (); -} - -impl orml_xtokens::Config for Runtime { - type Event = Event; - type Balance = Balance; - type CurrencyId = AssetId; - type CurrencyIdConvert = AssetIdConvert; - type AccountIdToMultiLocation = AccountId32Convert; - type SelfLocation = SelfLocation; - type XcmExecutor = XcmExecutor; - type Weigher = FixedWeightBounds; - type BaseXcmWeight = BaseXcmWeight; -} - -impl orml_unknown_tokens::Config for Runtime { - type Event = Event; -} - -pub struct AssetIdConvert; -impl Convert> for AssetIdConvert { - fn convert(asset: AssetId) -> Option { - AssetIndex::native_asset_location(&asset) - } -} - -impl Convert> for AssetIdConvert { - fn convert(location: MultiLocation) -> Option { - match location { - MultiLocation::X1(Junction::Parent) => return Some(RelayChainAssetId::get()), - MultiLocation::X3(Junction::Parent, Junction::Parachain(id), Junction::GeneralKey(key)) - if ParaId::from(id) == ParachainInfo::parachain_id() => - { - // decode the general key - if let Ok(asset_id) = AssetId::decode(&mut &key[..]) { - // check `asset_id` is supported - if AssetIndex::is_liquid_asset(&asset_id) { - return Some(asset_id); - } - } - } - _ => {} - } - None - } -} - -impl Convert> for AssetIdConvert { - fn convert(asset: MultiAsset) -> Option { - if let MultiAsset::ConcreteFungible { ref id, amount: _ } = asset { - Self::convert(id.clone()) - } else { - None - } - } -} - -pub struct AccountId32Convert; -impl Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> [u8; 32] { - account_id.into() - } -} - -impl Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> MultiLocation { - Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() - } -} - -/// The encoder to use when transacting `pallet_proxy` calls -pub struct PalletProxyEncoder; -impl ProxyCallEncoder for PalletProxyEncoder { - type AccountIdEncoder = PassthroughEncoder; - type ProxyTypeEncoder = PassthroughEncoder; - type BlockNumberEncoder = PassthroughEncoder; -} -impl PalletCallEncoder for PalletProxyEncoder { - type Context = AssetId; - fn can_encode(_ctx: &Self::Context) -> bool { - // TODO check in `AssetRegistry` - true - } -} - -type AccountLookupSource = sp_runtime::MultiAddress; - -/// The encoder to use when transacting `pallet_staking` calls -pub struct PalletStakingEncoder; -impl StakingCallEncoder for PalletStakingEncoder { - type CompactBalanceEncoder = PassthroughCompactEncoder; - type SourceEncoder = PassthroughEncoder; - type AccountIdEncoder = PassthroughEncoder; -} - -impl PalletCallEncoder for PalletStakingEncoder { - type Context = AssetId; - fn can_encode(_ctx: &Self::Context) -> bool { - // TODO check in `AssetRegistry` - true - } -} - -impl pallet_remote_asset_manager::Config for Runtime { - type Balance = Balance; - type AssetId = AssetId; - type AssetIdConvert = AssetIdConvert; - type AccountId32Convert = AccountId32Convert; - // Encodes `pallet_staking` calls before transaction them to other chains - type PalletStakingCallEncoder = PalletStakingEncoder; - // Encodes `pallet_proxy` calls before transaction them to other chains - type PalletProxyCallEncoder = PalletProxyEncoder; - type MinimumStatemintTransferAmount = MinimumStatemintTransferAmount; - type SelfAssetId = PINTAssetId; - type SelfLocation = SelfLocation; - type SelfParaId = parachain_info::Pallet; - type RelayChainAssetId = RelayChainAssetId; - type StakingThreshold = (MinimumRemoteReserveBalance, MinimumBondExtra); - type Assets = Currencies; - type XcmExecutor = XcmExecutor; - type XcmAssetTransfer = XTokens; - // Using root as the admin origin for now - type AdminOrigin = frame_system::EnsureSigned; - type XcmSender = XcmRouter; - type Event = Event; - type AssetRegistry = AssetIndex; - type WeightInfo = weights::pallet_remote_asset_manager::WeightInfo; -} - -// Create the runtime by composing the FRAME pallets that were previously -// configured. -construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = opaque::Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { - System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, - Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, - Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 2, - TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 3, - Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 4, - - // Parachain - ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Config, Event} = 20, - ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, - - // Collator. The order of the 4 below are important and shall not change. - Authorship: pallet_authorship::{Pallet, Call, Storage} = 40, - CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 41, - Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 42, - Aura: pallet_aura::{Pallet, Config} = 43, - AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 44, - - // ORML related pallets - Tokens: orml_tokens::{Pallet, Storage, Call, Event, Config} = 60, - Currencies: orml_currencies::{Pallet, Call, Event} = 61, - XTokens: orml_xtokens::{Pallet, Storage, Call, Event} = 62, - UnknownTokens: orml_unknown_tokens::{Pallet, Storage, Event} = 63, - - // PINT pallets - AssetIndex: pallet_asset_index::{Pallet, Call, Storage, Event} = 80, - Committee: pallet_committee::{Pallet, Call, Storage, Origin, Event, Config} = 81, - LocalTreasury: pallet_local_treasury::{Pallet, Call, Storage, Event} = 82, - SaftRegistry: pallet_saft_registry::{Pallet, Call, Storage, Event} = 83, - RemoteAssetManager: pallet_remote_asset_manager::{Pallet, Call, Storage, Event, Config} = 84, - PriceFeed: pallet_price_feed::{Pallet, Call, Storage, Event} = 85, - ChainlinkFeed: pallet_chainlink_feed::{Pallet, Call, Storage, Event, Config} = 86, - - // XCM - XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 100, - DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 101, - PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin} = 102, - CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 103 - } -); - -/// The address format for describing accounts. -pub type Address = sp_runtime::MultiAddress; -/// Block header type as expected by this runtime. -pub type Header = generic::Header; -/// Block type as expected by this runtime. -pub type Block = generic::Block; -/// A Block signed with a Justification -pub type SignedBlock = generic::SignedBlock; -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; -/// The SignedExtension to the basic transaction logic. -pub type SignedExtra = ( - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, -); -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; -/// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; -/// Executive: handles dispatch to the various pallets. -pub type Executive = - frame_executive::Executive, Runtime, AllPallets, ()>; - -impl_runtime_apis! { - impl sp_api::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - - fn execute_block(block: Block) { - Executive::execute_block(block) - } - - fn initialize_block(header: &::Header) { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - Runtime::metadata().into() - } - } - - impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - - fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - - fn check_inherents( - block: Block, - data: sp_inherents::InherentData, - ) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } - } - - impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } - } - - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } - - impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - opaque::SessionKeys::generate(seed) - } - - fn decode_session_keys( - encoded: Vec, - ) -> Option, KeyTypeId)>> { - opaque::SessionKeys::decode_into_raw_public_keys(&encoded) - } - } - - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) - } - - fn authorities() -> Vec { - Aura::authorities() - } - } - - impl cumulus_primitives_core::CollectCollationInfo for Runtime { - fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info() - } - } - - impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { - fn account_nonce(account: AccountId) -> Index { - System::account_nonce(account) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - fn query_fee_details( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - } - - impl pallet_asset_index_rpc_runtime_api::AssetIndexApi< - Block, - AccountId, - AssetId, - Balance, - > for Runtime { - fn get_nav() -> primitives::Ratio { - use primitives::traits::NavProvider; - AssetIndex::nav().unwrap_or_default() - } - } - - #[cfg(feature = "runtime-benchmarks")] - impl frame_benchmarking::Benchmark for Runtime { - fn benchmark_metadata(_extra: bool) -> ( - Vec, - Vec, - ) { - use frame_benchmarking:: BenchmarkList; - use frame_support::traits::StorageInfoTrait; - - let list = Vec::::new(); - - let storage_info = AllPalletsWithSystem::storage_info(); - return (list, storage_info) - } - - fn dispatch_benchmark( - config: frame_benchmarking::BenchmarkConfig - ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; - - use frame_system_benchmarking::Pallet as SystemBench; - impl frame_system_benchmarking::Config for Runtime {} - - let whitelist: Vec = vec![ - // Block Number - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), - // Total Issuance - hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), - // Execution Phase - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), - // Event Count - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), - // System Events - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), - ]; - - let mut batches = Vec::::new(); - let params = (&config, &whitelist); - - add_benchmark!(params, batches, frame_system, SystemBench::); - add_benchmark!(params, batches, pallet_balances, Balances); - add_benchmark!(params, batches, pallet_timestamp, Timestamp); - add_benchmark!(params, batches, pallet_asset_index, AssetIndex); - add_benchmark!(params, batches, pallet_committee, Committee); - add_benchmark!(params, batches, pallet_local_treasury, LocalTreasury); - add_benchmark!(params, batches, pallet_price_feed, PriceFeed); - // add_benchmark!(params, batches, pallet_remote_asset_manager, RemoteAssetManager); - add_benchmark!(params, batches, pallet_saft_registry, SaftRegistry); - - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - Ok(batches) - } - } -} - -struct CheckInherents; - -impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { - fn check_inherents( - block: &Block, - relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, - ) -> sp_inherents::CheckInherentsResult { - let relay_chain_slot = - relay_state_proof.read_slot().expect("Could not read the relay chain slot from the proof"); - - let inherent_data = cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( - relay_chain_slot, - sp_std::time::Duration::from_secs(6), - ) - .create_inherent_data() - .expect("Could not create the timestamp inherent data"); - - inherent_data.check_extrinsics(block) - } -} - -cumulus_pallet_parachain_system::register_validate_block!( - Runtime = Runtime, - BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, - CheckInherents = CheckInherents, -); diff --git a/rustfmt.toml b/rustfmt.toml deleted file mode 100644 index b3392f3a3d..0000000000 --- a/rustfmt.toml +++ /dev/null @@ -1,11 +0,0 @@ -reorder_imports = true -imports_granularity = "Crate" -hard_tabs = true -max_width = 120 -use_small_heuristics = "Max" -comment_width = 100 -wrap_comments = true -binop_separator = "Back" -trailing_comma = "Vertical" -use_field_init_shorthand = true -license_template_path = "HEADER-LICENSE" \ No newline at end of file diff --git a/scripts/header.txt b/scripts/header.txt deleted file mode 100644 index a2e965fcf0..0000000000 --- a/scripts/header.txt +++ /dev/null @@ -1,2 +0,0 @@ -Copyright 2021 ChainSafe Systems -SPDX-License-Identifier: LGPL-3.0-only \ No newline at end of file diff --git a/scripts/init.sh b/scripts/init.sh deleted file mode 100755 index 1405a41ef3..0000000000 --- a/scripts/init.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -set -e - -echo "*** Initializing WASM build environment" - -if [ -z $CI_PROJECT_NAME ] ; then - rustup update nightly - rustup update stable -fi - -rustup target add wasm32-unknown-unknown --toolchain nightly diff --git a/templates/pallet-weight-template.hbs b/templates/pallet-weight-template.hbs deleted file mode 100644 index ef522ea5e8..0000000000 --- a/templates/pallet-weight-template.hbs +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for {{pallet}} -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}} -//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}` -//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}} - -// Executed Command: -{{#each args as |arg|~}} -// {{arg}} -{{/each}} - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; -use sp_std::marker::PhantomData; - -/// Weight functions needed for {{pallet}}. -pub trait WeightInfo { - {{~#each benchmarks as |benchmark|}} - fn {{benchmark.name~}} - ( - {{~#each benchmark.components as |c| ~}} - {{c.name}}: u32, {{/each~}} - ) -> Weight; - {{~/each}} -} - -/// Weights for {{pallet}} using the PINT node and recommended hardware. -pub struct PintWeight(PhantomData); -impl WeightInfo for PintWeight { - {{~#each benchmarks as |benchmark|}} - fn {{benchmark.name~}} - ( - {{~#each benchmark.components as |c| ~}} - {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} - ) -> Weight { - ({{underscore benchmark.base_weight}} as Weight) - {{~#each benchmark.component_weight as |cw|}} - // Standard Error: {{underscore cw.error}} - .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)) - {{~/each}} - {{~#if (ne benchmark.base_reads "0")}} - .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight)) - {{~/if}} - {{~#each benchmark.component_reads as |cr|}} - .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight))) - {{~/each}} - {{~#if (ne benchmark.base_writes "0")}} - .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight)) - {{~/if}} - {{~#each benchmark.component_writes as |cw|}} - .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))) - {{~/each}} - } - {{~/each}} -} - -// For backwards compatibility and tests -impl WeightInfo for () { - {{~#each benchmarks as |benchmark|}} - fn {{benchmark.name~}} - ( - {{~#each benchmark.components as |c| ~}} - {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} - ) -> Weight { - ({{underscore benchmark.base_weight}} as Weight) - {{~#each benchmark.component_weight as |cw|}} - // Standard Error: {{underscore cw.error}} - .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)) - {{~/each}} - {{~#if (ne benchmark.base_reads "0")}} - .saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}} as Weight)) - {{~/if}} - {{~#each benchmark.component_reads as |cr|}} - .saturating_add(RocksDbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight))) - {{~/each}} - {{~#if (ne benchmark.base_writes "0")}} - .saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}} as Weight)) - {{~/if}} - {{~#each benchmark.component_writes as |cw|}} - .saturating_add(RocksDbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))) - {{~/each}} - } - {{~/each}} -} \ No newline at end of file diff --git a/templates/runtime-weight-template.hbs b/templates/runtime-weight-template.hbs deleted file mode 100644 index 0021ebac93..0000000000 --- a/templates/runtime-weight-template.hbs +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -//! Autogenerated weights for {{pallet}} -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}} -//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}` -//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}} - -// Executed Command: -{{#each args as |arg|~}} -// {{arg}} -{{/each}} - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for {{pallet}}. -pub struct WeightInfo(PhantomData); -impl {{pallet}}::WeightInfo for WeightInfo { - {{~#each benchmarks as |benchmark|}} - fn {{benchmark.name~}} - ( - {{~#each benchmark.components as |c| ~}} - {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} - ) -> Weight { - ({{underscore benchmark.base_weight}} as Weight) - {{~#each benchmark.component_weight as |cw|}} - // Standard Error: {{underscore cw.error}} - .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)) - {{~/each}} - {{~#if (ne benchmark.base_reads "0")}} - .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight)) - {{~/if}} - {{~#each benchmark.component_reads as |cr|}} - .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight))) - {{~/each}} - {{~#if (ne benchmark.base_writes "0")}} - .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight)) - {{~/if}} - {{~#each benchmark.component_writes as |cw|}} - .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))) - {{~/each}} - } - {{~/each}} -} \ No newline at end of file diff --git a/test-utils/xcm-test-support/Cargo.lock b/test-utils/xcm-test-support/Cargo.lock deleted file mode 100644 index 6c2650cd89..0000000000 --- a/test-utils/xcm-test-support/Cargo.lock +++ /dev/null @@ -1,8375 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aead" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "aes" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2bc6d3f370b5666245ff421e231cba4353df936e26986d2918e61a8fd6aef6" -dependencies = [ - "aes-soft", - "aesni", - "block-cipher", -] - -[[package]] -name = "aes-gcm" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0301c9e9c443494d970a07885e8cf3e587bae8356a1d5abd0999068413f7205f" -dependencies = [ - "aead", - "aes", - "block-cipher", - "ghash", - "subtle 2.4.0", -] - -[[package]] -name = "aes-soft" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6" -dependencies = [ - "block-cipher", - "byteorder", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aesni" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6fe808308bb07d393e2ea47780043ec47683fcf19cf5efc8ca51c50cc8c68a" -dependencies = [ - "block-cipher", - "opaque-debug 0.3.0", -] - -[[package]] -name = "ahash" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" - -[[package]] -name = "ahash" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" -dependencies = [ - "getrandom 0.2.3", - "once_cell", - "version_check", -] - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "anyhow" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" - -[[package]] -name = "approx" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" -dependencies = [ - "num-traits", -] - -[[package]] -name = "arrayref" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" - -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "arrayvec" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" - -[[package]] -name = "asn1_der" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3" - -[[package]] -name = "async-channel" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-executor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "once_cell", - "slab", -] - -[[package]] -name = "async-global-executor" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6" -dependencies = [ - "async-channel", - "async-executor", - "async-io", - "async-mutex", - "blocking", - "futures-lite", - "num_cpus", - "once_cell", -] - -[[package]] -name = "async-io" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" -dependencies = [ - "concurrent-queue", - "futures-lite", - "libc", - "log", - "once_cell", - "parking", - "polling", - "slab", - "socket2 0.4.0", - "waker-fn", - "winapi 0.3.9", -] - -[[package]] -name = "async-lock" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-mutex" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-process" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f38756dd9ac84671c428afbf7c9f7495feff9ec5b0710f17100098e5b354ac" -dependencies = [ - "async-io", - "blocking", - "cfg-if 1.0.0", - "event-listener", - "futures-lite", - "libc", - "once_cell", - "signal-hook", - "winapi 0.3.9", -] - -[[package]] -name = "async-std" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341" -dependencies = [ - "async-channel", - "async-global-executor", - "async-io", - "async-lock", - "async-process", - "crossbeam-utils 0.8.5", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "num_cpus", - "once_cell", - "pin-project-lite 0.2.7", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - -[[package]] -name = "async-std-resolver" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed4e2c3da14d8ad45acb1e3191db7a918e9505b6f155b218e70a7c9a1a48c638" -dependencies = [ - "async-std", - "async-trait", - "futures-io", - "futures-util", - "pin-utils", - "trust-dns-resolver", -] - -[[package]] -name = "async-task" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" - -[[package]] -name = "async-trait" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "asynchronous-codec" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6" -dependencies = [ - "bytes 1.0.1", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite 0.2.7", -] - -[[package]] -name = "asynchronous-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" -dependencies = [ - "bytes 1.0.1", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite 0.2.7", -] - -[[package]] -name = "atomic" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281" -dependencies = [ - "autocfg", -] - -[[package]] -name = "atomic-waker" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "autocfg" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "backtrace" -version = "0.3.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" -dependencies = [ - "addr2line", - "cc", - "cfg-if 1.0.0", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base-x" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" - -[[package]] -name = "base58" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - -[[package]] -name = "base64" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" - -[[package]] -name = "beefy-primitives" -version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.7#299dd5fd3fabd99c3c919f1312001283ddc5b365" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "bitflags" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" - -[[package]] -name = "bitvec" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a5720225ef5daecf08657f23791354e1685a8c91a4c60c7f3d3b2892f978f4" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - -[[package]] -name = "blake2b_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq", -] - -[[package]] -name = "blake2s_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "cc", - "cfg-if 0.1.10", - "constant_time_eq", - "crypto-mac 0.8.0", - "digest 0.9.0", -] - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding 0.1.5", - "byte-tools", - "byteorder", - "generic-array 0.12.4", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "block-padding 0.2.1", - "generic-array 0.14.4", -] - -[[package]] -name = "block-cipher" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f337a3e6da609650eb74e02bc9fac7b735049f7623ab12f2e4c719316fcc7e80" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "blocking" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9" -dependencies = [ - "async-channel", - "async-task", - "atomic-waker", - "fastrand", - "futures-lite", - "once_cell", -] - -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - -[[package]] -name = "bstr" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" -dependencies = [ - "memchr", -] - -[[package]] -name = "build-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" -dependencies = [ - "semver 0.6.0", -] - -[[package]] -name = "bumpalo" -version = "3.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" - -[[package]] -name = "byte-slice-cast" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65c1bf4a04a88c54f589125563643d773f3254b5c38571395e2b591c693bbc81" - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "either", - "iovec", -] - -[[package]] -name = "bytes" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" - -[[package]] -name = "bytes" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" - -[[package]] -name = "cache-padded" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" - -[[package]] -name = "cargo-platform" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0226944a63d1bf35a3b5f948dd7c59e263db83695c9e8bffc4037de02e30f1d7" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714a157da7991e23d90686b9524b9e12e0407a108647f52e9328f4b3d51ac7f" -dependencies = [ - "cargo-platform", - "semver 0.11.0", - "semver-parser 0.10.2", - "serde", - "serde_json", -] - -[[package]] -name = "cc" -version = "1.0.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" -dependencies = [ - "jobserver", -] - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chacha20" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244fbce0d47e97e8ef2f63b81d5e05882cb518c68531eb33194990d7b7e85845" -dependencies = [ - "stream-cipher", - "zeroize", -] - -[[package]] -name = "chacha20poly1305" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf18d374d66df0c05cdddd528a7db98f78c28e2519b120855c4f84c5027b1f5" -dependencies = [ - "aead", - "chacha20", - "poly1305", - "stream-cipher", - "zeroize", -] - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi 0.3.9", -] - -[[package]] -name = "cid" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff0e3bc0b6446b3f9663c1a6aba6ef06c5aeaa1bc92bd18077be337198ab9768" -dependencies = [ - "multibase", - "multihash", - "unsigned-varint 0.5.1", -] - -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "ckb-merkle-mountain-range" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e486fe53bb9f2ca0f58cb60e8679a5354fd6687a839942ef0a75967250289ca6" -dependencies = [ - "cfg-if 0.1.10", -] - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -dependencies = [ - "bitflags", -] - -[[package]] -name = "concurrent-queue" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" -dependencies = [ - "cache-padded", -] - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "core-foundation" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" - -[[package]] -name = "cpufeatures" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" -dependencies = [ - "libc", -] - -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - -[[package]] -name = "crc32fast" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "lazy_static", - "maybe-uninit", - "memoffset", - "scopeguard", -] - -[[package]] -name = "crossbeam-queue" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" -dependencies = [ - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" -dependencies = [ - "cfg-if 1.0.0", - "lazy_static", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -dependencies = [ - "generic-array 0.12.4", - "subtle 1.0.0", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array 0.14.4", - "subtle 2.4.0", -] - -[[package]] -name = "ct-logs" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c8e13110a84b6315df212c045be706af261fd364791cad863285439ebba672e" -dependencies = [ - "sct", -] - -[[package]] -name = "ctor" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "cuckoofilter" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b810a8449931679f64cd7eef1bbd0fa315801b6d5d9cdc1ace2804d6529eee18" -dependencies = [ - "byteorder", - "fnv", - "rand 0.7.3", -] - -[[package]] -name = "cumulus-pallet-dmp-queue" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.8.4", - "rand_chacha 0.3.1", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "cumulus-pallet-parachain-system" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "cumulus-pallet-parachain-system-proc-macro", - "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", - "environmental", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "polkadot-parachain", - "serde", - "sp-core", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "sp-version", - "xcm", -] - -[[package]] -name = "cumulus-pallet-parachain-system-proc-macro" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "cumulus-pallet-xcm" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", -] - -[[package]] -name = "cumulus-pallet-xcmp-queue" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "rand 0.8.4", - "rand_chacha 0.3.1", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "cumulus-primitives-core" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain", - "polkadot-primitives", - "sp-api", - "sp-runtime", - "sp-std", - "sp-trie", - "xcm", -] - -[[package]] -name = "cumulus-primitives-parachain-inherent" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "async-trait", - "cumulus-primitives-core", - "parity-scale-codec", - "polkadot-client", - "sc-client-api", - "sp-api", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "tracing", -] - -[[package]] -name = "curve25519-dalek" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434e1720189a637d44fe464f4df1e6eb900b4835255b14354497c78af37d9bb8" -dependencies = [ - "byteorder", - "digest 0.8.1", - "rand_core 0.5.1", - "subtle 2.4.0", - "zeroize", -] - -[[package]] -name = "curve25519-dalek" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle 2.4.0", - "zeroize", -] - -[[package]] -name = "data-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" - -[[package]] -name = "data-encoding-macro" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" -dependencies = [ - "data-encoding", - "data-encoding-macro-internal", -] - -[[package]] -name = "data-encoding-macro-internal" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" -dependencies = [ - "data-encoding", - "syn", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "derive_more" -version = "0.99.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -dependencies = [ - "generic-array 0.12.4", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] -name = "directories" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" -dependencies = [ - "libc", - "redox_users", - "winapi 0.3.9", -] - -[[package]] -name = "dns-parser" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" -dependencies = [ - "byteorder", - "quick-error", -] - -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - -[[package]] -name = "dyn-clonable" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" -dependencies = [ - "dyn-clonable-impl", - "dyn-clone", -] - -[[package]] -name = "dyn-clonable-impl" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dyn-clone" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf" - -[[package]] -name = "ed25519" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d0860415b12243916284c67a9be413e044ee6668247b99ba26d94b2bc06c8f6" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.1.0", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.5", - "zeroize", -] - -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - -[[package]] -name = "enum-as-inner" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "enumflags2" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" -dependencies = [ - "enumflags2_derive", -] - -[[package]] -name = "enumflags2_derive" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "enumn" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e58b112d5099aa0857c5d05f0eacab86406dd8c0f85fe5d320a13256d29ecf4" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "environmental" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" - -[[package]] -name = "erased-serde" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de9ad4541d99dc22b59134e7ff8dc3d6c988c89ecd7324bf10a8362b07a2afa" -dependencies = [ - "serde", -] - -[[package]] -name = "ethbloom" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-rlp", - "impl-serde", - "tiny-keccak", -] - -[[package]] -name = "ethereum-types" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd" -dependencies = [ - "ethbloom", - "fixed-hash", - "impl-rlp", - "impl-serde", - "primitive-types", - "uint", -] - -[[package]] -name = "event-listener" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" - -[[package]] -name = "exit-future" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" -dependencies = [ - "futures 0.3.15", -] - -[[package]] -name = "failure" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - -[[package]] -name = "fastrand" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b705829d1e87f762c2df6da140b26af5839e1033aa84aa5f56bb688e4e1bdb" -dependencies = [ - "instant", -] - -[[package]] -name = "finality-grandpa" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74a1bfdcc776e63e49f741c7ce6116fa1b887e8ac2e3ccb14dd4aa113e54feb9" -dependencies = [ - "either", - "futures 0.3.15", - "futures-timer 3.0.2", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.11.1", -] - -[[package]] -name = "fixed-hash" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" -dependencies = [ - "byteorder", - "rand 0.8.4", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixedbitset" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" - -[[package]] -name = "flate2" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" -dependencies = [ - "cfg-if 1.0.0", - "crc32fast", - "libc", - "libz-sys", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "fork-tree" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "form_urlencoded" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" -dependencies = [ - "matches", - "percent-encoding 2.1.0", -] - -[[package]] -name = "frame-benchmarking" -version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "linregress", - "log", - "parity-scale-codec", - "paste", - "sp-api", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-std", - "sp-storage", -] - -[[package]] -name = "frame-election-provider-support" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-arithmetic", - "sp-npos-elections", - "sp-std", -] - -[[package]] -name = "frame-executive" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", -] - -[[package]] -name = "frame-metadata" -version = "13.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "serde", - "sp-core", - "sp-std", -] - -[[package]] -name = "frame-support" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "bitflags", - "frame-metadata", - "frame-support-procedural", - "impl-trait-for-tuples", - "log", - "max-encoded-len", - "once_cell", - "parity-scale-codec", - "paste", - "serde", - "smallvec 1.6.1", - "sp-arithmetic", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", -] - -[[package]] -name = "frame-support-procedural" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "Inflector", - "frame-support-procedural-tools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-support-procedural-tools" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support-procedural-tools-derive", - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-support-procedural-tools-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-system" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-version", -] - -[[package]] -name = "frame-system-rpc-runtime-api" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "sp-api", -] - -[[package]] -name = "frame-try-runtime" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - -[[package]] -name = "futures" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" - -[[package]] -name = "futures" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" - -[[package]] -name = "futures-cpupool" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -dependencies = [ - "futures 0.1.31", - "num_cpus", -] - -[[package]] -name = "futures-executor" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", - "num_cpus", -] - -[[package]] -name = "futures-io" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" - -[[package]] -name = "futures-lite" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite 0.2.7", - "waker-fn", -] - -[[package]] -name = "futures-macro" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" -dependencies = [ - "autocfg", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-rustls" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b" -dependencies = [ - "futures-io", - "rustls 0.19.1", - "webpki", -] - -[[package]] -name = "futures-sink" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" - -[[package]] -name = "futures-task" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" - -[[package]] -name = "futures-timer" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6" - -[[package]] -name = "futures-timer" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" - -[[package]] -name = "futures-util" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" -dependencies = [ - "autocfg", - "futures 0.1.31", - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite 0.2.7", - "pin-utils", - "proc-macro-hack", - "proc-macro-nested", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - -[[package]] -name = "generic-array" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", -] - -[[package]] -name = "ghash" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" -dependencies = [ - "opaque-debug 0.3.0", - "polyval", -] - -[[package]] -name = "gimli" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" - -[[package]] -name = "globset" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" -dependencies = [ - "aho-corasick", - "bstr", - "fnv", - "log", - "regex", -] - -[[package]] -name = "gloo-timers" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "h2" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "fnv", - "futures 0.1.31", - "http 0.1.21", - "indexmap", - "log", - "slab", - "string", - "tokio-io", -] - -[[package]] -name = "h2" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" -dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.4", - "indexmap", - "slab", - "tokio 0.2.25", - "tokio-util", - "tracing", - "tracing-futures", -] - -[[package]] -name = "hash-db" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" - -[[package]] -name = "hash256-std-hasher" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" -dependencies = [ - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" -dependencies = [ - "ahash 0.4.7", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.4", -] - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76505e26b6ca3bbdbbb360b68472abbb80998c5fa5dc43672eca34f28258e138" - -[[package]] -name = "hex_fmt" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" - -[[package]] -name = "hmac" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" -dependencies = [ - "crypto-mac 0.7.0", - "digest 0.8.1", -] - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", -] - -[[package]] -name = "hmac-drbg" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" -dependencies = [ - "digest 0.8.1", - "generic-array 0.12.4", - "hmac 0.7.1", -] - -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - -[[package]] -name = "http" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" -dependencies = [ - "bytes 0.4.12", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" -dependencies = [ - "bytes 1.0.1", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "http 0.1.21", - "tokio-buf", -] - -[[package]] -name = "http-body" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" -dependencies = [ - "bytes 0.5.6", - "http 0.2.4", -] - -[[package]] -name = "httparse" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" - -[[package]] -name = "httpdate" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" - -[[package]] -name = "hyper" -version = "0.12.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "futures-cpupool", - "h2 0.1.26", - "http 0.1.21", - "http-body 0.1.0", - "httparse", - "iovec", - "itoa", - "log", - "net2", - "rustc_version", - "time", - "tokio 0.1.22", - "tokio-buf", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer", - "want 0.2.0", -] - -[[package]] -name = "hyper" -version = "0.13.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb" -dependencies = [ - "bytes 0.5.6", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.2.7", - "http 0.2.4", - "http-body 0.3.1", - "httparse", - "httpdate", - "itoa", - "pin-project 1.0.7", - "socket2 0.3.19", - "tokio 0.2.25", - "tower-service", - "tracing", - "want 0.3.0", -] - -[[package]] -name = "hyper-rustls" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6" -dependencies = [ - "bytes 0.5.6", - "ct-logs", - "futures-util", - "hyper 0.13.10", - "log", - "rustls 0.18.1", - "rustls-native-certs", - "tokio 0.2.25", - "tokio-rustls", - "webpki", -] - -[[package]] -name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "idna" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "if-addrs" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48" -dependencies = [ - "if-addrs-sys", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "if-addrs-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "if-watch" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179" -dependencies = [ - "async-io", - "futures 0.3.15", - "futures-lite", - "if-addrs", - "ipnet", - "libc", - "log", - "winapi 0.3.9", -] - -[[package]] -name = "impl-codec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp", -] - -[[package]] -name = "impl-serde" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b47ca4d2b6931707a55fce5cf66aff80e2178c8b63bbb4ecb5695cbc870ddf6f" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "indexmap" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" -dependencies = [ - "autocfg", - "hashbrown 0.11.2", -] - -[[package]] -name = "instant" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "integer-sqrt" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" -dependencies = [ - "num-traits", -] - -[[package]] -name = "intervalier" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275" -dependencies = [ - "futures 0.3.15", - "futures-timer 2.0.2", -] - -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - -[[package]] -name = "ip_network" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f" - -[[package]] -name = "ipconfig" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" -dependencies = [ - "socket2 0.3.19", - "widestring", - "winapi 0.3.9", - "winreg", -] - -[[package]] -name = "ipnet" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" - -[[package]] -name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" - -[[package]] -name = "jobserver" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "jsonrpc-client-transports" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489b9c612e60c766f751ab40fcb43cbb55a1e10bb44a9b4307ed510ca598cbd7" -dependencies = [ - "failure", - "futures 0.1.31", - "jsonrpc-core", - "jsonrpc-pubsub", - "log", - "serde", - "serde_json", - "url 1.7.2", -] - -[[package]] -name = "jsonrpc-core" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0745a6379e3edc893c84ec203589790774e4247420033e71a76d3ab4687991fa" -dependencies = [ - "futures 0.1.31", - "log", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "jsonrpc-core-client" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f764902d7b891344a0acb65625f32f6f7c6db006952143bd650209fbe7d94db" -dependencies = [ - "jsonrpc-client-transports", -] - -[[package]] -name = "jsonrpc-derive" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99a847f9ec7bb52149b2786a17c9cb260d6effc6b8eeb8c16b343a487a7563a3" -dependencies = [ - "proc-macro-crate 0.1.5", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "jsonrpc-http-server" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7" -dependencies = [ - "hyper 0.12.36", - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "net2", - "parking_lot 0.10.2", - "unicase", -] - -[[package]] -name = "jsonrpc-ipc-server" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf50e53e4eea8f421a7316c5f63e395f7bc7c4e786a6dc54d76fab6ff7aa7ce7" -dependencies = [ - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "parity-tokio-ipc", - "parking_lot 0.10.2", - "tokio-service", -] - -[[package]] -name = "jsonrpc-pubsub" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639558e0604013be9787ae52f798506ae42bf4220fe587bdc5625871cc8b9c77" -dependencies = [ - "jsonrpc-core", - "log", - "parking_lot 0.10.2", - "rand 0.7.3", - "serde", -] - -[[package]] -name = "jsonrpc-server-utils" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f1f3990650c033bd8f6bd46deac76d990f9bbfb5f8dc8c4767bf0a00392176" -dependencies = [ - "bytes 0.4.12", - "globset", - "jsonrpc-core", - "lazy_static", - "log", - "tokio 0.1.22", - "tokio-codec", - "unicase", -] - -[[package]] -name = "jsonrpc-ws-server" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6596fe75209b73a2a75ebe1dce4e60e03b88a2b25e8807b667597f6315150d22" -dependencies = [ - "jsonrpc-core", - "jsonrpc-server-utils", - "log", - "parity-ws", - "parking_lot 0.10.2", - "slab", -] - -[[package]] -name = "keccak" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - -[[package]] -name = "kvdb" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8891bd853eff90e33024195d79d578dc984c82f9e0715fcd2b525a0c19d52811" -dependencies = [ - "parity-util-mem", - "smallvec 1.6.1", -] - -[[package]] -name = "kvdb-memorydb" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a0da8e08caf08d384a620ec19bb6c9b85c84137248e202617fb91881f25912" -dependencies = [ - "kvdb", - "parity-util-mem", - "parking_lot 0.11.1", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" - -[[package]] -name = "libm" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" - -[[package]] -name = "libp2p" -version = "0.37.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b" -dependencies = [ - "atomic", - "bytes 1.0.1", - "futures 0.3.15", - "lazy_static", - "libp2p-core", - "libp2p-deflate", - "libp2p-dns", - "libp2p-floodsub", - "libp2p-gossipsub", - "libp2p-identify", - "libp2p-kad", - "libp2p-mdns", - "libp2p-mplex", - "libp2p-noise", - "libp2p-ping", - "libp2p-plaintext", - "libp2p-pnet", - "libp2p-relay", - "libp2p-request-response", - "libp2p-swarm", - "libp2p-swarm-derive", - "libp2p-tcp", - "libp2p-uds", - "libp2p-wasm-ext", - "libp2p-websocket", - "libp2p-yamux", - "parity-multiaddr", - "parking_lot 0.11.1", - "pin-project 1.0.7", - "smallvec 1.6.1", - "wasm-timer", -] - -[[package]] -name = "libp2p-core" -version = "0.28.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "554d3e7e9e65f939d66b75fd6a4c67f258fe250da61b91f46c545fc4a89b51d9" -dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "either", - "fnv", - "futures 0.3.15", - "futures-timer 3.0.2", - "lazy_static", - "libsecp256k1", - "log", - "multihash", - "multistream-select", - "parity-multiaddr", - "parking_lot 0.11.1", - "pin-project 1.0.7", - "prost", - "prost-build", - "rand 0.7.3", - "ring", - "rw-stream-sink", - "sha2 0.9.5", - "smallvec 1.6.1", - "thiserror", - "unsigned-varint 0.7.0", - "void", - "zeroize", -] - -[[package]] -name = "libp2p-deflate" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08" -dependencies = [ - "flate2", - "futures 0.3.15", - "libp2p-core", -] - -[[package]] -name = "libp2p-dns" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b" -dependencies = [ - "async-std-resolver", - "futures 0.3.15", - "libp2p-core", - "log", - "smallvec 1.6.1", - "trust-dns-resolver", -] - -[[package]] -name = "libp2p-floodsub" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48a9b570f6766301d9c4aa00fce3554cad1598e2f466debbc4dde909028417cf" -dependencies = [ - "cuckoofilter", - "fnv", - "futures 0.3.15", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "smallvec 1.6.1", -] - -[[package]] -name = "libp2p-gossipsub" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7b0c8506a6ec3344b9e706d7c7a6dba826f8ede735cfe13dde12a8c263c4af9" -dependencies = [ - "asynchronous-codec 0.6.0", - "base64 0.13.0", - "byteorder", - "bytes 1.0.1", - "fnv", - "futures 0.3.15", - "hex_fmt", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "regex", - "sha2 0.9.5", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", - "wasm-timer", -] - -[[package]] -name = "libp2p-identify" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46" -dependencies = [ - "futures 0.3.15", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "smallvec 1.6.1", - "wasm-timer", -] - -[[package]] -name = "libp2p-kad" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07312ebe5ee4fd2404447a0609814574df55c65d4e20838b957bbd34907d820" -dependencies = [ - "arrayvec 0.5.2", - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "either", - "fnv", - "futures 0.3.15", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "sha2 0.9.5", - "smallvec 1.6.1", - "uint", - "unsigned-varint 0.7.0", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-mdns" -version = "0.30.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4efa70c1c3d2d91237f8546e27aeb85e287d62c066a7b4f3ea6a696d43ced714" -dependencies = [ - "async-io", - "data-encoding", - "dns-parser", - "futures 0.3.15", - "if-watch", - "lazy_static", - "libp2p-core", - "libp2p-swarm", - "log", - "rand 0.8.4", - "smallvec 1.6.1", - "socket2 0.4.0", - "void", -] - -[[package]] -name = "libp2p-mplex" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.15", - "libp2p-core", - "log", - "nohash-hasher", - "parking_lot 0.11.1", - "rand 0.7.3", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", -] - -[[package]] -name = "libp2p-noise" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd" -dependencies = [ - "bytes 1.0.1", - "curve25519-dalek 3.1.0", - "futures 0.3.15", - "lazy_static", - "libp2p-core", - "log", - "prost", - "prost-build", - "rand 0.7.3", - "sha2 0.9.5", - "snow", - "static_assertions", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "libp2p-ping" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1" -dependencies = [ - "futures 0.3.15", - "libp2p-core", - "libp2p-swarm", - "log", - "rand 0.7.3", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-plaintext" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.15", - "libp2p-core", - "log", - "prost", - "prost-build", - "unsigned-varint 0.7.0", - "void", -] - -[[package]] -name = "libp2p-pnet" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599" -dependencies = [ - "futures 0.3.15", - "log", - "pin-project 1.0.7", - "rand 0.7.3", - "salsa20", - "sha3", -] - -[[package]] -name = "libp2p-relay" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8786aca3f18671d8776289706a5521f6c9124a820f69e358de214b9939440d" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.15", - "futures-timer 3.0.2", - "libp2p-core", - "libp2p-swarm", - "log", - "pin-project 1.0.7", - "prost", - "prost-build", - "rand 0.7.3", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-request-response" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cdbe172f08e6d0f95fa8634e273d4c4268c4063de2e33e7435194b0130c62e3" -dependencies = [ - "async-trait", - "bytes 1.0.1", - "futures 0.3.15", - "libp2p-core", - "libp2p-swarm", - "log", - "lru", - "minicbor", - "rand 0.7.3", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", - "wasm-timer", -] - -[[package]] -name = "libp2p-swarm" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92" -dependencies = [ - "either", - "futures 0.3.15", - "libp2p-core", - "log", - "rand 0.7.3", - "smallvec 1.6.1", - "void", - "wasm-timer", -] - -[[package]] -name = "libp2p-swarm-derive" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "libp2p-tcp" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9" -dependencies = [ - "async-io", - "futures 0.3.15", - "futures-timer 3.0.2", - "if-watch", - "ipnet", - "libc", - "libp2p-core", - "log", - "socket2 0.4.0", -] - -[[package]] -name = "libp2p-uds" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5" -dependencies = [ - "async-std", - "futures 0.3.15", - "libp2p-core", - "log", -] - -[[package]] -name = "libp2p-wasm-ext" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d413e4cf9b8e5dfbcd2a60d3dc5a3391308bdb463684093d4f67137b7113de" -dependencies = [ - "futures 0.3.15", - "js-sys", - "libp2p-core", - "parity-send-wrapper", - "wasm-bindgen", - "wasm-bindgen-futures", -] - -[[package]] -name = "libp2p-websocket" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74" -dependencies = [ - "either", - "futures 0.3.15", - "futures-rustls", - "libp2p-core", - "log", - "quicksink", - "rw-stream-sink", - "soketto", - "url 2.2.2", - "webpki-roots", -] - -[[package]] -name = "libp2p-yamux" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4" -dependencies = [ - "futures 0.3.15", - "libp2p-core", - "parking_lot 0.11.1", - "thiserror", - "yamux", -] - -[[package]] -name = "libsecp256k1" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" -dependencies = [ - "arrayref", - "crunchy", - "digest 0.8.1", - "hmac-drbg", - "rand 0.7.3", - "sha2 0.8.2", - "subtle 2.4.0", - "typenum", -] - -[[package]] -name = "libz-sys" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" - -[[package]] -name = "linked_hash_set" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "linregress" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6e407dadb4ca4b31bc69c27aff00e7ca4534fdcee855159b039a7cebb5f395" -dependencies = [ - "nalgebra", - "statrs", -] - -[[package]] -name = "lock_api" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "lock_api" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -dependencies = [ - "cfg-if 1.0.0", - "value-bag", -] - -[[package]] -name = "lru" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba" -dependencies = [ - "hashbrown 0.9.1", -] - -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - -[[package]] -name = "matchers" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" -dependencies = [ - "regex-automata", -] - -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" - -[[package]] -name = "matrixmultiply" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741" -dependencies = [ - "rawpointer", -] - -[[package]] -name = "max-encoded-len" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "impl-trait-for-tuples", - "max-encoded-len-derive", - "parity-scale-codec", - "primitive-types", -] - -[[package]] -name = "max-encoded-len-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - -[[package]] -name = "memchr" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" - -[[package]] -name = "memoffset" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memory-db" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "814bbecfc0451fc314eeea34f05bbcd5b98a7ad7af37faee088b86a1e633f1d4" -dependencies = [ - "hash-db", - "hashbrown 0.9.1", - "parity-util-mem", -] - -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - -[[package]] -name = "merlin" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.5.1", - "zeroize", -] - -[[package]] -name = "minicbor" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51aa5bb0ca22415daca596a227b507f880ad1b2318a87fa9325312a5d285ca0d" -dependencies = [ - "minicbor-derive", -] - -[[package]] -name = "minicbor-derive" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2b9e8883d58e34b18facd16c4564a77ea50fce028ad3d0ee6753440e37acc8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "miniz_oxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg", -] - -[[package]] -name = "mio" -version = "0.6.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" -dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", - "libc", - "log", - "miow 0.2.2", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "mio-extras" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio", - "slab", -] - -[[package]] -name = "mio-named-pipes" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" -dependencies = [ - "log", - "mio", - "miow 0.3.7", - "winapi 0.3.9", -] - -[[package]] -name = "mio-uds" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" -dependencies = [ - "iovec", - "libc", - "mio", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "multibase" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b78c60039650ff12e140ae867ef5299a58e19dded4d334c849dc7177083667e2" -dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", -] - -[[package]] -name = "multihash" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab" -dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", - "digest 0.9.0", - "generic-array 0.14.4", - "multihash-derive", - "sha2 0.9.5", - "sha3", - "unsigned-varint 0.5.1", -] - -[[package]] -name = "multihash-derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - -[[package]] -name = "multistream-select" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8" -dependencies = [ - "bytes 1.0.1", - "futures 0.3.15", - "log", - "pin-project 1.0.7", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", -] - -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" -dependencies = [ - "approx", - "matrixmultiply", - "nalgebra-macros", - "num-complex", - "num-rational 0.4.0", - "num-traits", - "rand 0.8.4", - "rand_distr", - "simba", - "typenum", -] - -[[package]] -name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "net2" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" -dependencies = [ - "parking_lot 0.11.1", -] - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "openssl-probe" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" - -[[package]] -name = "orml-traits" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=master#443ee91bc2ca5f1fc155c0378eef6e89b67e2e97" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "num-traits", - "orml-utilities", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", -] - -[[package]] -name = "orml-utilities" -version = "0.4.1-dev" -source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=master#443ee91bc2ca5f1fc155c0378eef6e89b67e2e97" -dependencies = [ - "frame-support", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-assets" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "max-encoded-len", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-authority-discovery" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "pallet-session", - "parity-scale-codec", - "sp-application-crypto", - "sp-authority-discovery", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-authorship" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-authorship", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-babe" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "pallet-timestamp", - "parity-scale-codec", - "sp-application-crypto", - "sp-consensus-babe", - "sp-consensus-vrf", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-balances" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "max-encoded-len", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-beefy" -version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.7#299dd5fd3fabd99c3c919f1312001283ddc5b365" -dependencies = [ - "beefy-primitives", - "frame-support", - "frame-system", - "pallet-session", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-bounties" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "pallet-treasury", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-collective" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-democracy" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-election-provider-multi-phase" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-npos-elections", - "sp-runtime", - "sp-std", - "static_assertions", -] - -[[package]] -name = "pallet-elections-phragmen" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-npos-elections", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-grandpa" -version = "3.1.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "sp-application-crypto", - "sp-core", - "sp-finality-grandpa", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-identity" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-im-online" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "parity-scale-codec", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-indices" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-membership" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-mmr" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "ckb-merkle-mountain-range", - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-mmr-primitives", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-mmr-primitives" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "serde", - "sp-api", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-multisig" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-nicks" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-offences" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-proxy" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "max-encoded-len", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-randomness-collective-flip" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "safe-mix", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-scheduler" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-session" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-trie", -] - -[[package]] -name = "pallet-staking" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "paste", - "serde", - "sp-application-crypto", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", - "static_assertions", -] - -[[package]] -name = "pallet-staking-reward-curve" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pallet-timestamp" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", - "sp-timestamp", -] - -[[package]] -name = "pallet-tips" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "pallet-treasury", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-transaction-payment" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "smallvec 1.6.1", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "pallet-transaction-payment", - "parity-scale-codec", - "sp-api", - "sp-runtime", -] - -[[package]] -name = "pallet-treasury" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-utility" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-vesting" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "enumflags2", - "frame-support", - "frame-system", - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-xcm" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "parachain-info" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", -] - -[[package]] -name = "parity-multiaddr" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4" -dependencies = [ - "arrayref", - "bs58", - "byteorder", - "data-encoding", - "multihash", - "percent-encoding 2.1.0", - "serde", - "static_assertions", - "unsigned-varint 0.7.0", - "url 2.2.2", -] - -[[package]] -name = "parity-scale-codec" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8975095a2a03bbbdc70a74ab11a4f76a6d0b84680d87c68d722531b0ac28e8a9" -dependencies = [ - "arrayvec 0.7.1", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40dbbfef7f0a1143c5b06e0d76a6278e25dac0bc1af4be51a0fbb73f07e7ad09" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" - -[[package]] -name = "parity-tokio-ipc" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "libc", - "log", - "mio-named-pipes", - "miow 0.3.7", - "rand 0.7.3", - "tokio 0.1.22", - "tokio-named-pipes", - "tokio-uds", - "winapi 0.3.9", -] - -[[package]] -name = "parity-util-mem" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42" -dependencies = [ - "cfg-if 1.0.0", - "ethereum-types", - "hashbrown 0.9.1", - "impl-trait-for-tuples", - "lru", - "parity-util-mem-derive", - "parking_lot 0.11.1", - "primitive-types", - "smallvec 1.6.1", - "winapi 0.3.9", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2", - "syn", - "synstructure", -] - -[[package]] -name = "parity-wasm" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" -dependencies = [ - "byteorder", -] - -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - -[[package]] -name = "parity-ws" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio", - "mio-extras", - "rand 0.7.3", - "sha-1 0.8.2", - "slab", - "url 2.2.2", -] - -[[package]] -name = "parking" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" - -[[package]] -name = "parking_lot" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.6.2", - "rustc_version", -] - -[[package]] -name = "parking_lot" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.7.2", -] - -[[package]] -name = "parking_lot" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" -dependencies = [ - "instant", - "lock_api 0.4.4", - "parking_lot_core 0.8.3", -] - -[[package]] -name = "parking_lot_core" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" -dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "rustc_version", - "smallvec 0.6.14", - "winapi 0.3.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" -dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "smallvec 1.6.1", - "winapi 0.3.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" -dependencies = [ - "cfg-if 1.0.0", - "instant", - "libc", - "redox_syscall 0.2.9", - "smallvec 1.6.1", - "winapi 0.3.9", -] - -[[package]] -name = "paste" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" - -[[package]] -name = "pbkdf2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -dependencies = [ - "byteorder", - "crypto-mac 0.7.0", -] - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac 0.8.0", -] - -[[package]] -name = "pdqselect" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" - -[[package]] -name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pest" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" -dependencies = [ - "ucd-trie", -] - -[[package]] -name = "petgraph" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" -dependencies = [ - "fixedbitset", - "indexmap", -] - -[[package]] -name = "pin-project" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f" -dependencies = [ - "pin-project-internal 0.4.28", -] - -[[package]] -name = "pin-project" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4" -dependencies = [ - "pin-project-internal 1.0.7", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-internal" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - -[[package]] -name = "pin-project-lite" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" - -[[package]] -name = "polkadot-client" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "beefy-primitives", - "frame-benchmarking", - "frame-system-rpc-runtime-api", - "pallet-mmr-primitives", - "pallet-transaction-payment-rpc-runtime-api", - "polkadot-primitives", - "polkadot-runtime", - "sc-client-api", - "sc-executor", - "sc-service", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-finality-grandpa", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-storage", - "sp-transaction-pool", -] - -[[package]] -name = "polkadot-core-primitives" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "parity-scale-codec", - "parity-util-mem", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "polkadot-parachain" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "derive_more", - "parity-scale-codec", - "parity-util-mem", - "polkadot-core-primitives", - "serde", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "polkadot-primitives" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "bitvec", - "frame-system", - "hex-literal", - "parity-scale-codec", - "parity-util-mem", - "polkadot-core-primitives", - "polkadot-parachain", - "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-authority-discovery", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-staking", - "sp-std", - "sp-trie", - "sp-version", - "thiserror", -] - -[[package]] -name = "polkadot-runtime" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "beefy-primitives", - "bitvec", - "frame-election-provider-support", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "log", - "max-encoded-len", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-babe", - "pallet-balances", - "pallet-bounties", - "pallet-collective", - "pallet-democracy", - "pallet-election-provider-multi-phase", - "pallet-elections-phragmen", - "pallet-grandpa", - "pallet-identity", - "pallet-im-online", - "pallet-indices", - "pallet-membership", - "pallet-mmr-primitives", - "pallet-multisig", - "pallet-nicks", - "pallet-offences", - "pallet-proxy", - "pallet-randomness-collective-flip", - "pallet-scheduler", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "pallet-tips", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", - "pallet-utility", - "pallet-vesting", - "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime-common", - "rustc-hex", - "serde", - "serde_derive", - "smallvec 1.6.1", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", - "sp-core", - "sp-inherents", - "sp-io", - "sp-npos-elections", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-transaction-pool", - "sp-version", - "static_assertions", - "substrate-wasm-builder", -] - -[[package]] -name = "polkadot-runtime-common" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "beefy-primitives", - "bitvec", - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "libsecp256k1", - "log", - "pallet-authorship", - "pallet-balances", - "pallet-beefy", - "pallet-mmr", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-treasury", - "pallet-vesting", - "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime-parachains", - "rustc-hex", - "serde", - "serde_derive", - "slot-range-helper", - "sp-api", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "static_assertions", - "xcm", -] - -[[package]] -name = "polkadot-runtime-parachains" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "bitvec", - "derive_more", - "frame-support", - "frame-system", - "log", - "pallet-authority-discovery", - "pallet-authorship", - "pallet-balances", - "pallet-offences", - "pallet-session", - "pallet-staking", - "pallet-timestamp", - "pallet-vesting", - "parity-scale-codec", - "polkadot-primitives", - "rand 0.8.4", - "rand_chacha 0.3.1", - "rustc-hex", - "serde", - "sp-api", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "polling" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "log", - "wepoll-ffi", - "winapi 0.3.9", -] - -[[package]] -name = "poly1305" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8" -dependencies = [ - "cpuid-bool", - "universal-hash", -] - -[[package]] -name = "polyval" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" -dependencies = [ - "cpuid-bool", - "opaque-debug 0.3.0", - "universal-hash", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" - -[[package]] -name = "primitive-types" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06345ee39fbccfb06ab45f3a1a5798d9dafa04cb8921a76d227040003a234b0e" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "uint", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml", -] - -[[package]] -name = "proc-macro-crate" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" -dependencies = [ - "thiserror", - "toml", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - -[[package]] -name = "proc-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" - -[[package]] -name = "proc-macro2" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "prometheus" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8425533e7122f0c3cc7a37e6244b16ad3a2cc32ae7ac6276e2a75da0d9c200d" -dependencies = [ - "cfg-if 1.0.0", - "fnv", - "lazy_static", - "parking_lot 0.11.1", - "regex", - "thiserror", -] - -[[package]] -name = "prost" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2" -dependencies = [ - "bytes 1.0.1", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3" -dependencies = [ - "bytes 1.0.1", - "heck", - "itertools", - "log", - "multimap", - "petgraph", - "prost", - "prost-types", - "tempfile", - "which", -] - -[[package]] -name = "prost-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "prost-types" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb" -dependencies = [ - "bytes 1.0.1", - "prost", -] - -[[package]] -name = "pwasm-utils" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c1a2f10b47d446372a4f397c58b329aaea72b2daf9395a623a411cb8ccb54f" -dependencies = [ - "byteorder", - "log", - "parity-wasm 0.42.2", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quicksink" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" -dependencies = [ - "futures-core", - "futures-sink", - "pin-project-lite 0.1.12", -] - -[[package]] -name = "quote" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", - "rand_pcg", -] - -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.3", - "rand_hc 0.3.1", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.3", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom 0.2.3", -] - -[[package]] -name = "rand_distr" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142" -dependencies = [ - "num-traits", - "rand 0.8.4", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core 0.6.3", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "redox_syscall" -version = "0.1.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" - -[[package]] -name = "redox_syscall" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" -dependencies = [ - "getrandom 0.2.3", - "redox_syscall 0.2.9", -] - -[[package]] -name = "ref-cast" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "regex" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", -] - -[[package]] -name = "retain_mut" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9c17925a9027d298a4603d286befe3f9dc0e8ed02523141914eb628798d6e5b" - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted", - "web-sys", - "winapi 0.3.9", -] - -[[package]] -name = "rlp" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8" -dependencies = [ - "bytes 1.0.1", - "rustc-hex", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - -[[package]] -name = "rustls" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" -dependencies = [ - "base64 0.12.3", - "log", - "ring", - "sct", - "webpki", -] - -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.0", - "log", - "ring", - "sct", - "webpki", -] - -[[package]] -name = "rustls-native-certs" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8" -dependencies = [ - "openssl-probe", - "rustls 0.18.1", - "schannel", - "security-framework", -] - -[[package]] -name = "ruzstd" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cada0ef59efa6a5f4dc5e491f93d9f31e3fc7758df421ff1de8a706338e1100" -dependencies = [ - "byteorder", - "twox-hash", -] - -[[package]] -name = "rw-stream-sink" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" -dependencies = [ - "futures 0.3.15", - "pin-project 0.4.28", - "static_assertions", -] - -[[package]] -name = "ryu" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" - -[[package]] -name = "safe-mix" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" -dependencies = [ - "rustc_version", -] - -[[package]] -name = "salsa20" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15" -dependencies = [ - "cipher", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "sc-block-builder" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "sc-client-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "sc-chain-spec" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "sc-chain-spec-derive", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-finality-grandpa", - "sc-network", - "sc-telemetry", - "serde", - "serde_json", - "sp-chain-spec", - "sp-consensus-babe", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "sc-chain-spec-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sc-client-api" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "derive_more", - "fnv", - "futures 0.3.15", - "hash-db", - "kvdb", - "lazy_static", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-executor", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-externalities", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-storage", - "sp-transaction-pool", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-client-db" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "blake2-rfc", - "hash-db", - "kvdb", - "kvdb-memorydb", - "linked-hash-map", - "log", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "sc-client-api", - "sc-executor", - "sc-state-db", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-consensus" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parking_lot 0.11.1", - "sc-client-api", - "sp-blockchain", - "sp-consensus", - "sp-runtime", -] - -[[package]] -name = "sc-consensus-babe" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "derive_more", - "fork-tree", - "futures 0.3.15", - "futures-timer 3.0.2", - "log", - "merlin", - "num-bigint", - "num-rational 0.2.4", - "num-traits", - "parity-scale-codec", - "parking_lot 0.11.1", - "pdqselect", - "rand 0.7.3", - "retain_mut", - "sc-client-api", - "sc-consensus-epochs", - "sc-consensus-slots", - "sc-consensus-uncles", - "sc-keystore", - "sc-telemetry", - "schnorrkel", - "serde", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-consensus-vrf", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-consensus-epochs" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "fork-tree", - "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sp-blockchain", - "sp-runtime", -] - -[[package]] -name = "sc-consensus-slots" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "futures 0.3.15", - "futures-timer 3.0.2", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-timestamp", - "sp-trie", - "thiserror", -] - -[[package]] -name = "sc-consensus-uncles" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "sc-client-api", - "sp-authorship", - "sp-runtime", - "thiserror", -] - -[[package]] -name = "sc-executor" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "derive_more", - "lazy_static", - "libsecp256k1", - "log", - "parity-scale-codec", - "parity-wasm 0.42.2", - "parking_lot 0.11.1", - "sc-executor-common", - "sc-executor-wasmi", - "sp-api", - "sp-core", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", - "sp-serializer", - "sp-tasks", - "sp-trie", - "sp-version", - "sp-wasm-interface", - "wasmi", -] - -[[package]] -name = "sc-executor-common" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "derive_more", - "parity-scale-codec", - "pwasm-utils", - "sp-allocator", - "sp-core", - "sp-maybe-compressed-blob", - "sp-serializer", - "sp-wasm-interface", - "thiserror", - "wasmi", -] - -[[package]] -name = "sc-executor-wasmi" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "log", - "parity-scale-codec", - "sc-executor-common", - "sp-allocator", - "sp-core", - "sp-runtime-interface", - "sp-wasm-interface", - "wasmi", -] - -[[package]] -name = "sc-finality-grandpa" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "derive_more", - "dyn-clone", - "finality-grandpa", - "fork-tree", - "futures 0.3.15", - "futures-timer 3.0.2", - "linked-hash-map", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "pin-project 1.0.7", - "rand 0.7.3", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-keystore", - "sc-network", - "sc-network-gossip", - "sc-telemetry", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-finality-grandpa", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-utils", - "substrate-prometheus-endpoint", - "wasm-timer", -] - -[[package]] -name = "sc-informant" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "ansi_term", - "futures 0.3.15", - "futures-timer 3.0.2", - "log", - "parity-util-mem", - "sc-client-api", - "sc-network", - "sp-blockchain", - "sp-runtime", - "sp-transaction-pool", - "wasm-timer", -] - -[[package]] -name = "sc-keystore" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "derive_more", - "futures 0.3.15", - "futures-util", - "hex", - "merlin", - "parking_lot 0.11.1", - "rand 0.7.3", - "serde_json", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "subtle 2.4.0", -] - -[[package]] -name = "sc-light" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "hash-db", - "lazy_static", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-client-api", - "sc-executor", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-externalities", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "sc-network" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-std", - "async-trait", - "asynchronous-codec 0.5.0", - "bitflags", - "bs58", - "bytes 1.0.1", - "cid", - "derive_more", - "either", - "erased-serde", - "fnv", - "fork-tree", - "futures 0.3.15", - "futures-timer 3.0.2", - "hex", - "ip_network", - "libp2p", - "linked-hash-map", - "linked_hash_set", - "log", - "lru", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.11.1", - "pin-project 1.0.7", - "prost", - "prost-build", - "rand 0.7.3", - "sc-block-builder", - "sc-client-api", - "sc-peerset", - "serde", - "serde_json", - "smallvec 1.6.1", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-utils", - "substrate-prometheus-endpoint", - "thiserror", - "unsigned-varint 0.6.0", - "void", - "wasm-timer", - "zeroize", -] - -[[package]] -name = "sc-network-gossip" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.3.15", - "futures-timer 3.0.2", - "libp2p", - "log", - "lru", - "sc-network", - "sp-runtime", - "substrate-prometheus-endpoint", - "tracing", - "wasm-timer", -] - -[[package]] -name = "sc-offchain" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "bytes 0.5.6", - "fnv", - "futures 0.3.15", - "futures-timer 3.0.2", - "hex", - "hyper 0.13.10", - "hyper-rustls", - "log", - "num_cpus", - "parity-scale-codec", - "parking_lot 0.11.1", - "rand 0.7.3", - "sc-client-api", - "sc-keystore", - "sc-network", - "sp-api", - "sp-core", - "sp-offchain", - "sp-runtime", - "sp-utils", - "threadpool", -] - -[[package]] -name = "sc-peerset" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.3.15", - "libp2p", - "log", - "serde_json", - "sp-utils", - "wasm-timer", -] - -[[package]] -name = "sc-rpc" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.3.15", - "hash-db", - "jsonrpc-core", - "jsonrpc-pubsub", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-block-builder", - "sc-client-api", - "sc-executor", - "sc-keystore", - "sc-rpc-api", - "sc-tracing", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-chain-spec", - "sp-core", - "sp-keystore", - "sp-offchain", - "sp-rpc", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-tracing", - "sp-transaction-pool", - "sp-utils", - "sp-version", -] - -[[package]] -name = "sc-rpc-api" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "derive_more", - "futures 0.3.15", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "jsonrpc-pubsub", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "serde", - "serde_json", - "sp-chain-spec", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-tracing", - "sp-transaction-pool", - "sp-version", -] - -[[package]] -name = "sc-rpc-server" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.1.31", - "jsonrpc-core", - "jsonrpc-http-server", - "jsonrpc-ipc-server", - "jsonrpc-pubsub", - "jsonrpc-ws-server", - "log", - "serde", - "serde_json", - "sp-runtime", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-service" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "directories", - "exit-future", - "futures 0.1.31", - "futures 0.3.15", - "futures-timer 3.0.2", - "hash-db", - "jsonrpc-core", - "jsonrpc-pubsub", - "lazy_static", - "log", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "pin-project 1.0.7", - "rand 0.7.3", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-client-db", - "sc-executor", - "sc-informant", - "sc-keystore", - "sc-light", - "sc-network", - "sc-offchain", - "sc-rpc", - "sc-rpc-server", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "serde", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-tracing", - "sp-transaction-pool", - "sp-transaction-storage-proof", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", - "tempfile", - "thiserror", - "tracing", - "tracing-futures", - "wasm-timer", -] - -[[package]] -name = "sc-state-db" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "log", - "parity-scale-codec", - "parity-util-mem", - "parity-util-mem-derive", - "parking_lot 0.11.1", - "sc-client-api", - "sp-core", - "thiserror", -] - -[[package]] -name = "sc-telemetry" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "chrono", - "futures 0.3.15", - "libp2p", - "log", - "parking_lot 0.11.1", - "pin-project 1.0.7", - "rand 0.7.3", - "serde", - "serde_json", - "take_mut", - "thiserror", - "void", - "wasm-timer", -] - -[[package]] -name = "sc-tracing" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "ansi_term", - "atty", - "erased-serde", - "lazy_static", - "log", - "once_cell", - "parking_lot 0.11.1", - "regex", - "rustc-hash", - "sc-client-api", - "sc-rpc-server", - "sc-telemetry", - "sc-tracing-proc-macro", - "serde", - "serde_json", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-storage", - "sp-tracing", - "thiserror", - "tracing", - "tracing-log", - "tracing-subscriber", - "wasm-bindgen", - "wasm-timer", - "web-sys", -] - -[[package]] -name = "sc-tracing-proc-macro" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sc-transaction-graph" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "derive_more", - "futures 0.3.15", - "linked-hash-map", - "log", - "parity-util-mem", - "parking_lot 0.11.1", - "retain_mut", - "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-transaction-pool", - "sp-utils", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sc-transaction-pool" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.3.15", - "intervalier", - "log", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "sc-client-api", - "sc-transaction-graph", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-tracing", - "sp-transaction-pool", - "sp-utils", - "substrate-prometheus-endpoint", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "schannel" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" -dependencies = [ - "lazy_static", - "winapi 0.3.9", -] - -[[package]] -name = "schnorrkel" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "curve25519-dalek 2.1.2", - "getrandom 0.1.16", - "merlin", - "rand 0.7.3", - "rand_core 0.5.1", - "sha2 0.8.2", - "subtle 2.4.0", - "zeroize", -] - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "secrecy" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0673d6a6449f5e7d12a1caf424fd9363e2af3a4953023ed455e3c4beef4597c0" -dependencies = [ - "zeroize", -] - -[[package]] -name = "security-framework" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad502866817f0575705bd7be36e2b2535cc33262d493aa733a2ec862baa2bc2b" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ceb04988b17b6d1dcd555390fa822ca5637b4a14e1f5099f13d351bed4d6c7" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" -dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser 0.10.2", - "serde", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] - -[[package]] -name = "serde" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha-1" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - -[[package]] -name = "sha-1" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - -[[package]] -name = "sha2" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sharded-slab" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "signal-hook" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" - -[[package]] -name = "simba" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" -dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", -] - -[[package]] -name = "slab" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" - -[[package]] -name = "slog" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" -dependencies = [ - "erased-serde", -] - -[[package]] -name = "slot-range-helper" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "enumn", - "parity-scale-codec", - "paste", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "smallvec" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" -dependencies = [ - "maybe-uninit", -] - -[[package]] -name = "smallvec" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" - -[[package]] -name = "snow" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795dd7aeeee24468e5a32661f6d27f7b5cbed802031b2d7640c7b10f8fb2dd50" -dependencies = [ - "aes-gcm", - "blake2", - "chacha20poly1305", - "rand 0.7.3", - "rand_core 0.5.1", - "ring", - "rustc_version", - "sha2 0.9.5", - "subtle 2.4.0", - "x25519-dalek", -] - -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "socket2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" -dependencies = [ - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "soketto" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c71ed3d54db0a699f4948e1bb3e45b450fa31fe602621dee6680361d569c88" -dependencies = [ - "base64 0.12.3", - "bytes 0.5.6", - "flate2", - "futures 0.3.15", - "httparse", - "log", - "rand 0.7.3", - "sha-1 0.9.6", -] - -[[package]] -name = "sp-allocator" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "log", - "sp-core", - "sp-std", - "sp-wasm-interface", - "thiserror", -] - -[[package]] -name = "sp-api" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "sp-api-proc-macro", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-version", - "thiserror", -] - -[[package]] -name = "sp-api-proc-macro" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "blake2-rfc", - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-application-crypto" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "max-encoded-len", - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-std", -] - -[[package]] -name = "sp-arithmetic" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "serde", - "sp-debug-derive", - "sp-std", - "static_assertions", -] - -[[package]] -name = "sp-authority-discovery" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-authorship" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-block-builder" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-blockchain" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.3.15", - "log", - "lru", - "parity-scale-codec", - "parking_lot 0.11.1", - "sp-api", - "sp-consensus", - "sp-database", - "sp-runtime", - "sp-state-machine", - "thiserror", -] - -[[package]] -name = "sp-chain-spec" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "sp-consensus" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "futures 0.3.15", - "futures-timer 3.0.2", - "libp2p", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "serde", - "sp-api", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "sp-utils", - "sp-version", - "substrate-prometheus-endpoint", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sp-consensus-babe" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "merlin", - "parity-scale-codec", - "serde", - "sp-api", - "sp-application-crypto", - "sp-consensus", - "sp-consensus-slots", - "sp-consensus-vrf", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-std", - "sp-timestamp", -] - -[[package]] -name = "sp-consensus-slots" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "sp-arithmetic", - "sp-runtime", -] - -[[package]] -name = "sp-consensus-vrf" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "schnorrkel", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-core" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "base58", - "blake2-rfc", - "byteorder", - "dyn-clonable", - "ed25519-dalek", - "futures 0.3.15", - "hash-db", - "hash256-std-hasher", - "hex", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log", - "max-encoded-len", - "merlin", - "num-traits", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.11.1", - "primitive-types", - "rand 0.7.3", - "regex", - "schnorrkel", - "secrecy", - "serde", - "sha2 0.9.5", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "tiny-keccak", - "twox-hash", - "wasmi", - "zeroize", -] - -[[package]] -name = "sp-database" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "kvdb", - "parking_lot 0.11.1", -] - -[[package]] -name = "sp-debug-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-externalities" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std", - "sp-storage", -] - -[[package]] -name = "sp-finality-grandpa" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-inherents" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-std", - "thiserror", -] - -[[package]] -name = "sp-io" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.3.15", - "hash-db", - "libsecp256k1", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-maybe-compressed-blob", - "sp-runtime-interface", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-wasm-interface", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-keyring" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "lazy_static", - "sp-core", - "sp-runtime", - "strum", -] - -[[package]] -name = "sp-keystore" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "derive_more", - "futures 0.3.15", - "merlin", - "parity-scale-codec", - "parking_lot 0.11.1", - "schnorrkel", - "serde", - "sp-core", - "sp-externalities", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "ruzstd", - "zstd", -] - -[[package]] -name = "sp-npos-elections" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "serde", - "sp-arithmetic", - "sp-core", - "sp-npos-elections-compact", - "sp-std", -] - -[[package]] -name = "sp-npos-elections-compact" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-offchain" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "sp-api", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "sp-panic-handler" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "backtrace", -] - -[[package]] -name = "sp-rpc" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "rustc-hash", - "serde", - "sp-core", - "tracing-core", -] - -[[package]] -name = "sp-runtime" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "max-encoded-len", - "parity-scale-codec", - "parity-util-mem", - "paste", - "rand 0.7.3", - "serde", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", -] - -[[package]] -name = "sp-runtime-interface" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "Inflector", - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-serializer" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "sp-session" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-core", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "sp-staking" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-state-machine" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "hash-db", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.11.1", - "rand 0.7.3", - "smallvec 1.6.1", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-std", - "sp-trie", - "thiserror", - "tracing", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-std" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" - -[[package]] -name = "sp-storage" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive", - "sp-std", -] - -[[package]] -name = "sp-tasks" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "log", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime-interface", - "sp-std", -] - -[[package]] -name = "sp-timestamp" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "futures-timer 3.0.2", - "log", - "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime", - "sp-std", - "thiserror", - "wasm-timer", -] - -[[package]] -name = "sp-tracing" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "erased-serde", - "log", - "parity-scale-codec", - "parking_lot 0.10.2", - "serde", - "serde_json", - "slog", - "sp-std", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-transaction-pool" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "derive_more", - "futures 0.3.15", - "log", - "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-runtime", - "thiserror", -] - -[[package]] -name = "sp-transaction-storage-proof" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-trait", - "log", - "parity-scale-codec", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-std", - "sp-trie", -] - -[[package]] -name = "sp-trie" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "hash-db", - "memory-db", - "parity-scale-codec", - "sp-core", - "sp-std", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-utils" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "futures 0.3.15", - "futures-core", - "futures-timer 3.0.2", - "lazy_static", - "prometheus", -] - -[[package]] -name = "sp-version" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "serde", - "sp-runtime", - "sp-std", - "sp-version-proc-macro", -] - -[[package]] -name = "sp-version-proc-macro" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "parity-scale-codec", - "proc-macro-crate 1.0.0", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-wasm-interface" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-std", - "wasmi", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "statrs" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" -dependencies = [ - "approx", - "lazy_static", - "nalgebra", - "num-traits", - "rand 0.8.4", -] - -[[package]] -name = "stream-cipher" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c80e15f898d8d8f25db24c253ea615cc14acf418ff307822995814e7d42cfa89" -dependencies = [ - "block-cipher", - "generic-array 0.14.4", -] - -[[package]] -name = "string" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" -dependencies = [ - "bytes 0.4.12", -] - -[[package]] -name = "strum" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "substrate-bip39" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236" -dependencies = [ - "hmac 0.7.1", - "pbkdf2 0.3.0", - "schnorrkel", - "sha2 0.8.2", - "zeroize", -] - -[[package]] -name = "substrate-prometheus-endpoint" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" -dependencies = [ - "async-std", - "derive_more", - "futures-util", - "hyper 0.13.10", - "log", - "prometheus", - "tokio 0.2.25", -] - -[[package]] -name = "substrate-wasm-builder" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79091baab813855ddf65b191de9fe53e656b6b67c1e9bd23fdcbff8788164684" -dependencies = [ - "ansi_term", - "atty", - "build-helper", - "cargo_metadata", - "tempfile", - "toml", - "walkdir", - "wasm-gc-api", -] - -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" - -[[package]] -name = "subtle" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" - -[[package]] -name = "syn" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "synstructure" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "unicode-xid", -] - -[[package]] -name = "take_mut" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "rand 0.8.4", - "redox_syscall 0.2.9", - "remove_dir_all", - "winapi 0.3.9", -] - -[[package]] -name = "thiserror" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd" -dependencies = [ - "once_cell", -] - -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", -] - -[[package]] -name = "tiny-bip39" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9e44c4759bae7f1032e286a7ef990bd9ed23fe831b7eeba0beb97484c2e59b8" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.5", - "thiserror", - "unicode-normalization", - "zeroize", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tinyvec" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - -[[package]] -name = "tokio" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "mio", - "num_cpus", - "tokio-codec", - "tokio-current-thread", - "tokio-executor", - "tokio-fs", - "tokio-io", - "tokio-reactor", - "tokio-sync", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer", - "tokio-udp", - "tokio-uds", -] - -[[package]] -name = "tokio" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" -dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "iovec", - "lazy_static", - "memchr", - "mio", - "pin-project-lite 0.1.12", - "slab", -] - -[[package]] -name = "tokio-buf" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" -dependencies = [ - "bytes 0.4.12", - "either", - "futures 0.1.31", -] - -[[package]] -name = "tokio-codec" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "tokio-io", -] - -[[package]] -name = "tokio-current-thread" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" -dependencies = [ - "futures 0.1.31", - "tokio-executor", -] - -[[package]] -name = "tokio-executor" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", -] - -[[package]] -name = "tokio-fs" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" -dependencies = [ - "futures 0.1.31", - "tokio-io", - "tokio-threadpool", -] - -[[package]] -name = "tokio-io" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "log", -] - -[[package]] -name = "tokio-named-pipes" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "mio", - "mio-named-pipes", - "tokio 0.1.22", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "lazy_static", - "log", - "mio", - "num_cpus", - "parking_lot 0.9.0", - "slab", - "tokio-executor", - "tokio-io", - "tokio-sync", -] - -[[package]] -name = "tokio-rustls" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" -dependencies = [ - "futures-core", - "rustls 0.18.1", - "tokio 0.2.25", - "webpki", -] - -[[package]] -name = "tokio-service" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" -dependencies = [ - "futures 0.1.31", -] - -[[package]] -name = "tokio-sync" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" -dependencies = [ - "fnv", - "futures 0.1.31", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "mio", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-threadpool" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" -dependencies = [ - "crossbeam-deque", - "crossbeam-queue", - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "lazy_static", - "log", - "num_cpus", - "slab", - "tokio-executor", -] - -[[package]] -name = "tokio-timer" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "slab", - "tokio-executor", -] - -[[package]] -name = "tokio-udp" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "log", - "mio", - "tokio-codec", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-uds" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "libc", - "log", - "mio", - "mio-uds", - "tokio-codec", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-util" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" -dependencies = [ - "bytes 0.5.6", - "futures-core", - "futures-sink", - "log", - "pin-project-lite 0.1.12", - "tokio 0.2.25", -] - -[[package]] -name = "toml" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" -dependencies = [ - "serde", -] - -[[package]] -name = "tower-service" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" - -[[package]] -name = "tracing" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" -dependencies = [ - "cfg-if 1.0.0", - "log", - "pin-project-lite 0.2.7", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project 1.0.7", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" -dependencies = [ - "lazy_static", - "log", - "tracing-core", -] - -[[package]] -name = "tracing-serde" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb65ea441fbb84f9f6748fd496cf7f63ec9af5bca94dd86456978d055e8eb28b" -dependencies = [ - "serde", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab69019741fca4d98be3c62d2b75254528b5432233fd8a4d2739fec20278de48" -dependencies = [ - "ansi_term", - "chrono", - "lazy_static", - "matchers", - "regex", - "serde", - "serde_json", - "sharded-slab", - "smallvec 1.6.1", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", - "tracing-serde", -] - -[[package]] -name = "trie-db" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa" -dependencies = [ - "hash-db", - "hashbrown 0.11.2", - "log", - "rustc-hex", - "smallvec 1.6.1", -] - -[[package]] -name = "trie-root" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd" -dependencies = [ - "hash-db", -] - -[[package]] -name = "trust-dns-proto" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.2.3", - "ipnet", - "lazy_static", - "log", - "rand 0.8.4", - "smallvec 1.6.1", - "thiserror", - "tinyvec", - "url 2.2.2", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770" -dependencies = [ - "cfg-if 1.0.0", - "futures-util", - "ipconfig", - "lazy_static", - "log", - "lru-cache", - "parking_lot 0.11.1", - "resolv-conf", - "smallvec 1.6.1", - "thiserror", - "trust-dns-proto", -] - -[[package]] -name = "try-lock" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" - -[[package]] -name = "twox-hash" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f8ab788026715fa63b31960869617cba39117e520eb415b0139543e325ab59" -dependencies = [ - "cfg-if 0.1.10", - "rand 0.7.3", - "static_assertions", -] - -[[package]] -name = "typenum" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" - -[[package]] -name = "ucd-trie" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" - -[[package]] -name = "uint" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" -dependencies = [ - "matches", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" - -[[package]] -name = "unicode-xid" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" - -[[package]] -name = "universal-hash" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" -dependencies = [ - "generic-array 0.14.4", - "subtle 2.4.0", -] - -[[package]] -name = "unsigned-varint" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35" - -[[package]] -name = "unsigned-varint" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2" -dependencies = [ - "asynchronous-codec 0.5.0", - "bytes 1.0.1", - "futures-io", - "futures-util", -] - -[[package]] -name = "unsigned-varint" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures-io", - "futures-util", -] - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -dependencies = [ - "idna 0.1.5", - "matches", - "percent-encoding 1.0.1", -] - -[[package]] -name = "url" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" -dependencies = [ - "form_urlencoded", - "idna 0.2.3", - "matches", - "percent-encoding 2.1.0", -] - -[[package]] -name = "value-bag" -version = "1.0.0-alpha.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae" -dependencies = [ - "ctor", - "version_check", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" - -[[package]] -name = "walkdir" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" -dependencies = [ - "same-file", - "winapi 0.3.9", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" -dependencies = [ - "futures 0.1.31", - "log", - "try-lock", -] - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasm-bindgen" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" - -[[package]] -name = "wasm-gc-api" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" -dependencies = [ - "log", - "parity-wasm 0.32.0", - "rustc-demangle", -] - -[[package]] -name = "wasm-timer" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" -dependencies = [ - "futures 0.3.15", - "js-sys", - "parking_lot 0.11.1", - "pin-utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wasmi" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ee05bba3d1d994652079893941a2ef9324d2b58a63c31b40678fb7eddd7a5a" -dependencies = [ - "downcast-rs", - "libc", - "memory_units", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation", -] - -[[package]] -name = "wasmi-validation" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb8e860796d8be48efef530b60eebf84e74a88bce107374fffb0da97d504b8" -dependencies = [ - "parity-wasm 0.42.2", -] - -[[package]] -name = "web-sys" -version = "0.3.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" -dependencies = [ - "webpki", -] - -[[package]] -name = "wepoll-ffi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" -dependencies = [ - "cc", -] - -[[package]] -name = "which" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe" -dependencies = [ - "either", - "libc", -] - -[[package]] -name = "widestring" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - -[[package]] -name = "x25519-dalek" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" -dependencies = [ - "curve25519-dalek 3.1.0", - "rand_core 0.5.1", - "zeroize", -] - -[[package]] -name = "xcm" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "derivative", - "impl-trait-for-tuples", - "parity-scale-codec", -] - -[[package]] -name = "xcm-builder" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-transaction-payment", - "parity-scale-codec", - "polkadot-parachain", - "sp-arithmetic", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "xcm-calls" -version = "0.0.1" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "serde", -] - -[[package]] -name = "xcm-executor" -version = "0.9.7" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" -dependencies = [ - "frame-support", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", -] - -[[package]] -name = "xcm-simulator" -version = "0.1.0" -source = "git+https://github.com/shaunxw/xcm-simulator?branch=master#fcebc2a0308aad3d8cab0081881530cd0a0a3d69" -dependencies = [ - "cumulus-pallet-dmp-queue", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "frame-support", - "parity-scale-codec", - "paste", - "polkadot-runtime-parachains", - "sp-io", - "sp-std", - "xcm", - "xcm-executor", -] - -[[package]] -name = "xcm-test-support" -version = "0.0.1" -dependencies = [ - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "frame-election-provider-support", - "frame-support", - "frame-system", - "max-encoded-len", - "orml-traits", - "pallet-assets", - "pallet-balances", - "pallet-proxy", - "pallet-session", - "pallet-staking", - "pallet-staking-reward-curve", - "pallet-timestamp", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "polkadot-parachain", - "polkadot-runtime-parachains", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-std", - "xcm", - "xcm-builder", - "xcm-calls", - "xcm-executor", - "xcm-simulator", -] - -[[package]] -name = "yamux" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" -dependencies = [ - "futures 0.3.15", - "log", - "nohash-hasher", - "parking_lot 0.11.1", - "rand 0.8.4", - "static_assertions", -] - -[[package]] -name = "zeroize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2c1e130bebaeab2f23886bf9acbaca14b092408c452543c857f66399cd6dab1" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zstd" -version = "0.6.1+zstd.1.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de55e77f798f205d8561b8fe2ef57abfb6e0ff2abe7fd3c089e119cdb5631a3" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "3.0.1+zstd.1.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1387cabcd938127b30ce78c4bf00b30387dddf704e3f0881dbc4ff62b5566f8c" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "1.4.20+zstd.1.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd5b733d7cf2d9447e2c3e76a5589b4f5e5ae065c22a2bc0b023cbc331b6c8e" -dependencies = [ - "cc", - "libc", -] diff --git a/test-utils/xcm-test-support/Cargo.toml b/test-utils/xcm-test-support/Cargo.toml deleted file mode 100644 index cabaf31d0e..0000000000 --- a/test-utils/xcm-test-support/Cargo.toml +++ /dev/null @@ -1,57 +0,0 @@ -[package] -authors = ['ChainSafe Systems'] -description = 'Support for testing xcm within PINT.' -edition = '2018' -license = 'LGPL-3.0-only' -name = 'xcm-test-support' -readme = 'README.md' -repository = 'https://github.com/ChainSafe/PINT/' -version = '0.0.1' - -[dependencies] -serde = { version = "1.0.101", features = ["derive"], optional = true } -codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } - -frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } -sp-staking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -frame-election-provider-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - - -## Substrate Pallet Dependencies -pallet-assets = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -pallet-staking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -pallet-proxy = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9'} -pallet-staking-reward-curve = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } -pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } - -# cumulus -cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } -cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } -cumulus-pallet-xcm = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } -parachain-info = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } - -# polkadot -polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } -xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } -xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } -xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } -pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } -polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } - -# orml -orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master' } - -# pint -xcm-calls = { path = "../../primitives/xcm-calls" } - -[package.metadata.docs.rs] -targets = ['x86_64-unknown-linux-gnu'] \ No newline at end of file diff --git a/test-utils/xcm-test-support/README.md b/test-utils/xcm-test-support/README.md deleted file mode 100644 index 76d2f1848e..0000000000 --- a/test-utils/xcm-test-support/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Test runtime for relay chain - -Import this directly with - -```rust -#[path="../../../test-utils/xcm-test-support/src/lib.rs"] mod xcm_test_support; -``` - -Importing module must implement: - -```rust -pub fn relay_ext() -> sp_io::TestExternalities {..} -``` \ No newline at end of file diff --git a/test-utils/xcm-test-support/src/lib.rs b/test-utils/xcm-test-support/src/lib.rs deleted file mode 100644 index 695347bdf9..0000000000 --- a/test-utils/xcm-test-support/src/lib.rs +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -// enabled so unused types don't emit a warning -#![allow(dead_code)] - -/// Basic relay config -use xcm_simulator::decl_test_relay_chain; - -/// Relay chain runtime -pub mod relay; - -decl_test_relay_chain! { - pub struct Relay { - Runtime = relay::Runtime, - XcmConfig = relay::XcmConfig, - new_ext = super::relay_ext(), - } -} - -/// Common types used for tests -pub mod types { - use sp_runtime::{traits::IdentityLookup, AccountId32}; - - pub type AccountId = AccountId32; - - pub type BlockNumber = u64; - - pub type Balance = u128; - - pub type Amount = i128; - - pub type AssetId = u32; - - pub type Lookup = IdentityLookup; - - pub type AccountLookupSource = AccountId; -} - -/// Basic converter types -pub mod convert { - use super::types::*; - use xcm::v0::{Junction, MultiLocation, NetworkId}; - - pub struct AccountId32Convert; - impl sp_runtime::traits::Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> [u8; 32] { - account_id.into() - } - } - - impl sp_runtime::traits::Convert for AccountId32Convert { - fn convert(account_id: AccountId) -> MultiLocation { - Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() - } - } -} - -/// Support for call encoders -pub mod calls { - use frame_support::sp_std::marker::PhantomData; - use orml_traits::{parameter_type_with_key, GetByKey}; - - use xcm_calls::{ - proxy::{ProxyCallEncoder, ProxyType}, - staking::StakingCallEncoder, - PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, - }; - - use super::types::*; - - // A type that states that all calls to the asset's native location can be - // encoded - parameter_type_with_key! { - pub CanEncodeAll: |_asset_id: AssetId| -> bool { - true - }; - } - - /// The encoder to use when transacting `pallet_proxy` calls - pub struct PalletProxyEncoder(PhantomData); - impl> ProxyCallEncoder for PalletProxyEncoder { - type AccountIdEncoder = PassthroughEncoder; - type ProxyTypeEncoder = PassthroughEncoder; - type BlockNumberEncoder = PassthroughEncoder; - } - - impl> PalletCallEncoder for PalletProxyEncoder { - type Context = AssetId; - fn can_encode(ctx: &Self::Context) -> bool { - T::get(ctx) - } - } - - /// The encoder to use when transacting `pallet_staking` calls - pub struct PalletStakingEncoder(PhantomData); - impl> StakingCallEncoder - for PalletStakingEncoder - { - type CompactBalanceEncoder = PassthroughCompactEncoder; - type SourceEncoder = PassthroughEncoder; - type AccountIdEncoder = PassthroughEncoder; - } - - impl> PalletCallEncoder for PalletStakingEncoder { - type Context = AssetId; - fn can_encode(ctx: &Self::Context) -> bool { - T::get(ctx) - } - } -} diff --git a/test-utils/xcm-test-support/src/relay.rs b/test-utils/xcm-test-support/src/relay.rs deleted file mode 100644 index 247fe0589d..0000000000 --- a/test-utils/xcm-test-support/src/relay.rs +++ /dev/null @@ -1,428 +0,0 @@ -// Copyright 2021 ChainSafe Systems -// SPDX-License-Identifier: LGPL-3.0-only - -use std::{cell::RefCell, collections::HashSet}; - -use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{ - construct_runtime, parameter_types, - sp_runtime::traits::BlakeTwo256, - traits::{Currency, Everything, FindAuthor, Imbalance, InstanceFilter, OnUnbalanced, OneSessionHandler}, - weights::Weight, -}; -use sp_core::H256; -use sp_runtime::{ - curve::PiecewiseLinear, - testing::{Header, TestXt, UintAuthorityId}, - Perbill, -}; - -use cumulus_primitives_core::ParaId; -use frame_election_provider_support::onchain; -use pallet_staking as staking; -use pallet_staking::*; -use polkadot_runtime_parachains::{configuration, origin, shared, ump}; -use xcm::v0::{MultiLocation, NetworkId}; -use xcm_builder::{ - AccountId32Aliases, AllowUnpaidExecutionFrom, ChildParachainAsNative, ChildParachainConvertsVia, - ChildSystemParachainAsSuperuser, CurrencyAdapter as XcmCurrencyAdapter, FixedRateOfConcreteFungible, - FixedWeightBounds, IsConcrete, LocationInverter, SignedAccountId32AsNative, SignedToAccountId32, - SovereignSignedViaLocation, -}; -use xcm_executor::{Config, XcmExecutor}; - -use super::types::*; -use frame_support::sp_runtime::AccountId32; - -impl frame_system::Config for Runtime { - type BaseCallFilter = Everything; - type Origin = Origin; - type Call = Call; - type Index = u64; - type BlockNumber = BlockNumber; - type Hash = H256; - type Hashing = ::sp_runtime::traits::BlakeTwo256; - type AccountId = AccountId; - type Lookup = Lookup; - type Header = Header; - type Event = Event; - type BlockHashCount = BlockHashCount; - type BlockWeights = (); - type BlockLength = (); - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; - type OnNewAccount = (); - type OnKilledAccount = (); - type DbWeight = (); - type SystemWeightInfo = (); - type SS58Prefix = (); - type OnSetCode = (); -} - -impl shared::Config for Runtime {} - -impl configuration::Config for Runtime {} - -parameter_types! { - pub const KsmLocation: MultiLocation = MultiLocation::Null; - pub const KusamaNetwork: NetworkId = NetworkId::Kusama; - pub const AnyNetwork: NetworkId = NetworkId::Any; - pub Ancestry: MultiLocation = MultiLocation::Null; - pub UnitWeightCost: Weight = 1_000; -} - -pub type SovereignAccountOf = - (ChildParachainConvertsVia, AccountId32Aliases); - -pub type LocalAssetTransactor = - XcmCurrencyAdapter, SovereignAccountOf, AccountId, ()>; - -type LocalOriginConverter = ( - SovereignSignedViaLocation, - ChildParachainAsNative, - SignedAccountId32AsNative, - ChildSystemParachainAsSuperuser, -); - -parameter_types! { - pub const BaseXcmWeight: Weight = 1_000; - pub KsmPerSecond: (MultiLocation, u128) = (KsmLocation::get(), 1); -} - -pub type XcmRouter = super::super::RelayChainXcmRouter; -pub type Barrier = AllowUnpaidExecutionFrom; - -pub struct XcmConfig; -impl Config for XcmConfig { - type Call = Call; - type XcmSender = XcmRouter; - type AssetTransactor = LocalAssetTransactor; - type OriginConverter = LocalOriginConverter; - type IsReserve = (); - type IsTeleporter = (); - type LocationInverter = LocationInverter; - type Barrier = Barrier; - type Weigher = FixedWeightBounds; - type Trader = FixedRateOfConcreteFungible; - type ResponseHandler = (); -} - -pub type LocalOriginToLocation = SignedToAccountId32; - -impl pallet_xcm::Config for Runtime { - type Event = Event; - type SendXcmOrigin = xcm_builder::EnsureXcmOrigin; - type XcmRouter = XcmRouter; - // Anyone can execute XCM messages locally... - type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin; - type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; - type XcmReserveTransferFilter = Everything; - type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; -} - -parameter_types! { - pub const FirstMessageFactorPercent: u64 = 100; -} - -impl ump::Config for Runtime { - type Event = Event; - type UmpSink = ump::XcmSink, Runtime>; - type FirstMessageFactorPercent = FirstMessageFactorPercent; -} - -impl origin::Config for Runtime {} - -// -- staking support - -thread_local! { - static SESSION: RefCell<(Vec, HashSet)> = RefCell::new(Default::default()); -} - -type NegativeImbalanceOf = - <::Currency as Currency<::AccountId>>::NegativeImbalance; - -/// Another session handler struct to test on_disabled. -pub struct OtherSessionHandler; -impl OneSessionHandler for OtherSessionHandler { - type Key = UintAuthorityId; - - fn on_genesis_session<'a, I: 'a>(_: I) - where - I: Iterator, - AccountId: 'a, - { - } - - fn on_new_session<'a, I: 'a>(_: bool, validators: I, _: I) - where - I: Iterator, - AccountId: 'a, - { - SESSION.with(|x| *x.borrow_mut() = (validators.map(|x| x.0.clone()).collect(), HashSet::new())); - } - - fn on_disabled(validator_index: usize) { - SESSION.with(|d| { - let mut d = d.borrow_mut(); - let value = d.0[validator_index].clone(); - d.1.insert(value); - }) - } -} - -impl sp_runtime::BoundToRuntimeAppPublic for OtherSessionHandler { - type Public = UintAuthorityId; -} - -/// Author of block is always 11 -pub struct Author11; -impl FindAuthor for Author11 { - fn find_author<'a, I>(_digests: I) -> Option - where - I: 'a + IntoIterator, - { - Some(AccountId32::new([11u8; 32])) - } -} - -parameter_types! { - pub const BlockHashCount: u64 = 250; - pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max( - frame_support::weights::constants::WEIGHT_PER_SECOND * 2 - ); - pub static SessionsPerEra: sp_staking::SessionIndex = 3; - pub static ExistentialDeposit: Balance = 1; - pub static SlashDeferDuration: EraIndex = 0; - pub static Period: BlockNumber = 5; - pub static Offset: BlockNumber = 0; - - pub const MaxLocks: u32 = 50; - pub const MaxReserves: u32 = 50; -} - -impl pallet_balances::Config for Runtime { - type MaxLocks = MaxLocks; - type Balance = Balance; - type Event = Event; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type MaxReserves = MaxReserves; - type ReserveIdentifier = [u8; 8]; - type WeightInfo = (); -} -parameter_types! { - pub const UncleGenerations: u64 = 0; - pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(25); -} - -sp_runtime::impl_opaque_keys! { - pub struct SessionKeys { - pub other: OtherSessionHandler, - } -} - -impl pallet_session::Config for Runtime { - type SessionManager = pallet_session::historical::NoteHistoricalRoot; - type Keys = SessionKeys; - type ShouldEndSession = pallet_session::PeriodicSessions; - type SessionHandler = (OtherSessionHandler,); - type Event = Event; - type ValidatorId = AccountId; - type ValidatorIdOf = pallet_staking::StashOf; - type DisabledValidatorsThreshold = DisabledValidatorsThreshold; - type NextSessionRotation = pallet_session::PeriodicSessions; - type WeightInfo = (); -} - -impl pallet_session::historical::Config for Runtime { - type FullIdentification = pallet_staking::Exposure; - type FullIdentificationOf = pallet_staking::ExposureOf; -} -parameter_types! { - pub const MinimumPeriod: u64 = 5; -} -impl pallet_timestamp::Config for Runtime { - type Moment = u64; - type OnTimestampSet = (); - type MinimumPeriod = MinimumPeriod; - type WeightInfo = (); -} -pallet_staking_reward_curve::build! { - const I_NPOS: PiecewiseLinear<'static> = curve!( - min_inflation: 0_025_000, - max_inflation: 0_100_000, - ideal_stake: 0_500_000, - falloff: 0_050_000, - max_piece_count: 40, - test_precision: 0_005_000, - ); -} - -parameter_types! { - pub const BondingDuration: EraIndex = 3; - pub const RewardCurve: &'static PiecewiseLinear<'static> = &I_NPOS; - pub const MaxNominatorRewardedPerValidator: u32 = 64; -} - -thread_local! { - pub static REWARD_REMAINDER_UNBALANCED: RefCell = RefCell::new(0); -} - -pub struct RewardRemainderMock; - -impl OnUnbalanced> for RewardRemainderMock { - fn on_nonzero_unbalanced(amount: NegativeImbalanceOf) { - REWARD_REMAINDER_UNBALANCED.with(|v| { - *v.borrow_mut() += amount.peek(); - }); - drop(amount); - } -} - -impl onchain::Config for Runtime { - type AccountId = AccountId; - type BlockNumber = BlockNumber; - type BlockWeights = BlockWeights; - type Accuracy = Perbill; - type DataProvider = Staking; -} -impl staking::Config for Runtime { - const MAX_NOMINATIONS: u32 = 16; - type Currency = Balances; - type UnixTime = Timestamp; - type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote; - type RewardRemainder = RewardRemainderMock; - type Event = Event; - type Slash = (); - type Reward = (); - type SessionsPerEra = SessionsPerEra; - type SlashDeferDuration = SlashDeferDuration; - type SlashCancelOrigin = frame_system::EnsureRoot; - type BondingDuration = BondingDuration; - type SessionInterface = Self; - type EraPayout = ConvertCurve; - type NextNewSession = Session; - type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator; - type ElectionProvider = onchain::OnChainSequentialPhragmen; - type GenesisElectionProvider = Self::ElectionProvider; - type WeightInfo = (); -} - -parameter_types! { - pub const ProxyDepositBase: Balance = 100; - pub const ProxyDepositFactor: Balance = 100; - pub const MaxProxies: u16 = 32; - pub const AnnouncementDepositBase: Balance = 100; - pub const AnnouncementDepositFactor: Balance = 100; - pub const MaxPending: u16 = 32; -} - -/// The type used to represent the kinds of proxying allowed. -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, Debug, MaxEncodedLen)] -pub enum ProxyType { - Any = 0, - NonTransfer = 1, - Governance = 2, - Staking = 3, - // Skip 4 as it is now removed (was SudoBalances) - IdentityJudgement = 5, - CancelProxy = 6, -} - -impl Default for ProxyType { - fn default() -> Self { - Self::Any - } -} -impl InstanceFilter for ProxyType { - fn filter(&self, _: &Call) -> bool { - true - } -} - -impl pallet_proxy::Config for Runtime { - type Event = Event; - type Call = Call; - type Currency = Balances; - type ProxyType = ProxyType; - type ProxyDepositBase = ProxyDepositBase; - type ProxyDepositFactor = ProxyDepositFactor; - type MaxProxies = MaxProxies; - type WeightInfo = (); - type MaxPending = MaxPending; - type CallHasher = BlakeTwo256; - type AnnouncementDepositBase = AnnouncementDepositBase; - type AnnouncementDepositFactor = AnnouncementDepositFactor; -} - -impl frame_system::offchain::SendTransactionTypes for Runtime -where - Call: From, -{ - type OverarchingCall = Call; - type Extrinsic = TestXt; -} - -parameter_types! { - pub const AssetDeposit: u64 = 1; - pub const ApprovalDeposit: u64 = 1; - pub const StringLimit: u32 = 50; - pub const MetadataDepositBase: u64 = 1; - pub const MetadataDepositPerByte: u64 = 1; -} - -impl pallet_assets::Config for Runtime { - type Event = Event; - type Balance = Balance; - type AssetId = AssetId; - type Currency = Balances; - type ForceOrigin = frame_system::EnsureRoot; - type AssetDeposit = AssetDeposit; - type MetadataDepositBase = MetadataDepositBase; - type MetadataDepositPerByte = MetadataDepositPerByte; - type ApprovalDeposit = ApprovalDeposit; - type StringLimit = StringLimit; - type Freezer = (); - type WeightInfo = (); - type Extra = (); -} - -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; - -// The configured indices for the runtime -pub const STAKING_PALLET_INDEX: u8 = 7u8; -pub const PROXY_PALLET_INDEX: u8 = 29u8; -pub const ASSETS_PALLET_INDEX: u8 = 50u8; - -construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { - System: frame_system::{Pallet, Call, Storage, Config, Event}, - Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent}, - Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - ParasOrigin: origin::{Pallet, Origin}, - ParasUmp: ump::{Pallet, Call, Storage, Event}, - XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event}, - - // use polkadot index 7 - Staking: staking::{Pallet, Call, Storage, Event} = 7, - - Session: pallet_session::{Pallet, Call, Storage, Event}, - - // use polkadot index 29 - Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 29, - - // use statemint index 50 - Assets: pallet_assets::{Pallet, Call, Storage, Event} = 50, - } -); From 5fc7cd0d67925d859693d1d86a3096527ed4d6bd Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 31 Aug 2021 16:49:28 +0200 Subject: [PATCH 2/3] fix: drop tryfrom bound --- pallets/asset-index/src/benchmarking.rs | 1 - pallets/asset-index/src/lib.rs | 4 ++-- pallets/price-feed/src/lib.rs | 3 +-- pallets/remote-asset-manager/src/lib.rs | 4 ++-- pallets/saft-registry/src/benchmarking.rs | 2 +- pallets/saft-registry/src/lib.rs | 4 ++-- 6 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pallets/asset-index/src/benchmarking.rs b/pallets/asset-index/src/benchmarking.rs index 33a4125774..42172d53bb 100644 --- a/pallets/asset-index/src/benchmarking.rs +++ b/pallets/asset-index/src/benchmarking.rs @@ -8,7 +8,6 @@ use frame_support::{ assert_ok, dispatch::UnfilteredDispatchable, sp_runtime::{traits::AccountIdConversion, FixedPointNumber}, - sp_std::convert::TryFrom, traits::{Currency as _, EnsureOrigin, Get}, }; use frame_system::RawOrigin; diff --git a/pallets/asset-index/src/lib.rs b/pallets/asset-index/src/lib.rs index 83c40bec1b..72d49ec962 100644 --- a/pallets/asset-index/src/lib.rs +++ b/pallets/asset-index/src/lib.rs @@ -36,7 +36,7 @@ pub mod pallet { ArithmeticError, FixedPointNumber, }, sp_std::{ - convert::{TryFrom, TryInto}, + convert::TryInto, prelude::*, result::Result, }, @@ -99,7 +99,7 @@ pub mod pallet { /// Type that handles cross chain transfers type RemoteAssetManager: RemoteAssetManager; /// Type used to identify assets - type AssetId: Parameter + Member + Copy + MaybeSerializeDeserialize + TryFrom; + type AssetId: Parameter + Member + Copy + MaybeSerializeDeserialize ; /// The native asset id #[pallet::constant] diff --git a/pallets/price-feed/src/lib.rs b/pallets/price-feed/src/lib.rs index d8939ed94f..45da4fd534 100644 --- a/pallets/price-feed/src/lib.rs +++ b/pallets/price-feed/src/lib.rs @@ -50,7 +50,6 @@ pub mod pallet { use frame_support::{ pallet_prelude::*, sp_runtime::{traits::CheckedDiv, FixedPointNumber, FixedPointOperand}, - sp_std::convert::TryFrom, traits::{Get, Time}, }; use frame_system::pallet_prelude::*; @@ -82,7 +81,7 @@ pub mod pallet { type SelfAssetId: Get; /// Type used to identify the assets. - type AssetId: Parameter + Member + MaybeSerializeDeserialize + TryFrom; + type AssetId: Parameter + Member + MaybeSerializeDeserialize ; /// Type to keep track of timestamped values type Time: Time; diff --git a/pallets/remote-asset-manager/src/lib.rs b/pallets/remote-asset-manager/src/lib.rs index 493f5ff164..aa184a9f4a 100644 --- a/pallets/remote-asset-manager/src/lib.rs +++ b/pallets/remote-asset-manager/src/lib.rs @@ -28,7 +28,7 @@ pub mod pallet { dispatch::DispatchResultWithPostInfo, pallet_prelude::*, sp_runtime::traits::{AccountIdConversion, AtLeast32BitUnsigned, Convert, Saturating, StaticLookup, Zero}, - sp_std::{self, convert::TryFrom, mem, prelude::*}, + sp_std::{self, mem, prelude::*}, traits::Get, transactional, }; @@ -80,7 +80,7 @@ pub mod pallet { + Into; /// Asset Id that is used to identify different kinds of assets. - type AssetId: Parameter + Member + Copy + MaybeSerializeDeserialize + TryFrom; + type AssetId: Parameter + Member + Copy + MaybeSerializeDeserialize ; /// Convert a `T::AssetId` to its relative `MultiLocation` identifier. type AssetIdConvert: Convert>; diff --git a/pallets/saft-registry/src/benchmarking.rs b/pallets/saft-registry/src/benchmarking.rs index cf32c171ae..c9f57686d1 100644 --- a/pallets/saft-registry/src/benchmarking.rs +++ b/pallets/saft-registry/src/benchmarking.rs @@ -5,7 +5,7 @@ use frame_benchmarking::benchmarks; use frame_support::{ - assert_ok, dispatch::UnfilteredDispatchable, sp_runtime::traits::Zero, sp_std::convert::TryFrom, + assert_ok, dispatch::UnfilteredDispatchable, sp_runtime::traits::Zero traits::EnsureOrigin, }; use xcm::v0::Junction; diff --git a/pallets/saft-registry/src/lib.rs b/pallets/saft-registry/src/lib.rs index 49e3b701da..148a7103ef 100644 --- a/pallets/saft-registry/src/lib.rs +++ b/pallets/saft-registry/src/lib.rs @@ -24,7 +24,7 @@ pub mod pallet { traits::{AtLeast32BitUnsigned, CheckedAdd, One, Saturating, Zero}, ArithmeticError, }, - sp_std::{self, convert::TryFrom, prelude::*, result::Result}, + sp_std::{self, prelude::*, result::Result}, transactional, }; use frame_system::pallet_prelude::*; @@ -41,7 +41,7 @@ pub mod pallet { type AdminOrigin: EnsureOrigin; type AssetRecorder: AssetRecorder; type Balance: Parameter + Member + AtLeast32BitUnsigned + Default + Copy; - type AssetId: Parameter + Member + Copy + TryFrom; + type AssetId: Parameter + Member + Copy ; type Event: From> + IsType<::Event>; /// The weight for this pallet's extrinsics. type WeightInfo: WeightInfo; From a7255f38be3a246f37046eb05f6c4307fd5e1d6c Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 31 Aug 2021 20:13:47 +0200 Subject: [PATCH 3/3] Revert "feat: strip workspace" This reverts commit 930178a732dd20080a3f66da7e5f2493cc64ff1c. --- .actrc | 2 + .cargo/config.toml | 2 + .dockerignore | 35 + .github/ISSUE_TEMPLATE/backlog_item.md | 19 + .github/ISSUE_TEMPLATE/bug_issue.md | 100 + .github/ISSUE_TEMPLATE/config.yml | 2 + .github/ISSUE_TEMPLATE/general_issue.md | 20 + .github/PULL_REQUEST_TEMPLATE.md | 35 + .github/workflows/check-licence.yml | 28 + .gitignore | 32 +- .gitmodules | 3 + Cargo.lock | 12901 ++++++++++++++++ Cargo.toml | 205 + HEADER-LICENSE | 2 + LICENSE | 165 + README.md | 95 + config.json | 67 + docker/launch.Dockerfile | 24 + docker/release.Dockerfile | 33 + docker/rococo.Dockerfile | 20 + docker/statemint.Dockerfile | 20 + js/.prettierrc | 17 + js/e2e/README.md | 10 + js/e2e/index.ts | 506 + js/e2e/package.json | 32 + js/e2e/src/config.ts | 45 + js/e2e/src/extrinsic.ts | 181 + js/e2e/src/index.ts | 9 + js/e2e/src/launch.ts | 66 + js/e2e/src/runner.ts | 263 + js/e2e/src/util.ts | 40 + js/e2e/tsconfig.json | 19 + js/e2e/tslint.json | 19 + js/e2e/yarn.lock | 815 + js/finalize/index.ts | 96 + js/finalize/package.json | 23 + js/finalize/tsconfig.json | 19 + js/package.json | 4 + js/pint-types-bundle/.gitignore | 3 + js/pint-types-bundle/LICENSE | 165 + js/pint-types-bundle/README.md | 12 + js/pint-types-bundle/chainlink.json | 67 + js/pint-types-bundle/index.ts | 161 + js/pint-types-bundle/package.json | 30 + js/pint-types-bundle/tsconfig.json | 14 + js/pint-types-bundle/yarn.lock | 434 + js/polkadot-launch | 1 + js/yarn.lock | 1025 ++ node/Cargo.toml | 116 + node/build.rs | 9 + node/src/chain_spec/dev.rs | 167 + node/src/chain_spec/kusama.rs | 167 + node/src/chain_spec/mod.rs | 52 + node/src/chain_spec/polkadot.rs | 167 + node/src/cli.rs | 127 + node/src/client.rs | 452 + node/src/command.rs | 453 + node/src/lib.rs | 6 + node/src/main.rs | 17 + node/src/service.rs | 511 + primitives/derive/Cargo.toml | 16 + primitives/derive/README.md | 17 + primitives/derive/src/lib.rs | 17 + primitives/derive/src/xcm/mod.rs | 6 + primitives/derive/src/xcm/result.rs | 117 + resources/types.json | 161 + rpc/Cargo.toml | 31 + rpc/src/lib.rs | 95 + runtime/common/Cargo.toml | 57 + runtime/common/src/constants.rs | 172 + runtime/common/src/lib.rs | 9 + runtime/common/src/traits.rs | 9 + runtime/common/src/types.rs | 9 + runtime/common/src/weights/mod.rs | 98 + .../common/src/weights/pallet_asset_index.rs | 76 + .../src/weights/pallet_chainlink_feed.rs | 170 + .../common/src/weights/pallet_committee.rs | 54 + .../src/weights/pallet_local_treasury.rs | 39 + .../common/src/weights/pallet_price_feed.rs | 42 + .../weights/pallet_remote_asset_manager.rs | 37 + .../src/weights/pallet_saft_registry.rs | 56 + runtime/dev/Cargo.toml | 194 + runtime/dev/build.rs | 8 + runtime/dev/src/lib.rs | 902 ++ runtime/kusama/Cargo.toml | 194 + runtime/kusama/build.rs | 8 + runtime/kusama/src/lib.rs | 900 ++ runtime/polkadot/Cargo.toml | 194 + runtime/polkadot/build.rs | 8 + runtime/polkadot/src/lib.rs | 901 ++ rustfmt.toml | 11 + scripts/header.txt | 2 + scripts/init.sh | 12 + templates/pallet-weight-template.hbs | 91 + templates/runtime-weight-template.hbs | 50 + test-utils/xcm-test-support/Cargo.lock | 8375 ++++++++++ test-utils/xcm-test-support/Cargo.toml | 57 + test-utils/xcm-test-support/README.md | 13 + test-utils/xcm-test-support/src/lib.rs | 111 + test-utils/xcm-test-support/src/relay.rs | 428 + 100 files changed, 33876 insertions(+), 1 deletion(-) create mode 100644 .actrc create mode 100644 .cargo/config.toml create mode 100644 .dockerignore create mode 100644 .github/ISSUE_TEMPLATE/backlog_item.md create mode 100644 .github/ISSUE_TEMPLATE/bug_issue.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/general_issue.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/check-licence.yml create mode 100644 .gitmodules create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 HEADER-LICENSE create mode 100644 LICENSE create mode 100644 README.md create mode 100644 config.json create mode 100644 docker/launch.Dockerfile create mode 100644 docker/release.Dockerfile create mode 100644 docker/rococo.Dockerfile create mode 100644 docker/statemint.Dockerfile create mode 100644 js/.prettierrc create mode 100644 js/e2e/README.md create mode 100644 js/e2e/index.ts create mode 100644 js/e2e/package.json create mode 100644 js/e2e/src/config.ts create mode 100644 js/e2e/src/extrinsic.ts create mode 100644 js/e2e/src/index.ts create mode 100644 js/e2e/src/launch.ts create mode 100644 js/e2e/src/runner.ts create mode 100644 js/e2e/src/util.ts create mode 100644 js/e2e/tsconfig.json create mode 100644 js/e2e/tslint.json create mode 100644 js/e2e/yarn.lock create mode 100644 js/finalize/index.ts create mode 100644 js/finalize/package.json create mode 100644 js/finalize/tsconfig.json create mode 100644 js/package.json create mode 100644 js/pint-types-bundle/.gitignore create mode 100644 js/pint-types-bundle/LICENSE create mode 100644 js/pint-types-bundle/README.md create mode 100644 js/pint-types-bundle/chainlink.json create mode 100644 js/pint-types-bundle/index.ts create mode 100644 js/pint-types-bundle/package.json create mode 100644 js/pint-types-bundle/tsconfig.json create mode 100644 js/pint-types-bundle/yarn.lock create mode 160000 js/polkadot-launch create mode 100644 js/yarn.lock create mode 100644 node/Cargo.toml create mode 100644 node/build.rs create mode 100644 node/src/chain_spec/dev.rs create mode 100644 node/src/chain_spec/kusama.rs create mode 100644 node/src/chain_spec/mod.rs create mode 100644 node/src/chain_spec/polkadot.rs create mode 100644 node/src/cli.rs create mode 100644 node/src/client.rs create mode 100644 node/src/command.rs create mode 100644 node/src/lib.rs create mode 100644 node/src/main.rs create mode 100644 node/src/service.rs create mode 100644 primitives/derive/Cargo.toml create mode 100644 primitives/derive/README.md create mode 100644 primitives/derive/src/lib.rs create mode 100644 primitives/derive/src/xcm/mod.rs create mode 100644 primitives/derive/src/xcm/result.rs create mode 100644 resources/types.json create mode 100644 rpc/Cargo.toml create mode 100644 rpc/src/lib.rs create mode 100644 runtime/common/Cargo.toml create mode 100644 runtime/common/src/constants.rs create mode 100644 runtime/common/src/lib.rs create mode 100644 runtime/common/src/traits.rs create mode 100644 runtime/common/src/types.rs create mode 100644 runtime/common/src/weights/mod.rs create mode 100644 runtime/common/src/weights/pallet_asset_index.rs create mode 100644 runtime/common/src/weights/pallet_chainlink_feed.rs create mode 100644 runtime/common/src/weights/pallet_committee.rs create mode 100644 runtime/common/src/weights/pallet_local_treasury.rs create mode 100644 runtime/common/src/weights/pallet_price_feed.rs create mode 100644 runtime/common/src/weights/pallet_remote_asset_manager.rs create mode 100644 runtime/common/src/weights/pallet_saft_registry.rs create mode 100644 runtime/dev/Cargo.toml create mode 100644 runtime/dev/build.rs create mode 100644 runtime/dev/src/lib.rs create mode 100644 runtime/kusama/Cargo.toml create mode 100644 runtime/kusama/build.rs create mode 100644 runtime/kusama/src/lib.rs create mode 100644 runtime/polkadot/Cargo.toml create mode 100644 runtime/polkadot/build.rs create mode 100644 runtime/polkadot/src/lib.rs create mode 100644 rustfmt.toml create mode 100644 scripts/header.txt create mode 100755 scripts/init.sh create mode 100644 templates/pallet-weight-template.hbs create mode 100644 templates/runtime-weight-template.hbs create mode 100644 test-utils/xcm-test-support/Cargo.lock create mode 100644 test-utils/xcm-test-support/Cargo.toml create mode 100644 test-utils/xcm-test-support/README.md create mode 100644 test-utils/xcm-test-support/src/lib.rs create mode 100644 test-utils/xcm-test-support/src/relay.rs diff --git a/.actrc b/.actrc new file mode 100644 index 0000000000..136e5890e9 --- /dev/null +++ b/.actrc @@ -0,0 +1,2 @@ +# When using act to run github actions locally it must use a full image to be able to compile correctly +-P ubuntu-20.04=nektos/act-environments-ubuntu:20.04 diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000000..c91c3f38b7 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[net] +git-fetch-with-cli = true diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..bd596a7f0f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,35 @@ +# Generated by Cargo +# will have compiled files and executables +**/target/ +# These are backup files generated by rustfmt +**/*.rs.bk + +# node deps for e2e +node_modules + +# The directory caches for osx +.DS_Store + +# typescript language server logs and logs +*.log + +# rococo specs +rococo* + +# The cache for docker container dependency +.cargo + +# The cache for chain data in container +.local + +# Binaries for launching PINT with polkadot +bin + +# Libraries of js output +js/**/*/lib + +# Unknown +local-test + +# docker +docker \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/backlog_item.md b/.github/ISSUE_TEMPLATE/backlog_item.md new file mode 100644 index 0000000000..02e8ba4a35 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/backlog_item.md @@ -0,0 +1,19 @@ +--- +name: Backlog Item +about: Issue that has enough reasoning, research and information to be implemented +title: '' +labels: 'needs triage' +assignees: '' + +--- + + + +## Implementation details + + +## Testing details + + +## Acceptance Criteria + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_issue.md b/.github/ISSUE_TEMPLATE/bug_issue.md new file mode 100644 index 0000000000..699eb4ab57 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_issue.md @@ -0,0 +1,100 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: 'bug' +assignees: '' + +--- + +## Describe the bug + + +- + + +## Expected Behavior + + + +- + + +## Current Behavior + + + +- + + +## Possible Solution + + + +- + + +## To Reproduce +Steps to reproduce the behavior: + +1. +2. +3. + + +## Log output + +

+ Log Output + + ```Paste log output here + paste log output... + ``` +
+
+ +## Specification + + + +- rustc version: +- pint version: +- commit tag: +- commit hash: +- operating system: +- additional links: + + + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..556b7bae30 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,2 @@ + +blank_issues_enabled: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/general_issue.md b/.github/ISSUE_TEMPLATE/general_issue.md new file mode 100644 index 0000000000..489f68f950 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general_issue.md @@ -0,0 +1,20 @@ +--- +name: General issue +about: General purpose issue template +title: '' +labels: 'needs triage' +assignees: '' + +--- + +## Issue summary + +- + + +## Other information and links + +- + + + \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..77f29a2af5 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,35 @@ +## Changes + + + +- +- +- + +## Tests + + + +``` + +``` + +## Issues + + + +- \ No newline at end of file diff --git a/.github/workflows/check-licence.yml b/.github/workflows/check-licence.yml new file mode 100644 index 0000000000..6503246387 --- /dev/null +++ b/.github/workflows/check-licence.yml @@ -0,0 +1,28 @@ +name: Check Licence + +on: + pull_request: + branches: + - main + push: + branches: + - main + +jobs: + check-licence: + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + - name: Set up Golang + uses: actions/setup-go@v2 + with: + go-version: '^1.16' + - name: Install addlicense + run: | + export PATH=${PATH}:`go env GOPATH`/bin + go get -v -u github.com/google/addlicense + - name: Check license + run: | + export PATH=${PATH}:`go env GOPATH`/bin + addlicense -check -c "ChainSafe Systems" -f ./scripts/header.txt -y 2021 $(find $PWD -type f -name '*.rs') diff --git a/.gitignore b/.gitignore index f4a07bc0b8..f29dde7634 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,32 @@ +# Generated by Cargo +# will have compiled files and executables **/target/ -**/*.rs.bk \ No newline at end of file +# These are backup files generated by rustfmt +**/*.rs.bk + +# node deps for e2e +node_modules + +# The directory caches for osx +.DS_Store + +# typescript language server logs and logs +*.log + +# rococo specs +rococo* + +# The cache for docker container dependency +.cargo + +# The cache for chain data in container +.local + +# Binaries for launching PINT with polkadot +bin + +# Libraries of js output +js/**/*/lib + +# Unknown +local-test diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..4fdc6a499b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "js/polkadot-launch"] + path = js/polkadot-launch + url = https://github.com/paritytech/polkadot-launch.git diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..ba4a5e9558 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,12901 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" +dependencies = [ + "gimli 0.24.0", +] + +[[package]] +name = "addr2line" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd" +dependencies = [ + "gimli 0.25.0", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aead" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "aes" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd2bc6d3f370b5666245ff421e231cba4353df936e26986d2918e61a8fd6aef6" +dependencies = [ + "aes-soft", + "aesni", + "block-cipher", +] + +[[package]] +name = "aes-gcm" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0301c9e9c443494d970a07885e8cf3e587bae8356a1d5abd0999068413f7205f" +dependencies = [ + "aead", + "aes", + "block-cipher", + "ghash", + "subtle 2.4.1", +] + +[[package]] +name = "aes-soft" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6" +dependencies = [ + "block-cipher", + "byteorder", + "opaque-debug 0.3.0", +] + +[[package]] +name = "aesni" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6fe808308bb07d393e2ea47780043ec47683fcf19cf5efc8ca51c50cc8c68a" +dependencies = [ + "block-cipher", + "opaque-debug 0.3.0", +] + +[[package]] +name = "ahash" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" +dependencies = [ + "getrandom 0.2.3", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + +[[package]] +name = "always-assert" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11" + +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "anyhow" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf" + +[[package]] +name = "approx" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" +dependencies = [ + "nodrop", +] + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" + +[[package]] +name = "asn1_der" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3" + +[[package]] +name = "assert_matches" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" + +[[package]] +name = "async-attributes" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" +dependencies = [ + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "async-channel" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "once_cell", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6" +dependencies = [ + "async-channel", + "async-executor", + "async-io", + "async-mutex", + "blocking", + "futures-lite", + "num_cpus", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" +dependencies = [ + "concurrent-queue", + "futures-lite", + "libc", + "log", + "once_cell", + "parking", + "polling", + "slab", + "socket2 0.4.1", + "waker-fn", + "winapi 0.3.9", +] + +[[package]] +name = "async-lock" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-mutex" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-process" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b21b63ab5a0db0369deb913540af2892750e42d949faacc7a61495ac418a1692" +dependencies = [ + "async-io", + "blocking", + "cfg-if 1.0.0", + "event-listener", + "futures-lite", + "libc", + "once_cell", + "signal-hook", + "winapi 0.3.9", +] + +[[package]] +name = "async-std" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341" +dependencies = [ + "async-attributes", + "async-channel", + "async-global-executor", + "async-io", + "async-lock", + "async-process", + "crossbeam-utils 0.8.5", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "num_cpus", + "once_cell", + "pin-project-lite 0.2.7", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-std-resolver" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed4e2c3da14d8ad45acb1e3191db7a918e9505b6f155b218e70a7c9a1a48c638" +dependencies = [ + "async-std", + "async-trait", + "futures-io", + "futures-util", + "pin-utils", + "trust-dns-resolver", +] + +[[package]] +name = "async-task" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" + +[[package]] +name = "async-trait" +version = "0.1.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "asynchronous-codec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6" +dependencies = [ + "bytes 1.0.1", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite 0.2.7", +] + +[[package]] +name = "asynchronous-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" +dependencies = [ + "bytes 1.0.1", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite 0.2.7", +] + +[[package]] +name = "atomic" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281" +dependencies = [ + "autocfg", +] + +[[package]] +name = "atomic-waker" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "backtrace" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01" +dependencies = [ + "addr2line 0.16.0", + "cc", + "cfg-if 1.0.0", + "libc", + "miniz_oxide", + "object 0.26.1", + "rustc-demangle", +] + +[[package]] +name = "bae" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec107f431ee3d8a8e45e6dd117adab769556ef463959e77bf6a4888d5fd500cf" +dependencies = [ + "heck", + "proc-macro-error 0.4.12", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "base-x" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" + +[[package]] +name = "base58" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" + +[[package]] +name = "base64" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "beef" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bed554bd50246729a1ec158d08aa3235d1b69d94ad120ebe187e28894787e736" +dependencies = [ + "serde", +] + +[[package]] +name = "beefy-gadget" +version = "0.1.0" +source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" +dependencies = [ + "beefy-primitives", + "fnv", + "futures 0.3.16", + "hex", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-client-api", + "sc-keystore", + "sc-network", + "sc-network-gossip", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-utils", + "substrate-prometheus-endpoint", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "beefy-gadget-rpc" +version = "0.1.0" +source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" +dependencies = [ + "beefy-gadget", + "beefy-primitives", + "futures 0.3.16", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "sc-rpc", + "serde", + "serde_json", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "beefy-merkle-tree" +version = "0.1.0" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.9#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" + +[[package]] +name = "beefy-primitives" +version = "0.1.0" +source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bindgen" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453c49e5950bb0eb63bb3df640e31618846c89d5b7faa54040d76e98e0134375" +dependencies = [ + "bitflags", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "proc-macro2 1.0.28", + "quote 1.0.9", + "regex", + "rustc-hash", + "shlex", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitvec" +version = "0.19.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" +dependencies = [ + "funty", + "radium 0.5.3", + "tap", + "wyz", +] + +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium 0.6.2", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a5720225ef5daecf08657f23791354e1685a8c91a4c60c7f3d3b2892f978f4" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "blake2-rfc" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +dependencies = [ + "arrayvec 0.4.12", + "constant_time_eq", +] + +[[package]] +name = "blake2b_simd" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq", +] + +[[package]] +name = "blake2s_simd" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq", +] + +[[package]] +name = "blake3" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "constant_time_eq", + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "block-buffer" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +dependencies = [ + "block-padding 0.1.5", + "byte-tools", + "byteorder", + "generic-array 0.12.4", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "block-padding 0.2.1", + "generic-array 0.14.4", +] + +[[package]] +name = "block-cipher" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f337a3e6da609650eb74e02bc9fac7b735049f7623ab12f2e4c719316fcc7e80" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "block-padding" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools", +] + +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + +[[package]] +name = "blocking" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9" +dependencies = [ + "async-channel", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", + "once_cell", +] + +[[package]] +name = "bp-header-chain" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "finality-grandpa", + "frame-support", + "parity-scale-codec", + "serde", + "sp-core", + "sp-finality-grandpa", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-message-dispatch" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-runtime", + "frame-support", + "parity-scale-codec", + "sp-std", +] + +[[package]] +name = "bp-messages" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "bp-runtime", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "parity-scale-codec", + "serde", + "sp-std", +] + +[[package]] +name = "bp-polkadot-core" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-messages", + "bp-runtime", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-api", + "sp-core", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] +name = "bp-rialto" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-messages", + "bp-runtime", + "frame-support", + "frame-system", + "sp-api", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-rococo" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-messages", + "bp-polkadot-core", + "bp-runtime", + "frame-support", + "parity-scale-codec", + "smallvec 1.6.1", + "sp-api", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] +name = "bp-runtime" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "frame-support", + "hash-db", + "num-traits", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", +] + +[[package]] +name = "bp-test-utils" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-header-chain", + "ed25519-dalek", + "finality-grandpa", + "parity-scale-codec", + "sp-application-crypto", + "sp-finality-grandpa", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-wococo" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-messages", + "bp-polkadot-core", + "bp-rococo", + "bp-runtime", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bridge-runtime-common" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-message-dispatch", + "bp-messages", + "bp-runtime", + "frame-support", + "hash-db", + "pallet-bridge-dispatch", + "pallet-bridge-grandpa", + "pallet-bridge-messages", + "pallet-transaction-payment", + "parity-scale-codec", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", +] + +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + +[[package]] +name = "bstr" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" +dependencies = [ + "memchr", +] + +[[package]] +name = "build-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" +dependencies = [ + "semver 0.6.0", +] + +[[package]] +name = "bumpalo" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" + +[[package]] +name = "byte-slice-cast" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c1bf4a04a88c54f589125563643d773f3254b5c38571395e2b591c693bbc81" + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" +dependencies = [ + "byteorder", + "either", + "iovec", +] + +[[package]] +name = "bytes" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" + +[[package]] +name = "bytes" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" + +[[package]] +name = "cache-padded" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" + +[[package]] +name = "camino" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52d74260d9bf6944e2208aa46841b4b8f0d7ffc0849a06837b2f510337f86b2b" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "081e3f0755c1f380c2d010481b6fa2e02973586d5f2b24eebb7a2a1d98b143d8" +dependencies = [ + "camino", + "cargo-platform", + "semver 0.11.0", + "semver-parser 0.10.2", + "serde", + "serde_json", +] + +[[package]] +name = "cc" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cexpr" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db507a7679252d2276ed0dd8113c6875ec56d3089f9225b2b42c30cc1f8e5c89" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "chacha20" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "244fbce0d47e97e8ef2f63b81d5e05882cb518c68531eb33194990d7b7e85845" +dependencies = [ + "stream-cipher", + "zeroize", +] + +[[package]] +name = "chacha20poly1305" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bf18d374d66df0c05cdddd528a7db98f78c28e2519b120855c4f84c5027b1f5" +dependencies = [ + "aead", + "chacha20", + "poly1305", + "stream-cipher", + "zeroize", +] + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi 0.3.9", +] + +[[package]] +name = "cid" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff0e3bc0b6446b3f9663c1a6aba6ef06c5aeaa1bc92bd18077be337198ab9768" +dependencies = [ + "multibase", + "multihash", + "unsigned-varint 0.5.1", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "ckb-merkle-mountain-range" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f061f97d64fd1822664bdfb722f7ae5469a97b77567390f7442be5b5dc82a5b" +dependencies = [ + "cfg-if 0.1.10", +] + +[[package]] +name = "clang-sys" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "853eda514c284c2287f4bf20ae614f8781f40a81d32ecda6e91449304dfe077c" +dependencies = [ + "glob", + "libc", + "libloading 0.7.0", +] + +[[package]] +name = "clap" +version = "2.33.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +dependencies = [ + "ansi_term 0.11.0", + "atty", + "bitflags", + "strsim", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +dependencies = [ + "bitflags", +] + +[[package]] +name = "concurrent-queue" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" +dependencies = [ + "cache-padded", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +dependencies = [ + "core-foundation-sys 0.8.2", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + +[[package]] +name = "core-foundation-sys" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" + +[[package]] +name = "cpp_demangle" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea47428dc9d2237f3c6bc134472edfd63ebba0af932e783506dcfd66f10d18a" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "cpufeatures" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" +dependencies = [ + "libc", +] + +[[package]] +name = "cpuid-bool" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" + +[[package]] +name = "cranelift-bforest" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ca3560686e7c9c7ed7e0fe77469f2410ba5d7781b1acaa9adc8d8deea28e3e" +dependencies = [ + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf9bf1ffffb6ce3d2e5ebc83549bd2436426c99b31cc550d521364cbe35d276" +dependencies = [ + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-entity", + "gimli 0.24.0", + "log", + "regalloc", + "serde", + "smallvec 1.6.1", + "target-lexicon", +] + +[[package]] +name = "cranelift-codegen-meta" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cc21936a5a6d07e23849ffe83e5c1f6f50305c074f4b2970ca50c13bf55b821" +dependencies = [ + "cranelift-codegen-shared", + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen-shared" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5b6ffaa87560bebe69a5446449da18090b126037920b0c1c6d5945f72faf6b" +dependencies = [ + "serde", +] + +[[package]] +name = "cranelift-entity" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d6b4a8bef04f82e4296782646f733c641d09497df2fabf791323fefaa44c64c" +dependencies = [ + "serde", +] + +[[package]] +name = "cranelift-frontend" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b783b351f966fce33e3c03498cb116d16d97a8f9978164a60920bd0d3a99c" +dependencies = [ + "cranelift-codegen", + "log", + "smallvec 1.6.1", + "target-lexicon", +] + +[[package]] +name = "cranelift-native" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a77c88d3dd48021ff1e37e978a00098524abd3513444ae252c08d37b310b3d2a" +dependencies = [ + "cranelift-codegen", + "target-lexicon", +] + +[[package]] +name = "cranelift-wasm" +version = "0.74.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb6d408e2da77cdbbd65466298d44c86ae71c1785d2ab0d8657753cdb4d9d89" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "itertools 0.10.1", + "log", + "serde", + "smallvec 1.6.1", + "thiserror", + "wasmparser", +] + +[[package]] +name = "crc32fast" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-utils 0.8.5", +] + +[[package]] +name = "crossbeam-deque" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" +dependencies = [ + "crossbeam-epoch 0.8.2", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-epoch 0.9.5", + "crossbeam-utils 0.8.5", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +dependencies = [ + "autocfg", + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "lazy_static", + "maybe-uninit", + "memoffset 0.5.6", + "scopeguard", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-utils 0.8.5", + "lazy_static", + "memoffset 0.6.4", + "scopeguard", +] + +[[package]] +name = "crossbeam-queue" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" +dependencies = [ + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-utils" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +dependencies = [ + "autocfg", + "cfg-if 0.1.10", + "lazy_static", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +dependencies = [ + "cfg-if 1.0.0", + "lazy_static", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-mac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +dependencies = [ + "generic-array 0.12.4", + "subtle 1.0.0", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.4", + "subtle 2.4.1", +] + +[[package]] +name = "ct-logs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c8e13110a84b6315df212c045be706af261fd364791cad863285439ebba672e" +dependencies = [ + "sct", +] + +[[package]] +name = "ctor" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d" +dependencies = [ + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "cuckoofilter" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b810a8449931679f64cd7eef1bbd0fa315801b6d5d9cdc1ace2804d6529eee18" +dependencies = [ + "byteorder", + "fnv", + "rand 0.7.3", +] + +[[package]] +name = "cumulus-client-cli" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "sc-cli", + "sc-service", + "structopt", +] + +[[package]] +name = "cumulus-client-collator" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-client-consensus-common", + "cumulus-client-network", + "cumulus-primitives-core", + "futures 0.3.16", + "parity-scale-codec", + "parking_lot 0.10.2", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "sc-client-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-io", + "sp-runtime", + "tracing", +] + +[[package]] +name = "cumulus-client-consensus-aura" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "async-trait", + "cumulus-client-consensus-common", + "cumulus-primitives-core", + "futures 0.3.16", + "parity-scale-codec", + "parking_lot 0.10.2", + "polkadot-client", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-slots", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "tracing", +] + +[[package]] +name = "cumulus-client-consensus-common" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "async-trait", + "dyn-clone", + "futures 0.3.16", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime", + "sc-client-api", + "sc-consensus", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", + "substrate-prometheus-endpoint", + "tracing", +] + +[[package]] +name = "cumulus-client-consensus-relay-chain" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "async-trait", + "cumulus-client-consensus-common", + "cumulus-primitives-core", + "futures 0.3.16", + "parity-scale-codec", + "parking_lot 0.10.2", + "polkadot-client", + "sc-client-api", + "sc-consensus", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "substrate-prometheus-endpoint", + "tracing", +] + +[[package]] +name = "cumulus-client-network" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "derive_more 0.99.16", + "futures 0.3.16", + "futures-timer 3.0.2", + "parity-scale-codec", + "parking_lot 0.10.2", + "polkadot-client", + "polkadot-node-primitives", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-statement-table", + "sc-client-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "tracing", +] + +[[package]] +name = "cumulus-client-pov-recovery" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "futures 0.3.16", + "futures-timer 3.0.2", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "rand 0.8.4", + "sc-client-api", + "sc-consensus", + "sp-api", + "sp-consensus", + "sp-core", + "sp-maybe-compressed-blob", + "sp-runtime", + "tracing", +] + +[[package]] +name = "cumulus-client-service" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-client-collator", + "cumulus-client-consensus-common", + "cumulus-client-pov-recovery", + "cumulus-primitives-core", + "parity-scale-codec", + "parking_lot 0.10.2", + "polkadot-overseer", + "polkadot-primitives", + "polkadot-service", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "sc-service", + "sc-telemetry", + "sc-tracing", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "tracing", +] + +[[package]] +name = "cumulus-pallet-aura-ext" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "frame-executive", + "frame-support", + "frame-system", + "pallet-aura", + "parity-scale-codec", + "serde", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "cumulus-pallet-dmp-queue" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.4", + "rand_chacha 0.3.1", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "cumulus-pallet-parachain-system" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-pallet-parachain-system-proc-macro", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "environmental", + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "polkadot-parachain", + "serde", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-version", + "xcm", +] + +[[package]] +name = "cumulus-pallet-parachain-system-proc-macro" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "cumulus-pallet-xcm" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", +] + +[[package]] +name = "cumulus-pallet-xcmp-queue" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.4", + "rand_chacha 0.3.1", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "cumulus-primitives-core" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain", + "polkadot-primitives", + "sp-api", + "sp-runtime", + "sp-std", + "sp-trie", + "xcm", +] + +[[package]] +name = "cumulus-primitives-parachain-inherent" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "cumulus-test-relay-sproof-builder", + "parity-scale-codec", + "polkadot-client", + "sc-client-api", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "tracing", +] + +[[package]] +name = "cumulus-primitives-timestamp" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "sp-inherents", + "sp-std", + "sp-timestamp", +] + +[[package]] +name = "cumulus-primitives-utility" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain", + "polkadot-primitives", + "sp-runtime", + "sp-std", + "sp-trie", + "xcm", +] + +[[package]] +name = "cumulus-test-relay-sproof-builder" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "parity-scale-codec", + "polkadot-primitives", + "sp-runtime", + "sp-state-machine", + "sp-std", +] + +[[package]] +name = "curve25519-dalek" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" +dependencies = [ + "byteorder", + "digest 0.8.1", + "rand_core 0.5.1", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "data-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" + +[[package]] +name = "data-encoding-macro" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" +dependencies = [ + "data-encoding", + "data-encoding-macro-internal", +] + +[[package]] +name = "data-encoding-macro-internal" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" +dependencies = [ + "data-encoding", + "syn 1.0.75", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "derive" +version = "0.0.1" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "derive_more" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a141330240c921ec6d074a3e188a7c7ef95668bb95e7d44fa0e5778ec2a7afe" +dependencies = [ + "lazy_static", + "proc-macro2 0.4.30", + "quote 0.6.13", + "regex", + "rustc_version 0.2.3", + "syn 0.15.44", +] + +[[package]] +name = "derive_more" +version = "0.99.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" +dependencies = [ + "convert_case", + "proc-macro2 1.0.28", + "quote 1.0.9", + "rustc_version 0.3.3", + "syn 1.0.75", +] + +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array 0.12.4", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "directories" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "directories-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +dependencies = [ + "cfg-if 1.0.0", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dns-parser" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" +dependencies = [ + "byteorder", + "quick-error 1.2.3", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "dyn-clonable" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +dependencies = [ + "dyn-clonable-impl", + "dyn-clone", +] + +[[package]] +name = "dyn-clonable-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "dyn-clone" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf" + +[[package]] +name = "ed25519" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4620d40f6d2601794401d6dd95a5cf69b6c157852539470eeda433a99b3c0efc" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519", + "rand 0.7.3", + "serde", + "sha2 0.9.5", + "zeroize", +] + +[[package]] +name = "either" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" + +[[package]] +name = "enum-as-inner" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" +dependencies = [ + "heck", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "enumflags2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" +dependencies = [ + "enumflags2_derive", +] + +[[package]] +name = "enumflags2_derive" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "enumn" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e58b112d5099aa0857c5d05f0eacab86406dd8c0f85fe5d320a13256d29ecf4" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "env_logger" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +dependencies = [ + "atty", + "humantime 1.3.0", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +dependencies = [ + "atty", + "humantime 2.1.0", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "environmental" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" + +[[package]] +name = "erased-serde" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3de9ad4541d99dc22b59134e7ff8dc3d6c988c89ecd7324bf10a8362b07a2afa" +dependencies = [ + "serde", +] + +[[package]] +name = "errno" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa68f2fb9cae9d37c9b2b3584aba698a2e97f72d7aef7b9f7aa71d8b54ce46fe" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067" +dependencies = [ + "gcc", + "libc", +] + +[[package]] +name = "ethbloom" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-rlp", + "impl-serde", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd6bde671199089e601e8d47e153368b893ef885f11f365a3261ec58153c211" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-rlp", + "impl-serde", + "primitive-types", + "uint", +] + +[[package]] +name = "event-listener" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" + +[[package]] +name = "exit-future" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" +dependencies = [ + "futures 0.3.16", +] + +[[package]] +name = "failure" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" +dependencies = [ + "backtrace", + "failure_derive", +] + +[[package]] +name = "failure_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "synstructure", +] + +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fastrand" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e" +dependencies = [ + "instant", +] + +[[package]] +name = "fdlimit" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" +dependencies = [ + "libc", +] + +[[package]] +name = "file-per-thread-logger" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fdbe0d94371f9ce939b555dd342d0686cc4c0cadbcd4b61d70af5ff97eb4126" +dependencies = [ + "env_logger 0.7.1", + "log", +] + +[[package]] +name = "finality-grandpa" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c832d0ed507622c7cb98e9b7f10426850fc9d38527ab8071778dcc3a81d45875" +dependencies = [ + "either", + "futures 0.3.16", + "futures-timer 3.0.2", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.1", + "scale-info", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.4", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" + +[[package]] +name = "flate2" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" +dependencies = [ + "cfg-if 1.0.0", + "crc32fast", + "libc", + "libz-sys", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "fork-tree" +version = "3.0.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding 2.1.0", +] + +[[package]] +name = "frame-benchmarking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "linregress", + "log", + "parity-scale-codec", + "paste", + "sp-api", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-std", + "sp-storage", +] + +[[package]] +name = "frame-benchmarking-cli" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "Inflector", + "chrono", + "frame-benchmarking", + "frame-support", + "handlebars", + "linked-hash-map", + "log", + "parity-scale-codec", + "sc-cli", + "sc-client-db", + "sc-executor", + "sc-service", + "serde", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "structopt", +] + +[[package]] +name = "frame-election-provider-support" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-arithmetic", + "sp-npos-elections", + "sp-std", +] + +[[package]] +name = "frame-executive" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", +] + +[[package]] +name = "frame-metadata" +version = "14.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-core", + "sp-std", +] + +[[package]] +name = "frame-support" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "bitflags", + "frame-metadata", + "frame-support-procedural", + "impl-trait-for-tuples", + "log", + "once_cell", + "parity-scale-codec", + "paste", + "serde", + "smallvec 1.6.1", + "sp-arithmetic", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-state-machine", + "sp-std", + "sp-tracing", +] + +[[package]] +name = "frame-support-procedural" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "Inflector", + "frame-support-procedural-tools", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "3.0.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "frame-system" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] +name = "frame-system-benchmarking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "frame-system-rpc-runtime-api" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "sp-api", +] + +[[package]] +name = "frame-try-runtime" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "fs-err" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ebd3504ad6116843b8375ad70df74e7bfe83cac77a1f3fe73200c844d43bfe0" + +[[package]] +name = "fs-swap" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03d47dad3685eceed8488986cad3d5027165ea5edb164331770e2059555f10a5" +dependencies = [ + "lazy_static", + "libc", + "libloading 0.5.2", + "winapi 0.3.9", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +dependencies = [ + "bitflags", + "fuchsia-zircon-sys", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[package]] +name = "futures" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + +[[package]] +name = "futures" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99" + +[[package]] +name = "futures-cpupool" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" +dependencies = [ + "futures 0.1.31", + "num_cpus", +] + +[[package]] +name = "futures-executor" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", + "num_cpus", +] + +[[package]] +name = "futures-io" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582" + +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite 0.2.7", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57" +dependencies = [ + "autocfg", + "proc-macro-hack", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "futures-rustls" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b" +dependencies = [ + "futures-io", + "rustls 0.19.1", + "webpki", +] + +[[package]] +name = "futures-sink" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53" + +[[package]] +name = "futures-task" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2" + +[[package]] +name = "futures-timer" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" + +[[package]] +name = "futures-util" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78" +dependencies = [ + "autocfg", + "futures 0.1.31", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite 0.2.7", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "gcc" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", +] + +[[package]] +name = "ghash" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +dependencies = [ + "opaque-debug 0.3.0", + "polyval", +] + +[[package]] +name = "gimli" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" +dependencies = [ + "fallible-iterator", + "indexmap", + "stable_deref_trait", +] + +[[package]] +name = "gimli" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" + +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "globset" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" +dependencies = [ + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", +] + +[[package]] +name = "gloo-timers" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "h2" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" +dependencies = [ + "byteorder", + "bytes 0.4.12", + "fnv", + "futures 0.1.31", + "http 0.1.21", + "indexmap", + "log", + "slab", + "string", + "tokio-io", +] + +[[package]] +name = "h2" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.4", + "indexmap", + "slab", + "tokio 0.2.25", + "tokio-util", + "tracing", + "tracing-futures", +] + +[[package]] +name = "handlebars" +version = "3.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" +dependencies = [ + "log", + "pest", + "pest_derive", + "quick-error 2.0.1", + "serde", + "serde_json", +] + +[[package]] +name = "hash-db" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" + +[[package]] +name = "hash256-std-hasher" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" +dependencies = [ + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex-literal" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0" +dependencies = [ + "hex-literal-impl", + "proc-macro-hack", +] + +[[package]] +name = "hex-literal" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e4590e13640f19f249fe3e4eca5113bc4289f2497710378190e7f4bd96f45b" + +[[package]] +name = "hex-literal-impl" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "853f769599eb31de176303197b7ba4973299c38c7a7604a6bc88c3eef05b9b46" +dependencies = [ + "proc-macro-hack", +] + +[[package]] +name = "hex_fmt" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" + +[[package]] +name = "hmac" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" +dependencies = [ + "crypto-mac 0.7.0", + "digest 0.8.1", +] + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac-drbg" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" +dependencies = [ + "digest 0.8.1", + "generic-array 0.12.4", + "hmac 0.7.1", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +dependencies = [ + "digest 0.9.0", + "generic-array 0.14.4", + "hmac 0.8.1", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi 0.3.9", +] + +[[package]] +name = "http" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" +dependencies = [ + "bytes 0.4.12", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +dependencies = [ + "bytes 1.0.1", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "http 0.1.21", + "tokio-buf", +] + +[[package]] +name = "http-body" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" +dependencies = [ + "bytes 0.5.6", + "http 0.2.4", +] + +[[package]] +name = "http-body" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" +dependencies = [ + "bytes 1.0.1", + "http 0.2.4", + "pin-project-lite 0.2.7", +] + +[[package]] +name = "httparse" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" + +[[package]] +name = "httpdate" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" + +[[package]] +name = "httpdate" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" + +[[package]] +name = "humantime" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" +dependencies = [ + "quick-error 1.2.3", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.12.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "futures-cpupool", + "h2 0.1.26", + "http 0.1.21", + "http-body 0.1.0", + "httparse", + "iovec", + "itoa", + "log", + "net2", + "rustc_version 0.2.3", + "time", + "tokio 0.1.22", + "tokio-buf", + "tokio-executor", + "tokio-io", + "tokio-reactor", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "want 0.2.0", +] + +[[package]] +name = "hyper" +version = "0.13.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb" +dependencies = [ + "bytes 0.5.6", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.2.7", + "http 0.2.4", + "http-body 0.3.1", + "httparse", + "httpdate 0.3.2", + "itoa", + "pin-project 1.0.8", + "socket2 0.3.19", + "tokio 0.2.25", + "tower-service", + "tracing", + "want 0.3.0", +] + +[[package]] +name = "hyper" +version = "0.14.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b61cf2d1aebcf6e6352c97b81dc2244ca29194be1b276f5d8ad5c6330fffb11" +dependencies = [ + "bytes 1.0.1", + "futures-channel", + "futures-core", + "futures-util", + "http 0.2.4", + "http-body 0.4.3", + "httparse", + "httpdate 1.0.1", + "itoa", + "pin-project-lite 0.2.7", + "tokio 1.10.0", + "tower-service", + "tracing", + "want 0.3.0", +] + +[[package]] +name = "hyper-rustls" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6" +dependencies = [ + "bytes 0.5.6", + "ct-logs", + "futures-util", + "hyper 0.13.10", + "log", + "rustls 0.18.1", + "rustls-native-certs 0.4.0", + "tokio 0.2.25", + "tokio-rustls 0.14.1", + "webpki", +] + +[[package]] +name = "idna" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "if-addrs" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48" +dependencies = [ + "if-addrs-sys", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "if-addrs-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "if-watch" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179" +dependencies = [ + "async-io", + "futures 0.3.16", + "futures-lite", + "if-addrs", + "ipnet", + "libc", + "log", + "winapi 0.3.9", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b47ca4d2b6931707a55fce5cf66aff80e2178c8b63bbb4ecb5695cbc870ddf6f" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "indexmap" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +dependencies = [ + "autocfg", + "hashbrown", + "serde", +] + +[[package]] +name = "instant" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "integer-encoding" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48dc51180a9b377fd75814d0cc02199c20f8e99433d6762f650d39cdbbd3b56f" + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "intervalier" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275" +dependencies = [ + "futures 0.3.16", + "futures-timer 2.0.2", +] + +[[package]] +name = "iovec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +dependencies = [ + "libc", +] + +[[package]] +name = "ip_network" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f" + +[[package]] +name = "ipconfig" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +dependencies = [ + "socket2 0.3.19", + "widestring", + "winapi 0.3.9", + "winreg", +] + +[[package]] +name = "ipnet" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" + +[[package]] +name = "itertools" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "jobserver" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4bf49d50e2961077d9c99f4b7997d770a1114f087c3c2e0069b36c13fc2979d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpc-client-transports" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "489b9c612e60c766f751ab40fcb43cbb55a1e10bb44a9b4307ed510ca598cbd7" +dependencies = [ + "failure", + "futures 0.1.31", + "jsonrpc-core", + "jsonrpc-pubsub", + "log", + "serde", + "serde_json", + "url 1.7.2", +] + +[[package]] +name = "jsonrpc-core" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0745a6379e3edc893c84ec203589790774e4247420033e71a76d3ab4687991fa" +dependencies = [ + "futures 0.1.31", + "log", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "jsonrpc-core-client" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f764902d7b891344a0acb65625f32f6f7c6db006952143bd650209fbe7d94db" +dependencies = [ + "jsonrpc-client-transports", +] + +[[package]] +name = "jsonrpc-derive" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99a847f9ec7bb52149b2786a17c9cb260d6effc6b8eeb8c16b343a487a7563a3" +dependencies = [ + "proc-macro-crate 0.1.5", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "jsonrpc-http-server" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7" +dependencies = [ + "hyper 0.12.36", + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "net2", + "parking_lot 0.10.2", + "unicase", +] + +[[package]] +name = "jsonrpc-ipc-server" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf50e53e4eea8f421a7316c5f63e395f7bc7c4e786a6dc54d76fab6ff7aa7ce7" +dependencies = [ + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "parity-tokio-ipc", + "parking_lot 0.10.2", + "tokio-service", +] + +[[package]] +name = "jsonrpc-pubsub" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "639558e0604013be9787ae52f798506ae42bf4220fe587bdc5625871cc8b9c77" +dependencies = [ + "jsonrpc-core", + "log", + "parking_lot 0.10.2", + "rand 0.7.3", + "serde", +] + +[[package]] +name = "jsonrpc-server-utils" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f1f3990650c033bd8f6bd46deac76d990f9bbfb5f8dc8c4767bf0a00392176" +dependencies = [ + "bytes 0.4.12", + "globset", + "jsonrpc-core", + "lazy_static", + "log", + "tokio 0.1.22", + "tokio-codec", + "unicase", +] + +[[package]] +name = "jsonrpc-ws-server" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6596fe75209b73a2a75ebe1dce4e60e03b88a2b25e8807b667597f6315150d22" +dependencies = [ + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "parity-ws", + "parking_lot 0.10.2", + "slab", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f37924e16300e249a52a22cabb5632f846dc9760b39355f5e8bc70cd23dc6300" +dependencies = [ + "Inflector", + "bae", + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d67724d368c59e08b557a516cf8fcc51100e7a708850f502e1044b151fe89788" +dependencies = [ + "async-trait", + "beef", + "futures-channel", + "futures-util", + "hyper 0.14.11", + "log", + "serde", + "serde_json", + "soketto 0.6.0", + "thiserror", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2834b6e7f57ce9a4412ed4d6dc95125d2c8612e68f86b9d9a07369164e4198" +dependencies = [ + "async-trait", + "fnv", + "futures 0.3.16", + "jsonrpsee-types", + "log", + "pin-project 1.0.8", + "rustls 0.19.1", + "rustls-native-certs 0.5.0", + "serde", + "serde_json", + "soketto 0.6.0", + "thiserror", + "tokio 0.2.25", + "tokio-rustls 0.15.0", + "tokio-util", + "url 2.2.2", +] + +[[package]] +name = "keccak" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "kusama-runtime" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "beefy-primitives", + "bitvec 0.20.4", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex-literal 0.3.3", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-bounties", + "pallet-collective", + "pallet-democracy", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-gilt", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-mmr-primitives", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-offences-benchmarking", + "pallet-proxy", + "pallet-recovery", + "pallet-scheduler", + "pallet-session", + "pallet-session-benchmarking", + "pallet-society", + "pallet-staking", + "pallet-staking-reward-fn", + "pallet-timestamp", + "pallet-tips", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "pallet-xcm", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-arithmetic", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-executor", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "kvdb" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45a3f58dc069ec0e205a27f5b45920722a46faed802a0541538241af6228f512" +dependencies = [ + "parity-util-mem", + "smallvec 1.6.1", +] + +[[package]] +name = "kvdb-memorydb" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3b6b85fc643f5acd0bffb2cc8a6d150209379267af0d41db72170021841f9f5" +dependencies = [ + "kvdb", + "parity-util-mem", + "parking_lot 0.11.1", +] + +[[package]] +name = "kvdb-rocksdb" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d169dbb316aa0fa185d02d847c047f1aa20e292cf1563d790c13536a2a732c8" +dependencies = [ + "fs-swap", + "kvdb", + "log", + "num_cpus", + "owning_ref", + "parity-util-mem", + "parking_lot 0.11.1", + "regex", + "rocksdb", + "smallvec 1.6.1", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1fa8cddc8fbbee11227ef194b5317ed014b8acbf15139bd716a18ad3fe99ec5" + +[[package]] +name = "libloading" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" +dependencies = [ + "cc", + "winapi 0.3.9", +] + +[[package]] +name = "libloading" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a" +dependencies = [ + "cfg-if 1.0.0", + "winapi 0.3.9", +] + +[[package]] +name = "libm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" + +[[package]] +name = "libp2p" +version = "0.37.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b" +dependencies = [ + "atomic", + "bytes 1.0.1", + "futures 0.3.16", + "lazy_static", + "libp2p-core", + "libp2p-deflate", + "libp2p-dns", + "libp2p-floodsub", + "libp2p-gossipsub", + "libp2p-identify", + "libp2p-kad", + "libp2p-mdns", + "libp2p-mplex", + "libp2p-noise", + "libp2p-ping", + "libp2p-plaintext", + "libp2p-pnet", + "libp2p-relay", + "libp2p-request-response", + "libp2p-swarm", + "libp2p-swarm-derive", + "libp2p-tcp", + "libp2p-uds", + "libp2p-wasm-ext", + "libp2p-websocket", + "libp2p-yamux", + "parity-multiaddr", + "parking_lot 0.11.1", + "pin-project 1.0.8", + "smallvec 1.6.1", + "wasm-timer", +] + +[[package]] +name = "libp2p-core" +version = "0.28.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "554d3e7e9e65f939d66b75fd6a4c67f258fe250da61b91f46c545fc4a89b51d9" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", + "futures 0.3.16", + "futures-timer 3.0.2", + "lazy_static", + "libsecp256k1 0.3.5", + "log", + "multihash", + "multistream-select", + "parity-multiaddr", + "parking_lot 0.11.1", + "pin-project 1.0.8", + "prost", + "prost-build", + "rand 0.7.3", + "ring", + "rw-stream-sink", + "sha2 0.9.5", + "smallvec 1.6.1", + "thiserror", + "unsigned-varint 0.7.0", + "void", + "zeroize", +] + +[[package]] +name = "libp2p-deflate" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08" +dependencies = [ + "flate2", + "futures 0.3.16", + "libp2p-core", +] + +[[package]] +name = "libp2p-dns" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b" +dependencies = [ + "async-std-resolver", + "futures 0.3.16", + "libp2p-core", + "log", + "smallvec 1.6.1", + "trust-dns-resolver", +] + +[[package]] +name = "libp2p-floodsub" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48a9b570f6766301d9c4aa00fce3554cad1598e2f466debbc4dde909028417cf" +dependencies = [ + "cuckoofilter", + "fnv", + "futures 0.3.16", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "smallvec 1.6.1", +] + +[[package]] +name = "libp2p-gossipsub" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7b0c8506a6ec3344b9e706d7c7a6dba826f8ede735cfe13dde12a8c263c4af9" +dependencies = [ + "asynchronous-codec 0.6.0", + "base64 0.13.0", + "byteorder", + "bytes 1.0.1", + "fnv", + "futures 0.3.16", + "hex_fmt", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "regex", + "sha2 0.9.5", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", + "wasm-timer", +] + +[[package]] +name = "libp2p-identify" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46" +dependencies = [ + "futures 0.3.16", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "smallvec 1.6.1", + "wasm-timer", +] + +[[package]] +name = "libp2p-kad" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b07312ebe5ee4fd2404447a0609814574df55c65d4e20838b957bbd34907d820" +dependencies = [ + "arrayvec 0.5.2", + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "either", + "fnv", + "futures 0.3.16", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "sha2 0.9.5", + "smallvec 1.6.1", + "uint", + "unsigned-varint 0.7.0", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-mdns" +version = "0.30.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4efa70c1c3d2d91237f8546e27aeb85e287d62c066a7b4f3ea6a696d43ced714" +dependencies = [ + "async-io", + "data-encoding", + "dns-parser", + "futures 0.3.16", + "if-watch", + "lazy_static", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.8.4", + "smallvec 1.6.1", + "socket2 0.4.1", + "void", +] + +[[package]] +name = "libp2p-mplex" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures 0.3.16", + "libp2p-core", + "log", + "nohash-hasher", + "parking_lot 0.11.1", + "rand 0.7.3", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", +] + +[[package]] +name = "libp2p-noise" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd" +dependencies = [ + "bytes 1.0.1", + "curve25519-dalek 3.2.0", + "futures 0.3.16", + "lazy_static", + "libp2p-core", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "sha2 0.9.5", + "snow", + "static_assertions", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-ping" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1" +dependencies = [ + "futures 0.3.16", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.7.3", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-plaintext" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures 0.3.16", + "libp2p-core", + "log", + "prost", + "prost-build", + "unsigned-varint 0.7.0", + "void", +] + +[[package]] +name = "libp2p-pnet" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599" +dependencies = [ + "futures 0.3.16", + "log", + "pin-project 1.0.8", + "rand 0.7.3", + "salsa20", + "sha3", +] + +[[package]] +name = "libp2p-relay" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8786aca3f18671d8776289706a5521f6c9124a820f69e358de214b9939440d" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures 0.3.16", + "futures-timer 3.0.2", + "libp2p-core", + "libp2p-swarm", + "log", + "pin-project 1.0.8", + "prost", + "prost-build", + "rand 0.7.3", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-request-response" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cdbe172f08e6d0f95fa8634e273d4c4268c4063de2e33e7435194b0130c62e3" +dependencies = [ + "async-trait", + "bytes 1.0.1", + "futures 0.3.16", + "libp2p-core", + "libp2p-swarm", + "log", + "lru", + "minicbor", + "rand 0.7.3", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", + "wasm-timer", +] + +[[package]] +name = "libp2p-swarm" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92" +dependencies = [ + "either", + "futures 0.3.16", + "libp2p-core", + "log", + "rand 0.7.3", + "smallvec 1.6.1", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-swarm-derive" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed" +dependencies = [ + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "libp2p-tcp" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9" +dependencies = [ + "async-io", + "futures 0.3.16", + "futures-timer 3.0.2", + "if-watch", + "ipnet", + "libc", + "libp2p-core", + "log", + "socket2 0.4.1", +] + +[[package]] +name = "libp2p-uds" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5" +dependencies = [ + "async-std", + "futures 0.3.16", + "libp2p-core", + "log", +] + +[[package]] +name = "libp2p-wasm-ext" +version = "0.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d413e4cf9b8e5dfbcd2a60d3dc5a3391308bdb463684093d4f67137b7113de" +dependencies = [ + "futures 0.3.16", + "js-sys", + "libp2p-core", + "parity-send-wrapper", + "wasm-bindgen", + "wasm-bindgen-futures", +] + +[[package]] +name = "libp2p-websocket" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74" +dependencies = [ + "either", + "futures 0.3.16", + "futures-rustls", + "libp2p-core", + "log", + "quicksink", + "rw-stream-sink", + "soketto 0.4.2", + "url 2.2.2", + "webpki-roots", +] + +[[package]] +name = "libp2p-yamux" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4" +dependencies = [ + "futures 0.3.16", + "libp2p-core", + "parking_lot 0.11.1", + "thiserror", + "yamux", +] + +[[package]] +name = "librocksdb-sys" +version = "6.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c309a9d2470844aceb9a4a098cf5286154d20596868b75a6b36357d2bb9ca25d" +dependencies = [ + "bindgen", + "cc", + "glob", + "libc", +] + +[[package]] +name = "libsecp256k1" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" +dependencies = [ + "arrayref", + "crunchy", + "digest 0.8.1", + "hmac-drbg 0.2.0", + "rand 0.7.3", + "sha2 0.8.2", + "subtle 2.4.1", + "typenum", +] + +[[package]] +name = "libsecp256k1" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" +dependencies = [ + "arrayref", + "base64 0.12.3", + "digest 0.9.0", + "hmac-drbg 0.3.0", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.7.3", + "serde", + "sha2 0.9.5", + "typenum", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle 2.4.1", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libz-sys" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" + +[[package]] +name = "linked_hash_set" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "linregress" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6e407dadb4ca4b31bc69c27aff00e7ca4534fdcee855159b039a7cebb5f395" +dependencies = [ + "nalgebra", + "statrs", +] + +[[package]] +name = "lock_api" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "lock_api" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if 1.0.0", + "value-bag", +] + +[[package]] +name = "lru" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + +[[package]] +name = "matrixmultiply" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741" +dependencies = [ + "rawpointer", +] + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" + +[[package]] +name = "memmap2" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memory-db" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de006e09d04fc301a5f7e817b75aa49801c4479a8af753764416b085337ddcc5" +dependencies = [ + "hash-db", + "hashbrown", + "parity-util-mem", +] + +[[package]] +name = "memory-lru" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beeb98b3d1ed2c0054bd81b5ba949a0243c3ccad751d45ea898fa8059fa2860a" +dependencies = [ + "lru", +] + +[[package]] +name = "memory_units" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" + +[[package]] +name = "merlin" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "metered-channel" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "derive_more 0.99.16", + "futures 0.3.16", + "futures-timer 3.0.2", +] + +[[package]] +name = "mick-jaeger" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c023c3f16109e7f33aa451f773fd61070e265b4977d0b6e344a51049296dd7df" +dependencies = [ + "futures 0.3.16", + "rand 0.7.3", + "thrift", +] + +[[package]] +name = "minicbor" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51aa5bb0ca22415daca596a227b507f880ad1b2318a87fa9325312a5d285ca0d" +dependencies = [ + "minicbor-derive", +] + +[[package]] +name = "minicbor-derive" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54999f917cd092b13904737e26631aa2b2b88d625db68e4bab461dcd8006c788" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "miniz_oxide" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +dependencies = [ + "adler", + "autocfg", +] + +[[package]] +name = "mio" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +dependencies = [ + "cfg-if 0.1.10", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow 0.2.2", + "net2", + "slab", + "winapi 0.2.8", +] + +[[package]] +name = "mio-extras" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" +dependencies = [ + "lazycell", + "log", + "mio", + "slab", +] + +[[package]] +name = "mio-named-pipes" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" +dependencies = [ + "log", + "mio", + "miow 0.3.7", + "winapi 0.3.9", +] + +[[package]] +name = "mio-uds" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" +dependencies = [ + "iovec", + "libc", + "mio", +] + +[[package]] +name = "miow" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +dependencies = [ + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "more-asserts" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" + +[[package]] +name = "multibase" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b78c60039650ff12e140ae867ef5299a58e19dded4d334c849dc7177083667e2" +dependencies = [ + "base-x", + "data-encoding", + "data-encoding-macro", +] + +[[package]] +name = "multihash" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "digest 0.9.0", + "generic-array 0.14.4", + "multihash-derive", + "sha2 0.9.5", + "sha3", + "unsigned-varint 0.5.1", +] + +[[package]] +name = "multihash-derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro-error 1.0.4", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "synstructure", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "multistream-select" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8" +dependencies = [ + "bytes 1.0.1", + "futures 0.3.16", + "log", + "pin-project 1.0.8", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", +] + +[[package]] +name = "nalgebra" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" +dependencies = [ + "approx", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational 0.4.0", + "num-traits", + "rand 0.8.4", + "rand_distr", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "names" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da" +dependencies = [ + "rand 0.3.23", +] + +[[package]] +name = "net2" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "6.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2" +dependencies = [ + "bitvec 0.19.5", + "funty", + "memchr", + "version_check", +] + +[[package]] +name = "num-bigint" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170" +dependencies = [ + "crc32fast", + "indexmap", +] + +[[package]] +name = "object" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2766204889d09937d00bfbb7fec56bb2a199e2ade963cab19185d8a6104c7c" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +dependencies = [ + "parking_lot 0.11.1", +] + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl-probe" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" + +[[package]] +name = "ordered-float" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7" +dependencies = [ + "num-traits", +] + +[[package]] +name = "orml-currencies" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" +dependencies = [ + "frame-support", + "frame-system", + "orml-traits", + "orml-utilities", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "orml-tokens" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" +dependencies = [ + "frame-support", + "frame-system", + "orml-traits", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "orml-traits" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "num-traits", + "orml-utilities", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", +] + +[[package]] +name = "orml-unknown-tokens" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=master#5babe0b71cf60538ca23d41231f9558816c52ae9" +dependencies = [ + "frame-support", + "frame-system", + "orml-xcm-support", + "parity-scale-codec", + "serde", + "sp-std", + "xcm", +] + +[[package]] +name = "orml-utilities" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" +dependencies = [ + "frame-support", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "orml-xcm-support" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" +dependencies = [ + "frame-support", + "orml-traits", + "parity-scale-codec", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "orml-xtokens" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack//open-runtime-module-library?rev=5babe0b71cf60538ca23d41231f9558816c52ae9#5babe0b71cf60538ca23d41231f9558816c52ae9" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "orml-traits", + "orml-xcm-support", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "owning_ref" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "pallet-asset-index" +version = "0.0.1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "orml-tokens", + "orml-traits", + "pallet-balances", + "pallet-chainlink-feed", + "pallet-price-feed", + "pallet-saft-registry", + "parity-scale-codec", + "polkadot-parachain", + "primitives", + "rand 0.8.4", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "pallet-asset-index-rpc" +version = "0.0.1" +dependencies = [ + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "pallet-asset-index-rpc-runtime-api", + "parity-scale-codec", + "primitives", + "serde", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-runtime", +] + +[[package]] +name = "pallet-asset-index-rpc-runtime-api" +version = "0.0.1" +dependencies = [ + "parity-scale-codec", + "primitives", + "serde", + "sp-api", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-assets" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-aura" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-authority-discovery" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "pallet-session", + "parity-scale-codec", + "sp-application-crypto", + "sp-authority-discovery", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-authorship" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-authorship 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-babe" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-vrf", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-balances" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-beefy" +version = "0.1.0" +source = "git+https://github.com/paritytech//grandpa-bridge-gadget?rev=f40c0ab7b327e874d5c8d699bfa5d762f1759ee0#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" +dependencies = [ + "beefy-primitives", + "frame-support", + "frame-system", + "pallet-session", + "parity-scale-codec", + "scale-info", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-beefy-mmr" +version = "0.1.0" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.9#f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" +dependencies = [ + "beefy-merkle-tree", + "beefy-primitives", + "frame-support", + "frame-system", + "hex", + "libsecp256k1 0.6.0", + "log", + "pallet-beefy", + "pallet-mmr", + "pallet-mmr-primitives", + "pallet-session", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-bounties" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-treasury", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-bridge-dispatch" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-message-dispatch", + "bp-runtime", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-bridge-grandpa" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bp-header-chain", + "bp-runtime", + "bp-test-utils", + "finality-grandpa", + "frame-support", + "frame-system", + "log", + "num-traits", + "parity-scale-codec", + "serde", + "sp-finality-grandpa", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] +name = "pallet-bridge-messages" +version = "0.1.0" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "bp-message-dispatch", + "bp-messages", + "bp-rialto", + "bp-runtime", + "frame-support", + "frame-system", + "log", + "num-traits", + "parity-scale-codec", + "serde", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-chainlink-feed" +version = "0.1.0" +source = "git+https://github.com/smartcontractkit/chainlink-polkadot?branch=polkadot-v0.9.8#124646ec14d25b9c6b5b3100c5422ebb53c804a0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-arithmetic", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-collator-selection" +version = "3.0.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-collective" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-committee" +version = "0.0.1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", +] + +[[package]] +name = "pallet-democracy" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-election-provider-multi-phase" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.7.3", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-std", + "static_assertions", +] + +[[package]] +name = "pallet-elections-phragmen" +version = "5.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-gilt" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-arithmetic", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-grandpa" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "sp-application-crypto", + "sp-core", + "sp-finality-grandpa", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-identity" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "enumflags2", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-im-online" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "parity-scale-codec", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-indices" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-keyring 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-local-treasury" +version = "0.0.1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-balances", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-membership" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-mmr" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "ckb-merkle-mountain-range", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-mmr-primitives", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-mmr-primitives" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "serde", + "sp-api", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-mmr-rpc" +version = "3.0.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "pallet-mmr-primitives", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", +] + +[[package]] +name = "pallet-multisig" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-nicks" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-offences" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-offences-benchmarking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "pallet-babe", + "pallet-balances", + "pallet-grandpa", + "pallet-im-online", + "pallet-offences", + "pallet-session", + "pallet-staking", + "parity-scale-codec", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-price-feed" +version = "0.0.1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-chainlink-feed", + "pallet-timestamp", + "parity-scale-codec", + "primitives", + "serde", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-proxy" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-randomness-collective-flip" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "safe-mix", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-recovery" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "enumflags2", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-remote-asset-manager" +version = "0.0.1" +dependencies = [ + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "orml-currencies", + "orml-tokens", + "orml-traits", + "orml-unknown-tokens", + "orml-xcm-support", + "orml-xtokens", + "pallet-asset-index", + "pallet-assets", + "pallet-balances", + "pallet-collective", + "pallet-price-feed", + "pallet-proxy", + "pallet-saft-registry", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-timestamp", + "pallet-xcm", + "parachain-info", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-runtime-parachains", + "primitives", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", + "xcm", + "xcm-builder", + "xcm-calls", + "xcm-executor", + "xcm-simulator", +] + +[[package]] +name = "pallet-saft-registry" +version = "0.0.1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "orml-tokens", + "orml-traits", + "pallet-asset-index", + "pallet-balances", + "pallet-price-feed", + "pallet-remote-asset-manager", + "parity-scale-codec", + "primitives", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "xcm", +] + +[[package]] +name = "pallet-scheduler" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-session" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "pallet-timestamp", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-trie", +] + +[[package]] +name = "pallet-session-benchmarking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-session", + "pallet-staking", + "rand 0.7.3", + "sp-runtime", + "sp-session", + "sp-std", +] + +[[package]] +name = "pallet-society" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "rand_chacha 0.2.2", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-staking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "paste", + "rand_chacha 0.2.2", + "serde", + "sp-application-crypto", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", + "static_assertions", +] + +[[package]] +name = "pallet-staking-reward-curve" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "pallet-staking-reward-fn" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "log", + "sp-arithmetic", +] + +[[package]] +name = "pallet-sudo" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-timestamp" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-std", + "sp-timestamp", +] + +[[package]] +name = "pallet-tips" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-treasury", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-transaction-payment" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "smallvec 1.6.1", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-transaction-payment-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", +] + +[[package]] +name = "pallet-transaction-payment-rpc-runtime-api" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "pallet-transaction-payment", + "parity-scale-codec", + "sp-api", + "sp-runtime", +] + +[[package]] +name = "pallet-treasury" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-balances", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-utility" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-vesting" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "enumflags2", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-xcm" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "parachain-info" +version = "0.1.0" +source = "git+https://github.com/paritytech//cumulus?rev=fd80849dde5c209c20a996cfcc5aaacd4666dcbe#fd80849dde5c209c20a996cfcc5aaacd4666dcbe" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", +] + +[[package]] +name = "parity-db" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e337f62db341435f0da05b8f6b97e984ef4ea5800510cd07c2d624688c40b47" +dependencies = [ + "blake2-rfc", + "crc32fast", + "fs2", + "hex", + "libc", + "log", + "memmap2", + "parking_lot 0.11.1", + "rand 0.8.4", +] + +[[package]] +name = "parity-multiaddr" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4" +dependencies = [ + "arrayref", + "bs58", + "byteorder", + "data-encoding", + "multihash", + "percent-encoding 2.1.0", + "serde", + "static_assertions", + "unsigned-varint 0.7.0", + "url 2.2.2", +] + +[[package]] +name = "parity-scale-codec" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8975095a2a03bbbdc70a74ab11a4f76a6d0b84680d87c68d722531b0ac28e8a9" +dependencies = [ + "arrayvec 0.7.1", + "bitvec 0.20.4", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40dbbfef7f0a1143c5b06e0d76a6278e25dac0bc1af4be51a0fbb73f07e7ad09" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "parity-send-wrapper" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" + +[[package]] +name = "parity-tokio-ipc" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "libc", + "log", + "mio-named-pipes", + "miow 0.3.7", + "rand 0.7.3", + "tokio 0.1.22", + "tokio-named-pipes", + "tokio-uds", + "winapi 0.3.9", +] + +[[package]] +name = "parity-util-mem" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ad6f1acec69b95caf435bbd158d486e5a0a44fcf51531e84922c59ff09e8457" +dependencies = [ + "cfg-if 1.0.0", + "ethereum-types", + "hashbrown", + "impl-trait-for-tuples", + "lru", + "parity-util-mem-derive", + "parking_lot 0.11.1", + "primitive-types", + "smallvec 1.6.1", + "winapi 0.3.9", +] + +[[package]] +name = "parity-util-mem-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" +dependencies = [ + "proc-macro2 1.0.28", + "syn 1.0.75", + "synstructure", +] + +[[package]] +name = "parity-wasm" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" +dependencies = [ + "byteorder", +] + +[[package]] +name = "parity-wasm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" + +[[package]] +name = "parity-ws" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322d72dfe461b8b9e367d057ceace105379d64d5b03907d23c481ccf3fbf8aa4" +dependencies = [ + "byteorder", + "bytes 0.4.12", + "httparse", + "log", + "mio", + "mio-extras", + "rand 0.7.3", + "sha-1 0.8.2", + "slab", + "url 2.2.2", +] + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +dependencies = [ + "lock_api 0.3.4", + "parking_lot_core 0.6.2", + "rustc_version 0.2.3", +] + +[[package]] +name = "parking_lot" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" +dependencies = [ + "lock_api 0.3.4", + "parking_lot_core 0.7.2", +] + +[[package]] +name = "parking_lot" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +dependencies = [ + "instant", + "lock_api 0.4.4", + "parking_lot_core 0.8.3", +] + +[[package]] +name = "parking_lot_core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +dependencies = [ + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "rustc_version 0.2.3", + "smallvec 0.6.14", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" +dependencies = [ + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "smallvec 1.6.1", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall 0.2.10", + "smallvec 1.6.1", + "winapi 0.3.9", +] + +[[package]] +name = "paste" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" + +[[package]] +name = "pbkdf2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" +dependencies = [ + "byteorder", + "crypto-mac 0.7.0", +] + +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + +[[package]] +name = "pdqselect" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" + +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "percent-encoding" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pest" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +dependencies = [ + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "pest_meta" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" +dependencies = [ + "maplit", + "pest", + "sha-1 0.8.2", +] + +[[package]] +name = "petgraph" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "pin-project" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f" +dependencies = [ + "pin-project-internal 0.4.28", +] + +[[package]] +name = "pin-project" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" +dependencies = [ + "pin-project-internal 1.0.8", +] + +[[package]] +name = "pin-project-internal" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "pin-project-lite" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" + +[[package]] +name = "pin-project-lite" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pint" +version = "3.0.0" +dependencies = [ + "cumulus-client-cli", + "cumulus-client-collator", + "cumulus-client-consensus-aura", + "cumulus-client-consensus-common", + "cumulus-client-consensus-relay-chain", + "cumulus-client-network", + "cumulus-client-service", + "cumulus-pallet-parachain-system", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "derive_more 0.15.0", + "frame-benchmarking", + "frame-benchmarking-cli", + "frame-support", + "frame-system-rpc-runtime-api", + "futures 0.3.16", + "hex-literal 0.2.1", + "jsonrpc-core", + "log", + "pallet-asset-index-rpc", + "pallet-transaction-payment-rpc", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "pint-rpc", + "pint-runtime-common", + "pint-runtime-dev", + "pint-runtime-kusama", + "pint-runtime-polkadot", + "polkadot-cli", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-service", + "polkadot-test-service", + "primitives", + "sc-basic-authorship", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-manual-seal", + "sc-consensus-slots", + "sc-executor", + "sc-keystore", + "sc-network", + "sc-rpc", + "sc-rpc-api", + "sc-service", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "serde", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-timestamp", + "sp-transaction-pool", + "sp-trie", + "structopt", + "substrate-build-script-utils", + "substrate-frame-rpc-system", + "substrate-prometheus-endpoint", + "xcm-calls", +] + +[[package]] +name = "pint-rpc" +version = "0.0.1" +dependencies = [ + "jsonrpc-core", + "pallet-asset-index-rpc", + "pallet-transaction-payment-rpc", + "parity-scale-codec", + "pint-runtime-common", + "primitives", + "sc-client-api", + "sc-rpc", + "sc-rpc-api", + "sc-transaction-pool-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-runtime", + "substrate-frame-rpc-system", +] + +[[package]] +name = "pint-runtime-common" +version = "0.0.1" +dependencies = [ + "cumulus-pallet-xcm", + "frame-support", + "frame-system", + "orml-traits", + "pallet-asset-index", + "pallet-chainlink-feed", + "pallet-committee", + "pallet-local-treasury", + "pallet-price-feed", + "pallet-remote-asset-manager", + "pallet-saft-registry", + "primitives", + "sp-std", + "xcm", + "xcm-calls", +] + +[[package]] +name = "pint-runtime-dev" +version = "2.0.0" +dependencies = [ + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-timestamp", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex", + "hex-literal 0.3.3", + "log", + "orml-currencies", + "orml-tokens", + "orml-traits", + "orml-unknown-tokens", + "orml-xcm-support", + "orml-xtokens", + "pallet-asset-index", + "pallet-asset-index-rpc-runtime-api", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-chainlink-feed", + "pallet-collator-selection", + "pallet-collective", + "pallet-committee", + "pallet-local-treasury", + "pallet-price-feed", + "pallet-randomness-collective-flip", + "pallet-remote-asset-manager", + "pallet-saft-registry", + "pallet-session", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-xcm", + "parachain-info", + "parity-scale-codec", + "pint-runtime-common", + "polkadot-parachain", + "primitives", + "serde", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-calls", + "xcm-executor", +] + +[[package]] +name = "pint-runtime-kusama" +version = "2.0.0" +dependencies = [ + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-timestamp", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex", + "hex-literal 0.3.3", + "log", + "orml-currencies", + "orml-tokens", + "orml-traits", + "orml-unknown-tokens", + "orml-xcm-support", + "orml-xtokens", + "pallet-asset-index", + "pallet-asset-index-rpc-runtime-api", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-chainlink-feed", + "pallet-collator-selection", + "pallet-collective", + "pallet-committee", + "pallet-local-treasury", + "pallet-price-feed", + "pallet-randomness-collective-flip", + "pallet-remote-asset-manager", + "pallet-saft-registry", + "pallet-session", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-xcm", + "parachain-info", + "parity-scale-codec", + "pint-runtime-common", + "polkadot-parachain", + "primitives", + "serde", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-calls", + "xcm-executor", +] + +[[package]] +name = "pint-runtime-polkadot" +version = "2.0.0" +dependencies = [ + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "cumulus-primitives-timestamp", + "cumulus-primitives-utility", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex", + "hex-literal 0.3.3", + "log", + "orml-currencies", + "orml-tokens", + "orml-traits", + "orml-unknown-tokens", + "orml-xcm-support", + "orml-xtokens", + "pallet-asset-index", + "pallet-asset-index-rpc-runtime-api", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-chainlink-feed", + "pallet-collator-selection", + "pallet-collective", + "pallet-committee", + "pallet-local-treasury", + "pallet-price-feed", + "pallet-randomness-collective-flip", + "pallet-remote-asset-manager", + "pallet-saft-registry", + "pallet-session", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-xcm", + "parachain-info", + "parity-scale-codec", + "pint-runtime-common", + "polkadot-parachain", + "primitives", + "serde", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-calls", + "xcm-executor", +] + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "platforms" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325" + +[[package]] +name = "polkadot-approval-distribution" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "tracing", +] + +[[package]] +name = "polkadot-availability-bitfield-distribution" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "tracing", +] + +[[package]] +name = "polkadot-availability-distribution" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "lru", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-core-runtime-api", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.4", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-availability-recovery" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "lru", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.4", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-cli" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "frame-benchmarking-cli", + "futures 0.3.16", + "log", + "polkadot-node-core-pvf", + "polkadot-service", + "sc-cli", + "sc-service", + "sp-core", + "sp-trie", + "structopt", + "substrate-build-script-utils", + "thiserror", + "try-runtime-cli", +] + +[[package]] +name = "polkadot-client" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "beefy-primitives", + "frame-benchmarking", + "frame-system-rpc-runtime-api", + "pallet-mmr-primitives", + "pallet-transaction-payment-rpc-runtime-api", + "polkadot-primitives", + "polkadot-runtime", + "sc-client-api", + "sc-consensus", + "sc-executor", + "sc-service", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-finality-grandpa", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", +] + +[[package]] +name = "polkadot-collator-protocol" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "always-assert", + "futures 0.3.16", + "futures-timer 3.0.2", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-core", + "sp-keystore", + "sp-runtime", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-core-primitives" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "parity-scale-codec", + "parity-util-mem", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "polkadot-dispute-distribution" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "lru", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-core-runtime-api", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.4", + "sc-network", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-erasure-coding" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-primitives", + "reed-solomon-novelpoly", + "sp-core", + "sp-trie", + "thiserror", +] + +[[package]] +name = "polkadot-gossip-support" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.4", + "rand_chacha 0.3.1", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "tracing", +] + +[[package]] +name = "polkadot-network-bridge" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "parity-scale-codec", + "parking_lot 0.11.1", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "sc-network", + "sp-consensus", + "strum", + "tracing", +] + +[[package]] +name = "polkadot-node-collation-generation" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-core", + "sp-maybe-compressed-blob", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-approval-voting" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "derive_more 0.99.16", + "futures 0.3.16", + "futures-timer 3.0.2", + "kvdb", + "lru", + "merlin", + "parity-scale-codec", + "polkadot-node-jaeger", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "sc-client-api", + "sc-keystore", + "schnorrkel", + "sp-application-crypto", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-runtime", + "tracing", +] + +[[package]] +name = "polkadot-node-core-av-store" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "futures 0.3.16", + "futures-timer 3.0.2", + "kvdb", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-backing" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "futures 0.3.16", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "polkadot-statement-table", + "sp-keystore", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-bitfield-signing" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-keystore", + "thiserror", + "tracing", + "wasm-timer", +] + +[[package]] +name = "polkadot-node-core-candidate-validation" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "parity-scale-codec", + "polkadot-node-core-pvf", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-parachain", + "polkadot-primitives", + "sp-maybe-compressed-blob", + "tracing", +] + +[[package]] +name = "polkadot-node-core-chain-api" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sc-client-api", + "sc-consensus-babe", + "sp-blockchain", + "tracing", +] + +[[package]] +name = "polkadot-node-core-chain-selection" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "futures-timer 3.0.2", + "kvdb", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-dispute-coordinator" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "derive_more 0.99.16", + "futures 0.3.16", + "kvdb", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sc-keystore", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-dispute-participation" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-primitives", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-parachains-inherent" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "polkadot-node-subsystem", + "polkadot-primitives", + "sp-blockchain", + "sp-inherents", + "sp-runtime", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-provisioner" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "futures 0.3.16", + "futures-timer 3.0.2", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-pvf" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "always-assert", + "assert_matches", + "async-process", + "async-std", + "futures 0.3.16", + "futures-timer 3.0.2", + "libc", + "parity-scale-codec", + "pin-project 1.0.8", + "polkadot-core-primitives", + "polkadot-parachain", + "rand 0.8.4", + "sc-executor", + "sc-executor-common", + "sc-executor-wasmtime", + "slotmap", + "sp-core", + "sp-externalities", + "sp-io", + "sp-maybe-compressed-blob", + "sp-tracing", + "sp-wasm-interface", + "tracing", +] + +[[package]] +name = "polkadot-node-core-runtime-api" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "memory-lru", + "parity-util-mem", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-api", + "sp-authority-discovery", + "sp-consensus-babe", + "sp-core", + "tracing", +] + +[[package]] +name = "polkadot-node-jaeger" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-std", + "lazy_static", + "log", + "mick-jaeger", + "parity-scale-codec", + "parking_lot 0.11.1", + "polkadot-node-primitives", + "polkadot-primitives", + "sc-network", + "sp-core", + "thiserror", +] + +[[package]] +name = "polkadot-node-metrics" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "metered-channel", + "sc-network", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "polkadot-node-network-protocol" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "parity-scale-codec", + "polkadot-node-jaeger", + "polkadot-node-primitives", + "polkadot-primitives", + "sc-authority-discovery", + "sc-network", + "strum", + "thiserror", +] + +[[package]] +name = "polkadot-node-primitives" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "futures 0.3.16", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-statement-table", + "schnorrkel", + "serde", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-vrf", + "sp-core", + "sp-keystore", + "sp-maybe-compressed-blob", + "sp-runtime", + "thiserror", + "tracing", + "zstd", +] + +[[package]] +name = "polkadot-node-subsystem" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "polkadot-node-jaeger", + "polkadot-node-subsystem-types", + "polkadot-overseer", +] + +[[package]] +name = "polkadot-node-subsystem-types" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-std", + "async-trait", + "derive_more 0.99.16", + "futures 0.3.16", + "futures-timer 3.0.2", + "lazy_static", + "log", + "mick-jaeger", + "parity-scale-codec", + "parking_lot 0.11.1", + "pin-project 1.0.8", + "polkadot-node-jaeger", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-overseer-gen", + "polkadot-primitives", + "polkadot-statement-table", + "sc-network", + "smallvec 1.6.1", + "sp-core", + "substrate-prometheus-endpoint", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-subsystem-util" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "itertools 0.10.1", + "lru", + "metered-channel", + "parity-scale-codec", + "pin-project 1.0.8", + "polkadot-node-jaeger", + "polkadot-node-metrics", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "rand 0.8.4", + "sc-network", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "substrate-prometheus-endpoint", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-overseer" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "lru", + "parking_lot 0.11.1", + "polkadot-node-metrics", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem-types", + "polkadot-overseer-all-subsystems-gen", + "polkadot-overseer-gen", + "polkadot-primitives", + "sc-client-api", + "sp-api", + "tracing", +] + +[[package]] +name = "polkadot-overseer-all-subsystems-gen" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "assert_matches", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "polkadot-overseer-gen" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "metered-channel", + "pin-project 1.0.8", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-overseer-gen-proc-macro", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-overseer-gen-proc-macro" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "polkadot-parachain" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "derive_more 0.99.16", + "frame-support", + "parity-scale-codec", + "parity-util-mem", + "polkadot-core-primitives", + "serde", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "polkadot-primitives" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "frame-system", + "hex-literal 0.3.3", + "parity-scale-codec", + "parity-util-mem", + "polkadot-core-primitives", + "polkadot-parachain", + "serde", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-staking", + "sp-std", + "sp-trie", + "sp-version", + "thiserror", +] + +[[package]] +name = "polkadot-rpc" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "beefy-gadget", + "beefy-gadget-rpc", + "jsonrpc-core", + "pallet-mmr-rpc", + "pallet-transaction-payment-rpc", + "parity-scale-codec", + "polkadot-primitives", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-babe-rpc", + "sc-consensus-epochs", + "sc-finality-grandpa", + "sc-finality-grandpa-rpc", + "sc-keystore", + "sc-rpc", + "sc-sync-state-rpc", + "sc-transaction-pool-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-keystore", + "sp-runtime", + "substrate-frame-rpc-system", +] + +[[package]] +name = "polkadot-runtime" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "beefy-primitives", + "bitvec 0.20.4", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex-literal 0.3.3", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-bounties", + "pallet-collective", + "pallet-democracy", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-mmr-primitives", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-offences-benchmarking", + "pallet-proxy", + "pallet-scheduler", + "pallet-session", + "pallet-session-benchmarking", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-timestamp", + "pallet-tips", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder", +] + +[[package]] +name = "polkadot-runtime-common" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitvec 0.20.4", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "libsecp256k1 0.6.0", + "log", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-beefy-mmr", + "pallet-election-provider-multi-phase", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-treasury", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "slot-range-helper", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "static_assertions", + "xcm", +] + +[[package]] +name = "polkadot-runtime-parachains" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "bitflags", + "bitvec 0.20.4", + "derive_more 0.99.16", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-balances", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "rand 0.8.4", + "rand_chacha 0.3.1", + "rustc-hex", + "serde", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "polkadot-service" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "async-trait", + "beefy-gadget", + "beefy-primitives", + "frame-system-rpc-runtime-api", + "futures 0.3.16", + "hex-literal 0.3.3", + "kusama-runtime", + "kvdb", + "kvdb-rocksdb", + "pallet-babe", + "pallet-im-online", + "pallet-mmr-primitives", + "pallet-staking", + "pallet-transaction-payment-rpc-runtime-api", + "polkadot-approval-distribution", + "polkadot-availability-bitfield-distribution", + "polkadot-availability-distribution", + "polkadot-availability-recovery", + "polkadot-client", + "polkadot-collator-protocol", + "polkadot-dispute-distribution", + "polkadot-gossip-support", + "polkadot-network-bridge", + "polkadot-node-collation-generation", + "polkadot-node-core-approval-voting", + "polkadot-node-core-av-store", + "polkadot-node-core-backing", + "polkadot-node-core-bitfield-signing", + "polkadot-node-core-candidate-validation", + "polkadot-node-core-chain-api", + "polkadot-node-core-chain-selection", + "polkadot-node-core-dispute-coordinator", + "polkadot-node-core-dispute-participation", + "polkadot-node-core-parachains-inherent", + "polkadot-node-core-provisioner", + "polkadot-node-core-runtime-api", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-rpc", + "polkadot-runtime", + "polkadot-runtime-parachains", + "polkadot-statement-distribution", + "rococo-runtime", + "sc-authority-discovery", + "sc-basic-authorship", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-consensus-babe", + "sc-consensus-slots", + "sc-consensus-uncles 0.10.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", + "sc-executor", + "sc-finality-grandpa", + "sc-keystore", + "sc-network", + "sc-service", + "sc-sync-state-rpc", + "sc-telemetry", + "sc-transaction-pool", + "serde", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-storage", + "sp-timestamp", + "sp-transaction-pool", + "sp-trie", + "substrate-prometheus-endpoint", + "thiserror", + "tracing", + "westend-runtime", +] + +[[package]] +name = "polkadot-statement-distribution" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "arrayvec 0.5.2", + "futures 0.3.16", + "indexmap", + "parity-scale-codec", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sc-network", + "sp-keystore", + "sp-staking", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-statement-table" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "parity-scale-codec", + "polkadot-primitives", + "sp-core", +] + +[[package]] +name = "polkadot-test-runtime" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "beefy-primitives", + "bitvec 0.20.4", + "frame-election-provider-support", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-grandpa", + "pallet-indices", + "pallet-mmr-primitives", + "pallet-nicks", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-vesting", + "pallet-xcm", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-executor", +] + +[[package]] +name = "polkadot-test-service" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "frame-benchmarking", + "frame-system", + "futures 0.1.31", + "futures 0.3.16", + "hex", + "pallet-balances", + "pallet-staking", + "pallet-transaction-payment", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-rpc", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "polkadot-service", + "polkadot-test-runtime", + "rand 0.8.4", + "sc-authority-discovery", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "sc-executor", + "sc-finality-grandpa", + "sc-network", + "sc-service", + "sc-tracing", + "sc-transaction-pool", + "sp-arithmetic", + "sp-authority-discovery", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-keyring 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", + "sp-runtime", + "sp-state-machine", + "substrate-test-client", + "tempfile", + "tracing", +] + +[[package]] +name = "polling" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "log", + "wepoll-ffi", + "winapi 0.3.9", +] + +[[package]] +name = "poly1305" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8" +dependencies = [ + "cpuid-bool", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +dependencies = [ + "cpuid-bool", + "opaque-debug 0.3.0", + "universal-hash", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "uint", +] + +[[package]] +name = "primitives" +version = "0.0.1" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "xcm", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-crate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" +dependencies = [ + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7" +dependencies = [ + "proc-macro-error-attr 0.4.12", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "version_check", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr 1.0.4", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "syn-mid", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + +[[package]] +name = "proc-macro2" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +dependencies = [ + "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" +dependencies = [ + "unicode-xid 0.2.2", +] + +[[package]] +name = "prometheus" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8425533e7122f0c3cc7a37e6244b16ad3a2cc32ae7ac6276e2a75da0d9c200d" +dependencies = [ + "cfg-if 1.0.0", + "fnv", + "lazy_static", + "parking_lot 0.11.1", + "regex", + "thiserror", +] + +[[package]] +name = "prost" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2" +dependencies = [ + "bytes 1.0.1", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3" +dependencies = [ + "bytes 1.0.1", + "heck", + "itertools 0.9.0", + "log", + "multimap", + "petgraph", + "prost", + "prost-types", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4" +dependencies = [ + "anyhow", + "itertools 0.9.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "prost-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb" +dependencies = [ + "bytes 1.0.1", + "prost", +] + +[[package]] +name = "psm" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0617ee61163b5d941d804065ce49040967610a4d4278fae73e096a057b01d358" +dependencies = [ + "cc", +] + +[[package]] +name = "pwasm-utils" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c1a2f10b47d446372a4f397c58b329aaea72b2daf9395a623a411cb8ccb54f" +dependencies = [ + "byteorder", + "log", + "parity-wasm 0.42.2", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quicksink" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project-lite 0.1.12", +] + +[[package]] +name = "quote" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +dependencies = [ + "proc-macro2 0.4.30", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2 1.0.28", +] + +[[package]] +name = "radium" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" + +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" +dependencies = [ + "libc", + "rand 0.4.6", +] + +[[package]] +name = "rand" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" +dependencies = [ + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "rdrand", + "winapi 0.3.9", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc 0.2.0", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", + "rand_hc 0.3.1", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", +] + +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.3", +] + +[[package]] +name = "rand_distr" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142" +dependencies = [ + "num-traits", + "rand 0.8.4", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_hc" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" +dependencies = [ + "rand_core 0.6.3", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "rayon" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +dependencies = [ + "autocfg", + "crossbeam-deque 0.8.1", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque 0.8.1", + "crossbeam-utils 0.8.5", + "lazy_static", + "num_cpus", +] + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "redox_syscall" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + +[[package]] +name = "redox_syscall" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom 0.2.3", + "redox_syscall 0.2.10", +] + +[[package]] +name = "reed-solomon-novelpoly" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bd8f48b2066e9f69ab192797d66da804d1935bf22763204ed3675740cb0f221" +dependencies = [ + "derive_more 0.99.16", + "fs-err", + "itertools 0.10.1", + "static_init", + "thiserror", +] + +[[package]] +name = "ref-cast" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "regalloc" +version = "0.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "571f7f397d61c4755285cd37853fe8e03271c243424a907415909379659381c5" +dependencies = [ + "log", + "rustc-hash", + "serde", + "smallvec 1.6.1", +] + +[[package]] +name = "regex" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + +[[package]] +name = "region" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0" +dependencies = [ + "bitflags", + "libc", + "mach", + "winapi 0.3.9", +] + +[[package]] +name = "remote-externalities" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "env_logger 0.8.4", + "hex", + "jsonrpsee-proc-macros", + "jsonrpsee-ws-client", + "log", + "parity-scale-codec", + "serde", + "serde_json", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error 1.2.3", +] + +[[package]] +name = "retain_mut" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9c17925a9027d298a4603d286befe3f9dc0e8ed02523141914eb628798d6e5b" + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi 0.3.9", +] + +[[package]] +name = "rlp" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "999508abb0ae792aabed2460c45b89106d97fe4adac593bdaef433c2605847b5" +dependencies = [ + "bytes 1.0.1", + "rustc-hex", +] + +[[package]] +name = "rocksdb" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a62eca5cacf2c8261128631bed9f045598d40bfbe4b29f5163f0f802f8f44a7" +dependencies = [ + "libc", + "librocksdb-sys", +] + +[[package]] +name = "rococo-runtime" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "beefy-primitives", + "bp-messages", + "bp-rococo", + "bp-runtime", + "bp-wococo", + "bridge-runtime-common", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "hex-literal 0.3.3", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-beefy", + "pallet-beefy-mmr", + "pallet-bridge-dispatch", + "pallet-bridge-grandpa", + "pallet-bridge-messages", + "pallet-collective", + "pallet-grandpa", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-mmr", + "pallet-mmr-primitives", + "pallet-offences", + "pallet-proxy", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-utility", + "pallet-xcm", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-executor", +] + +[[package]] +name = "rpassword" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustls" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" +dependencies = [ + "base64 0.12.3", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +dependencies = [ + "base64 0.13.0", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8" +dependencies = [ + "openssl-probe", + "rustls 0.18.1", + "schannel", + "security-framework 1.0.0", +] + +[[package]] +name = "rustls-native-certs" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" +dependencies = [ + "openssl-probe", + "rustls 0.19.1", + "schannel", + "security-framework 2.3.1", +] + +[[package]] +name = "ruzstd" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cada0ef59efa6a5f4dc5e491f93d9f31e3fc7758df421ff1de8a706338e1100" +dependencies = [ + "byteorder", + "twox-hash", +] + +[[package]] +name = "rw-stream-sink" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" +dependencies = [ + "futures 0.3.16", + "pin-project 0.4.28", + "static_assertions", +] + +[[package]] +name = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "safe-mix" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" +dependencies = [ + "rustc_version 0.2.3", +] + +[[package]] +name = "salsa20" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15" +dependencies = [ + "cipher", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "sc-allocator" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "log", + "sp-core", + "sp-wasm-interface", + "thiserror", +] + +[[package]] +name = "sc-authority-discovery" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "derive_more 0.99.16", + "either", + "futures 0.3.16", + "futures-timer 3.0.2", + "ip_network", + "libp2p", + "log", + "parity-scale-codec", + "prost", + "prost-build", + "rand 0.7.3", + "sc-client-api", + "sc-network", + "serde_json", + "sp-api", + "sp-authority-discovery", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-basic-authorship" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.3.16", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "sc-block-builder", + "sc-client-api", + "sc-proposer-metrics", + "sc-telemetry", + "sc-transaction-pool-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-block-builder" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "sc-client-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-chain-spec" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "sc-chain-spec-derive", + "sc-network", + "sc-telemetry", + "serde", + "serde_json", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sc-chain-spec-derive" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "sc-cli" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "chrono", + "fdlimit", + "futures 0.3.16", + "hex", + "libp2p", + "log", + "names", + "parity-scale-codec", + "rand 0.7.3", + "regex", + "rpassword", + "sc-client-api", + "sc-keystore", + "sc-network", + "sc-service", + "sc-telemetry", + "sc-tracing", + "serde", + "serde_json", + "sp-blockchain", + "sp-core", + "sp-keyring 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", + "sp-keystore", + "sp-panic-handler", + "sp-runtime", + "sp-utils", + "sp-version", + "structopt", + "thiserror", + "tiny-bip39", + "tokio 0.2.25", +] + +[[package]] +name = "sc-client-api" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "fnv", + "futures 0.3.16", + "hash-db", + "kvdb", + "lazy_static", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-executor", + "sc-transaction-pool-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-externalities", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-storage", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-client-db" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "blake2-rfc", + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "linked-hash-map", + "log", + "parity-db", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "sc-client-api", + "sc-executor", + "sc-state-db", + "sp-arithmetic", + "sp-blockchain", + "sp-core", + "sp-database", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "libp2p", + "log", + "parking_lot 0.11.1", + "sc-client-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-utils", + "substrate-prometheus-endpoint", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "sc-consensus-aura" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "derive_more 0.99.16", + "futures 0.3.16", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-consensus-slots", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-version", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus-babe" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "derive_more 0.99.16", + "fork-tree", + "futures 0.3.16", + "futures-timer 3.0.2", + "log", + "merlin", + "num-bigint", + "num-rational 0.2.4", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.1", + "pdqselect", + "rand 0.7.3", + "retain_mut", + "sc-client-api", + "sc-consensus", + "sc-consensus-epochs", + "sc-consensus-slots", + "sc-consensus-uncles 0.10.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", + "sc-keystore", + "sc-telemetry", + "schnorrkel", + "serde", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-consensus-vrf", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus-babe-rpc" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "futures 0.3.16", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-rpc-api", + "serde", + "sp-api", + "sp-application-crypto", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-keystore", + "sp-runtime", +] + +[[package]] +name = "sc-consensus-epochs" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "fork-tree", + "parity-scale-codec", + "sc-client-api", + "sc-consensus", + "sp-blockchain", + "sp-runtime", +] + +[[package]] +name = "sc-consensus-manual-seal" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "assert_matches", + "async-trait", + "derive_more 0.99.16", + "futures 0.3.16", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keyring 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", + "sp-keystore", + "sp-runtime", + "sp-timestamp", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus-slots" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-consensus", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-timestamp", + "sp-trie", + "thiserror", +] + +[[package]] +name = "sc-consensus-uncles" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "sc-client-api", + "sp-authorship 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "sc-consensus-uncles" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "sc-client-api", + "sp-authorship 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "sc-executor" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "lazy_static", + "libsecp256k1 0.3.5", + "log", + "parity-scale-codec", + "parity-wasm 0.42.2", + "parking_lot 0.11.1", + "sc-executor-common", + "sc-executor-wasmi", + "sc-executor-wasmtime", + "sp-api", + "sp-core", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", + "sp-serializer", + "sp-tasks", + "sp-trie", + "sp-version", + "sp-wasm-interface", + "wasmi", +] + +[[package]] +name = "sc-executor-common" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "parity-scale-codec", + "pwasm-utils", + "sc-allocator", + "sp-core", + "sp-maybe-compressed-blob", + "sp-serializer", + "sp-wasm-interface", + "thiserror", + "wasmi", +] + +[[package]] +name = "sc-executor-wasmi" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "log", + "parity-scale-codec", + "sc-allocator", + "sc-executor-common", + "sp-core", + "sp-runtime-interface", + "sp-wasm-interface", + "wasmi", +] + +[[package]] +name = "sc-executor-wasmtime" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "log", + "parity-scale-codec", + "parity-wasm 0.42.2", + "pwasm-utils", + "sc-allocator", + "sc-executor-common", + "scoped-tls", + "sp-core", + "sp-runtime-interface", + "sp-wasm-interface", + "wasmtime", +] + +[[package]] +name = "sc-finality-grandpa" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "derive_more 0.99.16", + "dyn-clone", + "finality-grandpa", + "fork-tree", + "futures 0.3.16", + "futures-timer 3.0.2", + "linked-hash-map", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "pin-project 1.0.8", + "rand 0.8.4", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-keystore", + "sc-network", + "sc-network-gossip", + "sc-telemetry", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-utils", + "substrate-prometheus-endpoint", + "wasm-timer", +] + +[[package]] +name = "sc-finality-grandpa-rpc" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "finality-grandpa", + "futures 0.3.16", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-finality-grandpa", + "sc-rpc", + "serde", + "serde_json", + "sp-blockchain", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sc-informant" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "ansi_term 0.12.1", + "futures 0.3.16", + "futures-timer 3.0.2", + "log", + "parity-util-mem", + "sc-client-api", + "sc-network", + "sc-transaction-pool-api", + "sp-blockchain", + "sp-runtime", + "wasm-timer", +] + +[[package]] +name = "sc-keystore" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "derive_more 0.99.16", + "futures 0.3.16", + "futures-util", + "hex", + "merlin", + "parking_lot 0.11.1", + "rand 0.7.3", + "serde_json", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "subtle 2.4.1", +] + +[[package]] +name = "sc-light" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "hash-db", + "lazy_static", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-client-api", + "sc-executor", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-light" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "hash-db", + "lazy_static", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-client-api", + "sc-executor", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-network" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-std", + "async-trait", + "asynchronous-codec 0.5.0", + "bitflags", + "bs58", + "bytes 1.0.1", + "cid", + "derive_more 0.99.16", + "either", + "erased-serde", + "fnv", + "fork-tree", + "futures 0.3.16", + "futures-timer 3.0.2", + "hex", + "ip_network", + "libp2p", + "linked-hash-map", + "linked_hash_set", + "log", + "lru", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.11.1", + "pin-project 1.0.8", + "prost", + "prost-build", + "rand 0.7.3", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-peerset", + "serde", + "serde_json", + "smallvec 1.6.1", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-finality-grandpa", + "sp-runtime", + "sp-utils", + "substrate-prometheus-endpoint", + "thiserror", + "unsigned-varint 0.6.0", + "void", + "wasm-timer", + "zeroize", +] + +[[package]] +name = "sc-network-gossip" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.3.16", + "futures-timer 3.0.2", + "libp2p", + "log", + "lru", + "sc-network", + "sp-runtime", + "substrate-prometheus-endpoint", + "tracing", + "wasm-timer", +] + +[[package]] +name = "sc-offchain" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures 0.3.16", + "futures-timer 3.0.2", + "hex", + "hyper 0.13.10", + "hyper-rustls", + "log", + "num_cpus", + "parity-scale-codec", + "parking_lot 0.11.1", + "rand 0.7.3", + "sc-client-api", + "sc-keystore", + "sc-network", + "sp-api", + "sp-core", + "sp-offchain", + "sp-runtime", + "sp-utils", + "threadpool", +] + +[[package]] +name = "sc-peerset" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.3.16", + "libp2p", + "log", + "serde_json", + "sp-utils", + "wasm-timer", +] + +[[package]] +name = "sc-proposer-metrics" +version = "0.9.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "log", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.3.16", + "hash-db", + "jsonrpc-core", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-executor", + "sc-keystore", + "sc-rpc-api", + "sc-tracing", + "sc-transaction-pool-api", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-offchain", + "sp-rpc", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-tracing", + "sp-utils", + "sp-version", +] + +[[package]] +name = "sc-rpc-api" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "futures 0.3.16", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-chain-spec", + "sc-transaction-pool-api", + "serde", + "serde_json", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-tracing", + "sp-version", +] + +[[package]] +name = "sc-rpc-server" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.1.31", + "jsonrpc-core", + "jsonrpc-http-server", + "jsonrpc-ipc-server", + "jsonrpc-pubsub", + "jsonrpc-ws-server", + "log", + "serde", + "serde_json", + "sp-runtime", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-service" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "directories", + "exit-future", + "futures 0.1.31", + "futures 0.3.16", + "futures-timer 3.0.2", + "hash-db", + "jsonrpc-core", + "jsonrpc-pubsub", + "lazy_static", + "log", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "pin-project 1.0.8", + "rand 0.7.3", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-executor", + "sc-informant", + "sc-keystore", + "sc-light 4.0.0-dev (git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff)", + "sc-network", + "sc-offchain", + "sc-rpc", + "sc-rpc-server", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-storage", + "sp-tracing", + "sp-transaction-pool", + "sp-transaction-storage-proof", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", + "tempfile", + "thiserror", + "tracing", + "tracing-futures", + "wasm-timer", +] + +[[package]] +name = "sc-state-db" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "log", + "parity-scale-codec", + "parity-util-mem", + "parity-util-mem-derive", + "parking_lot 0.11.1", + "sc-client-api", + "sp-core", + "thiserror", +] + +[[package]] +name = "sc-sync-state-rpc" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "parity-scale-codec", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-finality-grandpa", + "sc-rpc-api", + "serde", + "serde_json", + "sp-blockchain", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "sc-telemetry" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "chrono", + "futures 0.3.16", + "libp2p", + "log", + "parking_lot 0.11.1", + "pin-project 1.0.8", + "rand 0.7.3", + "serde", + "serde_json", + "take_mut", + "thiserror", + "void", + "wasm-timer", +] + +[[package]] +name = "sc-tracing" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "ansi_term 0.12.1", + "atty", + "erased-serde", + "lazy_static", + "log", + "once_cell", + "parking_lot 0.11.1", + "regex", + "rustc-hash", + "sc-client-api", + "sc-rpc-server", + "sc-telemetry", + "sc-tracing-proc-macro", + "serde", + "serde_json", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-storage", + "sp-tracing", + "thiserror", + "tracing", + "tracing-log", + "tracing-subscriber", + "wasm-bindgen", + "wasm-timer", + "web-sys", +] + +[[package]] +name = "sc-tracing-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "sc-transaction-pool" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "futures 0.3.16", + "intervalier", + "linked-hash-map", + "log", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "retain_mut", + "sc-client-api", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-tracing", + "sp-transaction-pool", + "sp-utils", + "substrate-prometheus-endpoint", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "sc-transaction-pool-api" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "derive_more 0.99.16", + "futures 0.3.16", + "log", + "parity-scale-codec", + "serde", + "sp-blockchain", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "scale-info" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e62ff266e136db561a007c84569985805f84a1d5a08278e52c36aacb6e061b" +dependencies = [ + "bitvec 0.20.4", + "cfg-if 1.0.0", + "derive_more 0.99.16", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b648fa291891a4c80187a25532f6a7d96b82c70353e30b868b14632b8fe043d6" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "schannel" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +dependencies = [ + "lazy_static", + "winapi 0.3.9", +] + +[[package]] +name = "schnorrkel" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "curve25519-dalek 2.1.3", + "getrandom 0.1.16", + "merlin", + "rand 0.7.3", + "rand_core 0.5.1", + "sha2 0.8.2", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "scoped-tls" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "sct" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "secrecy" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0673d6a6449f5e7d12a1caf424fd9363e2af3a4953023ed455e3c4beef4597c0" +dependencies = [ + "zeroize", +] + +[[package]] +name = "security-framework" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad502866817f0575705bd7be36e2b2535cc33262d493aa733a2ec862baa2bc2b" +dependencies = [ + "bitflags", + "core-foundation 0.7.0", + "core-foundation-sys 0.7.0", + "libc", + "security-framework-sys 1.0.0", +] + +[[package]] +name = "security-framework" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" +dependencies = [ + "bitflags", + "core-foundation 0.9.1", + "core-foundation-sys 0.8.2", + "libc", + "security-framework-sys 2.3.0", +] + +[[package]] +name = "security-framework-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51ceb04988b17b6d1dcd555390fa822ca5637b4a14e1f5099f13d351bed4d6c7" +dependencies = [ + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "security-framework-sys" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284" +dependencies = [ + "core-foundation-sys 0.8.2", + "libc", +] + +[[package]] +name = "semver" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" +dependencies = [ + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser 0.10.2", + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "serde" +version = "1.0.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1f72836d2aa753853178eda473a3b9d8e4eefdaf20523b919677e6de489f8f1" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57ae87ad533d9a56427558b516d0adac283614e347abf85b0dc0cbbf0a249f3" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "serde_json" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha-1" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0c8611594e2ab4ebbf06ec7cbbf0a99450b8570e96cbf5188b5d5f6ef18d81" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sha3" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "keccak", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sharded-slab" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "740223c51853f3145fe7c90360d2d4232f2b62e3449489c207eccde818979982" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a568c8f2cd051a4d283bd6eb0343ac214c1b0f1ac19f93e1175b2dee38c73d" + +[[package]] +name = "signal-hook" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" + +[[package]] +name = "simba" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", +] + +[[package]] +name = "slab" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" + +[[package]] +name = "slog" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" +dependencies = [ + "erased-serde", +] + +[[package]] +name = "slot-range-helper" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "enumn", + "parity-scale-codec", + "paste", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "slotmap" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a952280edbecfb1d4bd3cf2dbc309dc6ab523e53487c438ae21a6df09fe84bc4" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", +] + +[[package]] +name = "smallvec" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" + +[[package]] +name = "snow" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "795dd7aeeee24468e5a32661f6d27f7b5cbed802031b2d7640c7b10f8fb2dd50" +dependencies = [ + "aes-gcm", + "blake2", + "chacha20poly1305", + "rand 0.7.3", + "rand_core 0.5.1", + "ring", + "rustc_version 0.2.3", + "sha2 0.9.5", + "subtle 2.4.1", + "x25519-dalek", +] + +[[package]] +name = "socket2" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "socket2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "soketto" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5c71ed3d54db0a699f4948e1bb3e45b450fa31fe602621dee6680361d569c88" +dependencies = [ + "base64 0.12.3", + "bytes 0.5.6", + "flate2", + "futures 0.3.16", + "httparse", + "log", + "rand 0.7.3", + "sha-1 0.9.7", +] + +[[package]] +name = "soketto" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a74e48087dbeed4833785c2f3352b59140095dc192dce966a3bfc155020a439f" +dependencies = [ + "base64 0.13.0", + "bytes 1.0.1", + "futures 0.3.16", + "httparse", + "log", + "rand 0.8.4", + "sha-1 0.9.7", +] + +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-version", + "thiserror", +] + +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "blake2-rfc", + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "sp-application-crypto" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-std", +] + +[[package]] +name = "sp-arithmetic" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "serde", + "sp-debug-derive", + "sp-std", + "static_assertions", +] + +[[package]] +name = "sp-authority-discovery" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-authorship" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "parity-scale-codec", + "sp-inherents", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-authorship" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "parity-scale-codec", + "sp-inherents", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-block-builder" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-inherents", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-blockchain" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.3.16", + "log", + "lru", + "parity-scale-codec", + "parking_lot 0.11.1", + "sp-api", + "sp-consensus", + "sp-database", + "sp-runtime", + "sp-state-machine", + "thiserror", +] + +[[package]] +name = "sp-consensus" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "futures 0.3.16", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "serde", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "sp-consensus-aura" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-consensus", + "sp-consensus-slots", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-timestamp", +] + +[[package]] +name = "sp-consensus-babe" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "merlin", + "parity-scale-codec", + "serde", + "sp-api", + "sp-application-crypto", + "sp-consensus", + "sp-consensus-slots", + "sp-consensus-vrf", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-std", + "sp-timestamp", +] + +[[package]] +name = "sp-consensus-slots" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "sp-arithmetic", + "sp-runtime", +] + +[[package]] +name = "sp-consensus-vrf" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "schnorrkel", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-core" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "base58", + "blake2-rfc", + "byteorder", + "dyn-clonable", + "ed25519-dalek", + "futures 0.3.16", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde", + "lazy_static", + "libsecp256k1 0.3.5", + "log", + "merlin", + "num-traits", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "primitive-types", + "rand 0.7.3", + "regex", + "schnorrkel", + "secrecy", + "serde", + "sha2 0.9.5", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", + "substrate-bip39", + "thiserror", + "tiny-bip39", + "tiny-keccak", + "twox-hash", + "wasmi", + "zeroize", +] + +[[package]] +name = "sp-database" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "kvdb", + "parking_lot 0.11.1", +] + +[[package]] +name = "sp-debug-derive" +version = "3.0.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "sp-externalities" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std", + "sp-storage", +] + +[[package]] +name = "sp-finality-grandpa" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "finality-grandpa", + "log", + "parity-scale-codec", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-inherents" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-core", + "sp-runtime", + "sp-std", + "thiserror", +] + +[[package]] +name = "sp-io" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.3.16", + "hash-db", + "libsecp256k1 0.3.5", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-maybe-compressed-blob", + "sp-runtime-interface", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-trie", + "sp-wasm-interface", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-keyring" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "lazy_static", + "sp-core", + "sp-runtime", + "strum", +] + +[[package]] +name = "sp-keyring" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "lazy_static", + "sp-core", + "sp-runtime", + "strum", +] + +[[package]] +name = "sp-keystore" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "derive_more 0.99.16", + "futures 0.3.16", + "merlin", + "parity-scale-codec", + "parking_lot 0.11.1", + "schnorrkel", + "serde", + "sp-core", + "sp-externalities", +] + +[[package]] +name = "sp-maybe-compressed-blob" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "ruzstd", + "zstd", +] + +[[package]] +name = "sp-npos-elections" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-arithmetic", + "sp-core", + "sp-npos-elections-compact", + "sp-std", +] + +[[package]] +name = "sp-npos-elections-compact" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "sp-offchain" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "sp-api", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sp-panic-handler" +version = "3.0.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "backtrace", +] + +[[package]] +name = "sp-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "rustc-hash", + "serde", + "sp-core", + "tracing-core", +] + +[[package]] +name = "sp-runtime" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "serde", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std", +] + +[[package]] +name = "sp-runtime-interface" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "Inflector", + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "sp-serializer" +version = "3.0.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "sp-session" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-core", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "sp-staking" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-state-machine" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.1", + "rand 0.7.3", + "smallvec 1.6.1", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-std", + "sp-trie", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-std" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" + +[[package]] +name = "sp-storage" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive", + "sp-std", +] + +[[package]] +name = "sp-tasks" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "log", + "sp-core", + "sp-externalities", + "sp-io", + "sp-runtime-interface", + "sp-std", +] + +[[package]] +name = "sp-timestamp" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "sp-api", + "sp-inherents", + "sp-runtime", + "sp-std", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "sp-tracing" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "erased-serde", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "serde", + "serde_json", + "slog", + "sp-std", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-transaction-pool" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "sp-api", + "sp-runtime", +] + +[[package]] +name = "sp-transaction-storage-proof" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "log", + "parity-scale-codec", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] +name = "sp-trie" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "hash-db", + "memory-db", + "parity-scale-codec", + "sp-core", + "sp-std", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-utils" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "futures 0.3.16", + "futures-core", + "futures-timer 3.0.2", + "lazy_static", + "prometheus", +] + +[[package]] +name = "sp-version" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm 0.42.2", + "serde", + "sp-runtime", + "sp-std", + "sp-version-proc-macro", + "thiserror", +] + +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "parity-scale-codec", + "proc-macro-crate 1.0.0", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "sp-wasm-interface" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-std", + "wasmi", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "static_init" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11b73400442027c4adedda20a9f9b7945234a5bd8d5f7e86da22bd5d0622369c" +dependencies = [ + "cfg_aliases", + "libc", + "parking_lot 0.11.1", + "static_init_macro", +] + +[[package]] +name = "static_init_macro" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2261c91034a1edc3fc4d1b80e89d82714faede0515c14a75da10cb941546bbf" +dependencies = [ + "cfg_aliases", + "memchr", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "statrs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" +dependencies = [ + "approx", + "lazy_static", + "nalgebra", + "num-traits", + "rand 0.8.4", +] + +[[package]] +name = "stream-cipher" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c80e15f898d8d8f25db24c253ea615cc14acf418ff307822995814e7d42cfa89" +dependencies = [ + "block-cipher", + "generic-array 0.14.4", +] + +[[package]] +name = "string" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" +dependencies = [ + "bytes 0.4.12", +] + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "structopt" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71" +dependencies = [ + "clap", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10" +dependencies = [ + "heck", + "proc-macro-error 1.0.4", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "strum" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" +dependencies = [ + "heck", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "substrate-bip39" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236" +dependencies = [ + "hmac 0.7.1", + "pbkdf2 0.3.0", + "schnorrkel", + "sha2 0.8.2", + "zeroize", +] + +[[package]] +name = "substrate-build-script-utils" +version = "3.0.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "platforms", +] + +[[package]] +name = "substrate-frame-rpc-system" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-system-rpc-runtime-api", + "futures 0.3.16", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-rpc-api", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "substrate-prometheus-endpoint" +version = "0.9.0" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-std", + "derive_more 0.99.16", + "futures-util", + "hyper 0.13.10", + "log", + "prometheus", + "tokio 0.2.25", +] + +[[package]] +name = "substrate-test-client" +version = "2.0.1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "async-trait", + "futures 0.1.31", + "futures 0.3.16", + "hash-db", + "hex", + "parity-scale-codec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-executor", + "sc-light 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", + "sc-offchain", + "sc-service", + "serde", + "serde_json", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-keyring 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.9)", + "sp-keystore", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "substrate-wasm-builder" +version = "5.0.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "ansi_term 0.12.1", + "atty", + "build-helper", + "cargo_metadata", + "sp-maybe-compressed-blob", + "tempfile", + "toml", + "walkdir", + "wasm-gc-api", +] + +[[package]] +name = "subtle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "syn" +version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "unicode-xid 0.1.0", +] + +[[package]] +name = "syn" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f58f7e8eaa0009c5fec437aabf511bd9933e4b2d7407bd05273c01a8906ea7" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "unicode-xid 0.2.2", +] + +[[package]] +name = "syn-mid" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa8e7560a164edb1621a55d18a0c59abf49d360f47aa7b821061dd7eea7fac9" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "synstructure" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "unicode-xid 0.2.2", +] + +[[package]] +name = "take_mut" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-lexicon" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bffcddbc2458fa3e6058414599e3c838a022abae82e5c67b4f7f80298d5bff" + +[[package]] +name = "tempfile" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "rand 0.8.4", + "redox_syscall 0.2.10", + "remove_dir_all", + "winapi 0.3.9", +] + +[[package]] +name = "termcolor" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "thread_local" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd" +dependencies = [ + "once_cell", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "thrift" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6d965454947cc7266d22716ebfd07b18d84ebaf35eec558586bbb2a8cb6b5b" +dependencies = [ + "byteorder", + "integer-encoding", + "log", + "ordered-float", + "threadpool", +] + +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi 0.3.9", +] + +[[package]] +name = "tiny-bip39" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e44c4759bae7f1032e286a7ef990bd9ed23fe831b7eeba0beb97484c2e59b8" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.5", + "thiserror", + "unicode-normalization", + "zeroize", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "mio", + "num_cpus", + "tokio-codec", + "tokio-current-thread", + "tokio-executor", + "tokio-fs", + "tokio-io", + "tokio-reactor", + "tokio-sync", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "tokio-udp", + "tokio-uds", +] + +[[package]] +name = "tokio" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures-core", + "iovec", + "lazy_static", + "libc", + "memchr", + "mio", + "mio-uds", + "num_cpus", + "pin-project-lite 0.1.12", + "signal-hook-registry", + "slab", + "tokio-macros", + "winapi 0.3.9", +] + +[[package]] +name = "tokio" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cf844b23c6131f624accf65ce0e4e9956a8bb329400ea5bcc26ae3a5c20b0b" +dependencies = [ + "autocfg", + "pin-project-lite 0.2.7", +] + +[[package]] +name = "tokio-buf" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" +dependencies = [ + "bytes 0.4.12", + "either", + "futures 0.1.31", +] + +[[package]] +name = "tokio-codec" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "tokio-io", +] + +[[package]] +name = "tokio-current-thread" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" +dependencies = [ + "futures 0.1.31", + "tokio-executor", +] + +[[package]] +name = "tokio-executor" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", +] + +[[package]] +name = "tokio-fs" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" +dependencies = [ + "futures 0.1.31", + "tokio-io", + "tokio-threadpool", +] + +[[package]] +name = "tokio-io" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "log", +] + +[[package]] +name = "tokio-macros" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "tokio-named-pipes" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "mio", + "mio-named-pipes", + "tokio 0.1.22", +] + +[[package]] +name = "tokio-reactor" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", + "lazy_static", + "log", + "mio", + "num_cpus", + "parking_lot 0.9.0", + "slab", + "tokio-executor", + "tokio-io", + "tokio-sync", +] + +[[package]] +name = "tokio-rustls" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" +dependencies = [ + "futures-core", + "rustls 0.18.1", + "tokio 0.2.25", + "webpki", +] + +[[package]] +name = "tokio-rustls" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03d15e5669243a45f630a5167d101b942174ca94b615445b2057eace1c818736" +dependencies = [ + "futures-core", + "rustls 0.19.1", + "tokio 0.2.25", + "webpki", +] + +[[package]] +name = "tokio-service" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" +dependencies = [ + "futures 0.1.31", +] + +[[package]] +name = "tokio-sync" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" +dependencies = [ + "fnv", + "futures 0.1.31", +] + +[[package]] +name = "tokio-tcp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "iovec", + "mio", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-threadpool" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" +dependencies = [ + "crossbeam-deque 0.7.4", + "crossbeam-queue", + "crossbeam-utils 0.7.2", + "futures 0.1.31", + "lazy_static", + "log", + "num_cpus", + "slab", + "tokio-executor", +] + +[[package]] +name = "tokio-timer" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", + "slab", + "tokio-executor", +] + +[[package]] +name = "tokio-udp" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "log", + "mio", + "tokio-codec", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-uds" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "iovec", + "libc", + "log", + "mio", + "mio-uds", + "tokio-codec", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-util" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +dependencies = [ + "bytes 0.5.6", + "futures-core", + "futures-io", + "futures-sink", + "log", + "pin-project-lite 0.1.12", + "tokio 0.2.25", +] + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "tower-service" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" + +[[package]] +name = "tracing" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +dependencies = [ + "cfg-if 1.0.0", + "log", + "pin-project-lite 0.2.7", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", +] + +[[package]] +name = "tracing-core" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ca517f43f0fb96e0c3072ed5c275fe5eece87e8cb52f4a77b69226d3b1c9df8" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project 1.0.8", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb65ea441fbb84f9f6748fd496cf7f63ec9af5bca94dd86456978d055e8eb28b" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cbe87a2fa7e35900ce5de20220a582a9483a7063811defce79d7cbd59d4cfe" +dependencies = [ + "ansi_term 0.12.1", + "chrono", + "lazy_static", + "matchers", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec 1.6.1", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", +] + +[[package]] +name = "trie-db" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa" +dependencies = [ + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec 1.6.1", +] + +[[package]] +name = "trie-root" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd" +dependencies = [ + "hash-db", +] + +[[package]] +name = "trust-dns-proto" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4" +dependencies = [ + "async-trait", + "cfg-if 1.0.0", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.2.3", + "ipnet", + "lazy_static", + "log", + "rand 0.8.4", + "smallvec 1.6.1", + "thiserror", + "tinyvec", + "url 2.2.2", +] + +[[package]] +name = "trust-dns-resolver" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770" +dependencies = [ + "cfg-if 1.0.0", + "futures-util", + "ipconfig", + "lazy_static", + "log", + "lru-cache", + "parking_lot 0.11.1", + "resolv-conf", + "smallvec 1.6.1", + "thiserror", + "trust-dns-proto", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "try-runtime-cli" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech//substrate?rev=91061a7d925b5bc597804293da283477512ba4ff#91061a7d925b5bc597804293da283477512ba4ff" +dependencies = [ + "frame-try-runtime", + "log", + "parity-scale-codec", + "remote-externalities", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-executor", + "sc-service", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "structopt", +] + +[[package]] +name = "twox-hash" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f559b464de2e2bdabcac6a210d12e9b5a5973c251e102c44c585c71d51bd78e" +dependencies = [ + "cfg-if 1.0.0", + "rand 0.3.23", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" + +[[package]] +name = "ucd-trie" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" + +[[package]] +name = "uint" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" + +[[package]] +name = "unicode-width" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "universal-hash" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +dependencies = [ + "generic-array 0.14.4", + "subtle 2.4.1", +] + +[[package]] +name = "unsigned-varint" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35" + +[[package]] +name = "unsigned-varint" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2" +dependencies = [ + "asynchronous-codec 0.5.0", + "bytes 1.0.1", + "futures-io", + "futures-util", +] + +[[package]] +name = "unsigned-varint" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures-io", + "futures-util", +] + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" +dependencies = [ + "idna 0.1.5", + "matches", + "percent-encoding 1.0.1", +] + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna 0.2.3", + "matches", + "percent-encoding 2.1.0", +] + +[[package]] +name = "value-bag" +version = "1.0.0-alpha.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae" +dependencies = [ + "ctor", + "version_check", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi 0.3.9", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" +dependencies = [ + "futures 0.1.31", + "log", + "try-lock", +] + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasm-bindgen" +version = "0.2.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe8dc78e2326ba5f845f4b5bf548401604fa20b1dd1d365fb73b6c1d6364041" +dependencies = [ + "bumpalo", + "lazy_static", + "log", + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fded345a6559c2cfee778d562300c581f7d4ff3edb9b0d230d69800d213972" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44468aa53335841d9d6b6c023eaab07c0cd4bddbcfdee3e2bb1e8d2cb8069fef" +dependencies = [ + "quote 1.0.9", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0195807922713af1e67dc66132c7328206ed9766af3858164fb583eedc25fbad" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdb075a845574a1fa5f09fd77e43f7747599301ea3417a9fbffdeedfc1f4a29" + +[[package]] +name = "wasm-gc-api" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" +dependencies = [ + "log", + "parity-wasm 0.32.0", + "rustc-demangle", +] + +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" +dependencies = [ + "futures 0.3.16", + "js-sys", + "parking_lot 0.11.1", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmi" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ee05bba3d1d994652079893941a2ef9324d2b58a63c31b40678fb7eddd7a5a" +dependencies = [ + "downcast-rs", + "libc", + "memory_units", + "num-rational 0.2.4", + "num-traits", + "parity-wasm 0.42.2", + "wasmi-validation", +] + +[[package]] +name = "wasmi-validation" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb8e860796d8be48efef530b60eebf84e74a88bce107374fffb0da97d504b8" +dependencies = [ + "parity-wasm 0.42.2", +] + +[[package]] +name = "wasmparser" +version = "0.78.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52144d4c78e5cf8b055ceab8e5fa22814ce4315d6002ad32cfd914f37c12fd65" + +[[package]] +name = "wasmtime" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b310b9d20fcf59385761d1ade7a3ef06aecc380e3d3172035b919eaf7465d9f7" +dependencies = [ + "anyhow", + "backtrace", + "bincode", + "cfg-if 1.0.0", + "cpp_demangle", + "indexmap", + "lazy_static", + "libc", + "log", + "paste", + "psm", + "region", + "rustc-demangle", + "serde", + "smallvec 1.6.1", + "target-lexicon", + "wasmparser", + "wasmtime-cache", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-profiling", + "wasmtime-runtime", + "winapi 0.3.9", +] + +[[package]] +name = "wasmtime-cache" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d14d500d5c3dc5f5c097158feee123d64b3097f0d836a2a27dff9c761c73c843" +dependencies = [ + "anyhow", + "base64 0.13.0", + "bincode", + "directories-next", + "errno", + "file-per-thread-logger", + "libc", + "log", + "serde", + "sha2 0.9.5", + "toml", + "winapi 0.3.9", + "zstd", +] + +[[package]] +name = "wasmtime-cranelift" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c525b39f062eada7db3c1298287b96dcb6e472b9f6b22501300b28d9fa7582f6" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "cranelift-wasm", + "target-lexicon", + "wasmparser", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-debug" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5d2a763e7a6fc734218e0e463196762a4f409c483063d81e0e85f96343b2e0a" +dependencies = [ + "anyhow", + "gimli 0.24.0", + "more-asserts", + "object 0.24.0", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-environ" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64d0c2d881c31b0d65c1f2695e022d71eb60b9fbdd336aacca28208b58eac90" +dependencies = [ + "cfg-if 1.0.0", + "cranelift-codegen", + "cranelift-entity", + "cranelift-wasm", + "gimli 0.24.0", + "indexmap", + "log", + "more-asserts", + "serde", + "thiserror", + "wasmparser", +] + +[[package]] +name = "wasmtime-jit" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4539ea734422b7c868107e2187d7746d8affbcaa71916d72639f53757ad707" +dependencies = [ + "addr2line 0.15.2", + "anyhow", + "cfg-if 1.0.0", + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "cranelift-native", + "cranelift-wasm", + "gimli 0.24.0", + "log", + "more-asserts", + "object 0.24.0", + "rayon", + "region", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-cranelift", + "wasmtime-debug", + "wasmtime-environ", + "wasmtime-obj", + "wasmtime-profiling", + "wasmtime-runtime", + "winapi 0.3.9", +] + +[[package]] +name = "wasmtime-obj" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1a8ff85246d091828e2225af521a6208ed28c997bb5c39eb697366dc2e2f2b" +dependencies = [ + "anyhow", + "more-asserts", + "object 0.24.0", + "target-lexicon", + "wasmtime-debug", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-profiling" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e24364d522dcd67c897c8fffc42e5bdfc57207bbb6d7eeade0da9d4a7d70105b" +dependencies = [ + "anyhow", + "cfg-if 1.0.0", + "lazy_static", + "libc", + "serde", + "target-lexicon", + "wasmtime-environ", + "wasmtime-runtime", +] + +[[package]] +name = "wasmtime-runtime" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51e57976e8a19a18a18e002c6eb12e5769554204238e47ff155fda1809ef0f7" +dependencies = [ + "anyhow", + "backtrace", + "cc", + "cfg-if 1.0.0", + "indexmap", + "lazy_static", + "libc", + "log", + "mach", + "memoffset 0.6.4", + "more-asserts", + "rand 0.8.4", + "region", + "thiserror", + "wasmtime-environ", + "winapi 0.3.9", +] + +[[package]] +name = "web-sys" +version = "0.3.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224b2f6b67919060055ef1a67807367c2066ed520c3862cc013d26cf893a783c" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" +dependencies = [ + "webpki", +] + +[[package]] +name = "wepoll-ffi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" +dependencies = [ + "cc", +] + +[[package]] +name = "westend-runtime" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "beefy-primitives", + "bitvec 0.20.4", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex-literal 0.3.3", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-collective", + "pallet-democracy", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-mmr-primitives", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-offences-benchmarking", + "pallet-proxy", + "pallet-recovery", + "pallet-scheduler", + "pallet-session", + "pallet-session-benchmarking", + "pallet-society", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "pallet-xcm", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-executor", +] + +[[package]] +name = "which" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9" +dependencies = [ + "either", + "lazy_static", + "libc", +] + +[[package]] +name = "widestring" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "winreg" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "ws2_32-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "x25519-dalek" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" +dependencies = [ + "curve25519-dalek 3.2.0", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "xcm" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "derivative", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", +] + +[[package]] +name = "xcm-builder" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-transaction-payment", + "parity-scale-codec", + "polkadot-parachain", + "sp-arithmetic", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "xcm-calls" +version = "0.0.1" +dependencies = [ + "frame-election-provider-support", + "frame-support", + "frame-system", + "pallet-assets", + "pallet-balances", + "pallet-proxy", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-timestamp", + "parity-scale-codec", + "serde", + "sp-core", + "sp-runtime", + "sp-staking", + "xcm", +] + +[[package]] +name = "xcm-executor" +version = "0.9.9-1" +source = "git+https://github.com/paritytech//polkadot?rev=7a9f624777ad2d2adb3a1e6797a31f9d653c9587#7a9f624777ad2d2adb3a1e6797a31f9d653c9587" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", +] + +[[package]] +name = "xcm-simulator" +version = "0.1.0" +source = "git+https://github.com/shaunxw/xcm-simulator?branch=master#b6cf9973c8a81fb1a68036d1d8ef0c922f0e7551" +dependencies = [ + "cumulus-pallet-dmp-queue", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "frame-support", + "parity-scale-codec", + "paste", + "polkadot-parachain", + "polkadot-runtime-parachains", + "sp-io", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "yamux" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" +dependencies = [ + "futures 0.3.16", + "log", + "nohash-hasher", + "parking_lot 0.11.1", + "rand 0.8.4", + "static_assertions", +] + +[[package]] +name = "zeroize" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2c1e130bebaeab2f23886bf9acbaca14b092408c452543c857f66399cd6dab1" +dependencies = [ + "proc-macro2 1.0.28", + "quote 1.0.9", + "syn 1.0.75", + "synstructure", +] + +[[package]] +name = "zstd" +version = "0.6.1+zstd.1.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de55e77f798f205d8561b8fe2ef57abfb6e0ff2abe7fd3c089e119cdb5631a3" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "3.0.1+zstd.1.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1387cabcd938127b30ce78c4bf00b30387dddf704e3f0881dbc4ff62b5566f8c" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "1.4.20+zstd.1.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd5b733d7cf2d9447e2c3e76a5589b4f5e5ae065c22a2bc0b023cbc331b6c8e" +dependencies = [ + "cc", + "libc", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000000..6f86d8354e --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,205 @@ +[profile.release] +panic = 'unwind' + +[workspace] +members = [ + 'node', + 'pallets/*', + 'primitives/*', + 'runtime/*', + + 'rpc', + 'pallets/asset-index/rpc', + 'pallets/asset-index/rpc/runtime-api', +] +exclude = ["test-utils/xcm-test-support"] + +[patch."https://github.com/paritytech/substrate"] +frame-benchmarking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-benchmarking-cli = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-election-provider-support = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-executive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-support = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-support-procedural = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-support-procedural-tools = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-support-procedural-tools-derive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-system = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +frame-try-runtime = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +#max-encoded-len = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +#max-encoded-len-derive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-aura = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-authority-discovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-authorship = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-babe = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-balances = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-bounties = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-collective = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-democracy = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-election-provider-multi-phase = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-elections-phragmen = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-grandpa = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-identity = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-im-online = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-indices = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-membership = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-mmr = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-mmr-primitives = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-mmr-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-multisig = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-nicks = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-offences = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-proxy = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-offences-benchmarking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-randomness-collective-flip = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-recovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-session-benchmarking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-scheduler = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-sudo = {git = 'https://github.com/paritytech//substrate', rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-session = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-society = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-staking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-staking-reward-curve = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-timestamp = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-tips = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-transaction-payment = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-treasury = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-utility = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +pallet-vesting = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +remote-externalities = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-authority-discovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-basic-authorship = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-block-builder = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-chain-spec = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-cli = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-client-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-client-db = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-consensus = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-consensus-aura = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-consensus-babe = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-consensus-babe-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-consensus-epochs = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-consensus-manual-seal = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-consensus-slots = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-executor = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-executor-common = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-executor-wasmtime = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-finality-grandpa = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-finality-grandpa-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +#sc-finality-grandpa-warp-sync = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-informant = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-keystore = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-network = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-network-gossip = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-offchain = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-rpc-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-service = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-sync-state-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-telemetry = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-tracing = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-transaction-pool = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sc-transaction-pool-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-api = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-application-crypto = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-arithmetic = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-authority-discovery = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-block-builder = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-blockchain = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-consensus = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-consensus-aura = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-consensus-babe = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-consensus-slots = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-consensus-vrf = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-core = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-debug-derive = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-externalities = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-finality-grandpa = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-inherents = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-io = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-keystore = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-maybe-compressed-blob = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-npos-elections = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-offchain = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-rpc = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-runtime = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-runtime-interface = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-runtime-interface-proc-macro = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-serializer = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-session = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-staking = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-state-machine = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-std = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-storage = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-timestamp = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-tracing = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-transaction-pool = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-trie = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-utils = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-version = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +sp-wasm-interface = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +substrate-build-script-utils = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +substrate-frame-rpc-system = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +substrate-prometheus-endpoint = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +try-runtime-cli = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} +substrate-wasm-builder = { git = "https://github.com/paritytech//substrate", rev = '91061a7d925b5bc597804293da283477512ba4ff'} + +[patch."https://github.com/paritytech/polkadot"] +xcm = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +xcm-executor = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +xcm-builder = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +pallet-xcm = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-parachain = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-primitives = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-core-primitives = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-runtime-common = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +rococo-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +westend-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +kusama-runtime = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-runtime-parachains = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-node-network-protocol = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-node-subsystem = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-statement-table = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-test-service = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-overseer = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-node-primitives = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-service = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-cli = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-node-core-pvf = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } +polkadot-client = { git = "https://github.com/paritytech//polkadot", rev = "7a9f624777ad2d2adb3a1e6797a31f9d653c9587" } + +[patch."https://github.com/paritytech/cumulus"] +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +pallet-collator-selection = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +parachain-info = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-client-cli = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-client-collator = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-client-network = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-client-service = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-pallet-xcm = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-primitives-core = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-primitives-utility = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } +cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech//cumulus", rev = "fd80849dde5c209c20a996cfcc5aaacd4666dcbe" } + +[patch."https://github.com/paritytech/grandpa-bridge-gadget"] +pallet-beefy = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } +beefy-primitives = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } +beefy-gadget = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } +beefy-gadget-rpc = { git = "https://github.com/paritytech//grandpa-bridge-gadget", rev = "f40c0ab7b327e874d5c8d699bfa5d762f1759ee0" } + +[patch."https://github.com/open-web3-stack/open-runtime-module-library"] +orml-currencies = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } +orml-tokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } +orml-xtokens = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } +orml-xcm-support = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } +orml-traits = { git = "https://github.com/open-web3-stack//open-runtime-module-library", rev = "5babe0b71cf60538ca23d41231f9558816c52ae9" } diff --git a/HEADER-LICENSE b/HEADER-LICENSE new file mode 100644 index 0000000000..d73ea080e6 --- /dev/null +++ b/HEADER-LICENSE @@ -0,0 +1,2 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..0a041280bd --- /dev/null +++ b/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/README.md b/README.md new file mode 100644 index 0000000000..822648a38e --- /dev/null +++ b/README.md @@ -0,0 +1,95 @@ +# Polkadot Index Network Token (PINT :beer:) + +[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](http://www.gnu.org/licenses/lgpl-3.0) + +A Polkadot ecosystem index for investors. A self sustaining auction treasury for parachains. + +Organized by the Stateless Money validator, governed by a community that includes Polychain Capital, Hypersphere Ventures, HashKey Capital, Acala, and built by ChainSafe as a StakerDAO product. + +For more information on the project please visit [Polkadot Index Network Token](https://docs.polkadotindex.com/) documentation. + +❗**Current development should be considered a work in progress.** + +## Upstream + +This project is a fork of the +[Substrate Developer Hub Node Template](https://github.com/substrate-developer-hub/substrate-node-template). + +## Build & Run + +Follow these steps to prepare a local Substrate development environment :hammer_and_wrench: + +### Setup + +This project currently builds against Rust nightly-2021-01-26. Assuming you have rustup already insatlled set up your local environment: + +```shell +rustup install nightly-2021-01-26 +rustup target add wasm32-unknown-unknown --toolchain nightly-2021-01-26 +rustup override set nightly-2021-01-26 +``` + +### Build + +Once the development environment is set up, build the node template. This command will build the +[Wasm](https://substrate.dev/docs/en/knowledgebase/advanced/executor#wasm-execution) and +[native](https://substrate.dev/docs/en/knowledgebase/advanced/executor#native-execution) code: + +```bash +cargo build --release +``` + +Note: If the build fails with `(signal: 9, SIGKILL: kill)` it has probably run out of memory. Try freeing some memory or build on another machine. + +## Run + +### Local Testnet + +Polkadot (release-v0.9.x branch) + +``` +cargo build --release + +./target/release/polkadot build-spec --chain rococo-local --raw --disable-default-bootnode > rococo_local.json + +./target/release/polkadot --chain ./rococo_local.json -d cumulus_relay0 --validator --alice --port 9844 + +./target/release/polkadot --chain ./rococo_local.json -d cumulus_relay1 --validator --bob --port 9955 +``` + +PINT Parachain: + +``` +# this command assumes the chain spec is in a directory named polkadot that is a sibling of the pint directory +./target/release/pint --collator --alice --chain pint-dev --ws-port 9945 --parachain-id 200 --rpc-cors all -- --execution wasm --chain ../polkadot/rococo_local.json --ws-port 9977 --rpc-cors all +``` + +### Registering on Local Relay Chain + +In order to produce blocks you will need to register the parachain as detailed in the [Substrate Cumulus Workshop](https://substrate.dev/cumulus-workshop/#/en/3-parachains/2-register) by going to + +Developer -> sudo -> paraSudoWrapper -> sudoScheduleParaInitialize(id, genesis) + +Ensure you set the `ParaId` to `200` and the `parachain: Bool` to `Yes`. + +``` +cargo build --release +# Build the Chain spec +./target/release/pint build-spec --disable-default-bootnode > ./pint-local-plain.json +# Build the raw file +./target/release/pint build-spec --chain=./pint-local-plain.json --raw --disable-default-bootnode > ./pint-local.json + + +# export genesis state and wasm +./target/release/pint export-genesis-state --parachain-id 200 > ./resources/para-200-genesis +./target/release/pint export-genesis-wasm > ./para-200.wasm +``` + + +* [polkadot-launch](https://github.com/paritytech/polkadot-launch) can be run by dropping the proper polkadot binary in the `./bin` folder and + * Run globally + * `polkadot-launch config.json` + * Run locally, navigate into polkadot-launch, + * ``` yarn ``` + * ``` yarn start ``` + diff --git a/config.json b/config.json new file mode 100644 index 0000000000..b9120dc73b --- /dev/null +++ b/config.json @@ -0,0 +1,67 @@ +{ + "relaychain": { + "bin": "./bin/polkadot", + "chain": "rococo-local", + "nodes": [ + { + "name": "alice", + "wsPort": 9944, + "port": 30444 + }, + { + "name": "bob", + "wsPort": 9955, + "port": 30555 + }, + { + "name": "charlie", + "wsPort": 9966, + "port": 30666 + } + ] + }, + "parachains": [ + { + "bin": "./bin/pint", + "chain": "pint-dev", + "id": "1", + "balance": "1000000000000000000000", + "nodes": [ + { + "wsPort": 9988, + "port": 31200, + "flags": [ + "-lruntime=debug", + "--unsafe-ws-external", + "--", + "--execution=wasm" + ] + } + ] + }, + { + "bin": "./bin/statemint", + "chain": "statemint-dev", + "id": "300", + "balance": "1000000000000000000000", + "nodes": [ + { + "wsPort": 9999, + "port": 31300, + "flags": ["-lruntime=debug", "--", "--execution=wasm"] + } + ] + } + ], + "simpleParachains": [], + "hrmpChannels": [ + { + "sender": 1, + "recipient": 300, + "maxCapacity": 8, + "maxMessageSize": 512 + } + ], + "types": {}, + "finalization": true +} diff --git a/docker/launch.Dockerfile b/docker/launch.Dockerfile new file mode 100644 index 0000000000..b1d0c94800 --- /dev/null +++ b/docker/launch.Dockerfile @@ -0,0 +1,24 @@ +# syntax=docker/dockerfile:experimental +# +# Copyright 2021 ChainSafe Systems +# SPDX-License-Identifier: LGPL-3.0-only +# +# This Dockerfile builds the environment of e2e tests +FROM debian:buster-slim +COPY config.json config.json +COPY js/polkadot-launch polkadot-launch +COPY --from=chainsafe/pint /usr/local/bin/pint bin/ +COPY --from=clearloop/rococo-v1 /polkadot bin/ +COPY --from=clearloop/statemint /statemint bin/ +ENV CARGO_TERM_COLOR=always +RUN apt-get update -y \ + && apt-get install openssl curl git -y \ + && curl -sL https://deb.nodesource.com/setup_15.x | bash - \ + && apt-get -qqy --no-install-recommends install nodejs -y \ + && rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb \ + && rm -f /var/cache/apt/*.bin \ + && cd polkadot-launch \ + && npm install \ + && npm run build +EXPOSE 9988 +ENTRYPOINT [ "node", "polkadot-launch/dist/index.js", "config.json" ] diff --git a/docker/release.Dockerfile b/docker/release.Dockerfile new file mode 100644 index 0000000000..f217412090 --- /dev/null +++ b/docker/release.Dockerfile @@ -0,0 +1,33 @@ +# syntax=docker/dockerfile:experimental +# +# Copyright 2021 ChainSafe Systems +# SPDX-License-Identifier: LGPL-3.0-only +# +# Building layer +FROM paritytech/ci-linux:production as builder +COPY . . +ENV CARGO_TERM_COLOR=always +RUN --mount=type=cache,target=/usr/local/cargo/git \ + --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,sharing=private,target=target \ + cargo build --release \ + && mv target/release/pint /pint + +# Release +FROM debian:buster-slim +LABEL description="The docker image of PINT" +COPY --from=builder /pint /usr/local/bin/ +RUN useradd -m -u 1000 -U -s /bin/sh -d /pint pint && \ + mkdir -p /pint/.local/share && \ + mkdir /data && \ + chown -R pint:pint /data && \ + ln -s /data /pint/.local/share/pint && \ + rm -rf /usr/bin /usr/sbin +USER pint +# 30333 for p2p traffic +# 9933 for RPC call +# 9944 for Websocket +# 9615 for Prometheus (metrics) +EXPOSE 30333 9933 9944 9615 +VOLUME [ "/data" ] +ENTRYPOINT [ "/usr/local/bin/pint" ] diff --git a/docker/rococo.Dockerfile b/docker/rococo.Dockerfile new file mode 100644 index 0000000000..abe1ca8441 --- /dev/null +++ b/docker/rococo.Dockerfile @@ -0,0 +1,20 @@ +# syntax=docker/dockerfile:experimental +# +# Copyright 2021 ChainSafe Systems +# SPDX-License-Identifier: LGPL-3.0-only +# +# rococo-v1 +FROM paritytech/ci-linux:production as builder +COPY . . +ENV CARGO_TERM_COLOR=always +RUN --mount=type=cache,target=/usr/local/cargo/git \ + --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,sharing=private,target=target \ + git clone https://github.com/paritytech/polkadot.git -b rococo-v1 --depth=1 \ + && cd polkadot \ + && cargo build --release \ + && mv target/release/polkadot /polkadot + +# Only a binary for debian +FROM scratch +COPY --from=builder /polkadot / diff --git a/docker/statemint.Dockerfile b/docker/statemint.Dockerfile new file mode 100644 index 0000000000..ae43ba8e5f --- /dev/null +++ b/docker/statemint.Dockerfile @@ -0,0 +1,20 @@ +# syntax=docker/dockerfile:experimental +# +# Copyright 2021 ChainSafe Systems +# SPDX-License-Identifier: LGPL-3.0-only +# +# statemint +FROM paritytech/ci-linux:production as builder +COPY . . +ENV CARGO_TERM_COLOR=always +RUN --mount=type=cache,target=/usr/local/cargo/git \ + --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,sharing=private,target=target \ + git clone https://github.com/paritytech/statemint.git --depth=1 \ + && cd statemint \ + && cargo build --release \ + && mv target/release/statemilnt /statemint + +# Only a binary for debian +FROM scratch +COPY --from=builder /statemint / diff --git a/js/.prettierrc b/js/.prettierrc new file mode 100644 index 0000000000..c9c98c1fb1 --- /dev/null +++ b/js/.prettierrc @@ -0,0 +1,17 @@ +{ + "tabWidth": 4, + "overrides": [ + { + "files": "*.json", + "options": { + "tabWidth": 2 + } + }, + { + "files": ".prettierrc", + "options": { + "tabWidth": 2 + } + } + ] +} diff --git a/js/e2e/README.md b/js/e2e/README.md new file mode 100644 index 0000000000..dc6780d5fd --- /dev/null +++ b/js/e2e/README.md @@ -0,0 +1,10 @@ +# E2E + +E2E tests for PINT + +This package will traverse all APIs provided written in the config + + +## LICENSE + +GNU-v3 diff --git a/js/e2e/index.ts b/js/e2e/index.ts new file mode 100644 index 0000000000..145b1a4ee7 --- /dev/null +++ b/js/e2e/index.ts @@ -0,0 +1,506 @@ +/** + * E2E tests for PINT + */ +import { + assert, + Runner, + expandId, + Extrinsic, + ExtrinsicConfig, + IExtrinsic, + waitBlock, +} from "./src"; +import { ApiPromise } from "@polkadot/api"; +import { Balance } from "@polkadot/types/interfaces/runtime"; +import BN from "bn.js"; + +const ASSET_ID_A: number = 42; +const ASSET_ID_A_UNITS: number = 1; +const ASSET_ID_A_VALUE: number = 1; +const ASSET_ID_A_DEPOSIT: BN = new BN(10000); +const ASSET_ID_B: number = 43; +const BALANCE_THOUSAND: BN = new BN(1000); +const VOTING_PERIOD: number = 10; +const WITHDRAWALS_PERIOD: number = 10; + +const TESTS = (api: ApiPromise, config: ExtrinsicConfig): Extrinsic[] => { + const PINT: Balance = api.createType("Balance", Math.pow(10, 12)); + const PARENT_LOCATION = api.createType("MultiLocation", { + X2: [ + api.createType("Junction", { Parent: null }), + api.createType("Junction", { + AccountId32: { + network: "Any", + id: config.alice.address, + }, + }), + ], + }); + + return [ + /* balance */ + { + signed: config.alice, + pallet: "balances", + call: "transfer", + args: [config.charlie.address, PINT.mul(BALANCE_THOUSAND)], + with: [ + { + signed: config.alice, + pallet: "balances", + call: "transfer", + args: [config.dave.address, PINT.mul(BALANCE_THOUSAND)], + }, + ], + }, + /* asset-index */ + { + signed: config.alice, + pallet: "assetIndex", + call: "setMetadata", + args: [ASSET_ID_A, "PINT_TEST", "P", 9], + verify: async () => { + assert( + JSON.stringify( + ( + await api.query.assetIndex.metadata(ASSET_ID_A) + ).toHuman() + ) === + JSON.stringify({ + name: "PINT_TEST", + symbol: "P", + decimals: "9", + }), + "assetIndex.setMetadata failed" + ); + }, + }, + { + signed: config.alice, + pallet: "assetIndex", + call: "addAsset", + args: [ + ASSET_ID_A, + ASSET_ID_A_UNITS, + PARENT_LOCATION, + ASSET_ID_A_VALUE, + ], + verify: async () => { + assert( + ((await api.query.assetIndex.assets(ASSET_ID_A)) as any) + .isSome, + "assetIndex.addAsset failed" + ); + }, + }, + { + required: ["priceFeed.mapAssetPriceFeed"], + shared: async () => { + return (await api.query.system.account(config.alice.address)) + .data.free; + }, + signed: config.alice, + pallet: "assetIndex", + call: "deposit", + args: [ASSET_ID_A, PINT.mul(ASSET_ID_A_DEPOSIT)], + verify: async (before: Balance) => { + const current = ( + await api.query.system.account(config.alice.address) + ).data.free; + + // cover weight fee + assert( + current.sub(before).div(PINT).toNumber() === + ASSET_ID_A_DEPOSIT.toNumber() - 1, + "assetIndex.deposit failed" + ); + }, + }, + { + required: ["priceFeed.mapAssetPriceFeed"], + signed: config.alice, + pallet: "assetIndex", + call: "withdraw", + args: [PINT.mul(BALANCE_THOUSAND).div(new BN(4))], + verify: async () => { + assert( + ( + ( + await api.query.assetIndex.pendingWithdrawals( + config.alice.address + ) + ).toHuman() as any + ).length === 1, + "assetIndex.withdraw failed" + ); + }, + }, + { + required: ["assetIndex.withdraw"], + shared: async () => { + const currentBlock = ( + await api.derive.chain.bestNumber() + ).toNumber(); + const pendingWithdrawls = + await api.query.assetIndex.pendingWithdrawals( + config.alice.address + ); + + const end = (pendingWithdrawls as any).toHuman()[0].end_block; + const needsToWait = + end - currentBlock > WITHDRAWALS_PERIOD + ? end - currentBlock - WITHDRAWALS_PERIOD + : 0; + + console.log( + `\t | waiting for the withdrawls peirod (around ${Math.floor( + (needsToWait * 12) / 60 + )} mins)...` + ); + + await waitBlock(needsToWait); + }, + signed: config.alice, + pallet: "assetIndex", + call: "completeWithdraw", + args: [], + verify: async () => { + assert( + ( + (await api.query.assetIndex.pendingWithdrawals( + config.alice.address + )) as any + ).isNone, + "assetIndex.completeWithdraw failed" + ); + }, + }, + /* remote-asset-manager*/ + { + required: ["priceFeed.mapAssetPriceFeed"], + signed: config.alice, + pallet: "remoteAssetManager", + call: "sendAddProxy", + args: [ASSET_ID_A, "Any", config.alice.address], + verify: async () => { + assert( + JSON.stringify( + ( + await api.query.remoteAssetManager.proxies( + ASSET_ID_A, + config.alice.address + ) + ).toJSON() + ) === + JSON.stringify({ + added: ["Any"], + }), + "remoteAssetManager.sendAddProxy failed" + ); + }, + }, + { + required: ["priceFeed.mapAssetPriceFeed"], + signed: config.alice, + pallet: "remoteAssetManager", + call: "sendBond", + args: [ + ASSET_ID_A, + config.alice.address, + 1000, + api.createType("RewardDestination", { + Staked: null, + }), + ], + verify: async () => { + assert( + JSON.stringify( + ( + await api.query.remoteAssetManager.palletStakingLedger( + ASSET_ID_A + ) + ).toJSON() + ) === + JSON.stringify({ + controller: config.alice.address, + bonded: 1000, + unbonded: 0, + unlocked_chunks: [0], + }), + + "remoteAssetManager.sendBond failed" + ); + }, + }, + /* committee */ + { + signed: config.alice, + pallet: "committee", + call: "propose", + args: [api.tx.balances.transfer(config.bob.address, 1000000)], + verify: async () => { + const proposals = await api.query.committee.activeProposals(); + assert( + (proposals as any).length > 0, + "no proposal found after committe.propose" + ); + }, + }, + { + required: ["committee.propose"], + shared: async () => { + return new Promise(async (resolve) => { + await waitBlock(1); + const hash = ( + (await api.query.committee.activeProposals()) as any + )[0]; + const currentBlock = ( + await api.derive.chain.bestNumber() + ).toNumber(); + + const end = ( + (await api.query.committee.votes(hash)).toJSON() as any + ).end as number; + + const needsToWait = + end - currentBlock > VOTING_PERIOD + ? end - currentBlock - VOTING_PERIOD + : 0; + + console.log( + `\t | waiting for the voting peirod (around ${Math.floor( + (needsToWait * 12) / 60 + )} mins)...` + ); + + await waitBlock(needsToWait); + resolve(hash); + }); + }, + signed: config.alice, + pallet: "committee", + call: "vote", + args: [(hash: string) => hash, api.createType("Vote" as any)], + with: [ + async (hash: string): Promise => { + return { + signed: config.bob, + pallet: "committee", + call: "vote", + args: [hash, api.createType("Vote" as any)], + }; + }, + async (hash: string): Promise => { + return { + signed: config.charlie, + pallet: "committee", + call: "vote", + args: [hash, api.createType("Vote" as any)], + }; + }, + async (hash: string): Promise => { + return { + signed: config.dave, + pallet: "committee", + call: "vote", + args: [hash, api.createType("Vote" as any)], + }; + }, + ], + verify: async (hash: string) => { + assert( + ((await api.query.committee.votes(hash)).toJSON() as any) + .votes[0].vote === "Aye", + "committee.vote failed" + ); + }, + }, + { + required: ["committee.vote"], + shared: async () => { + const hash = ( + (await api.query.committee.activeProposals()) as any + )[0]; + return hash; + }, + signed: config.alice, + pallet: "committee", + call: "close", + args: [(hash: string) => hash], + verify: async (hash: string) => { + const proposals = await api.query.committee.executedProposals( + hash + ); + assert( + (proposals as any).isSome, + "no proposal executed after committe.close" + ); + }, + }, + { + pallet: "committee", + call: "addConstituent", + args: [config.ziggy.address], + verify: async () => { + assert( + ( + (await api.query.committee.members( + config.ziggy.address + )) as any + ).isSome, + "Add constituent failed" + ); + }, + }, + /* local_treasury */ + { + pallet: "localTreasury", + call: "withdraw", + args: [500000000000, config.ziggy.address], + verify: async () => { + assert( + ( + await api.derive.balances.all(config.ziggy.address) + ).freeBalance.toNumber() === 500000000000, + "localTreasury.withdraw failed" + ); + }, + }, + /* chainlink_feed */ + { + signed: config.alice, + pallet: "chainlinkFeed", + call: "createFeed", + args: [ + 100000000000, + 0, + [100000000000, 100000000000], + 1, + 9, + "test_feed", + 0, + [[config.alice.address, config.bob.address]], + null, + null, + ], + verify: async () => { + assert( + (await api.query.chainlinkFeed.feeds.entries()).length === + 1, + "Create feed failed" + ); + }, + }, + { + signed: config.alice, + pallet: "chainlinkFeed", + call: "submit", + args: [0, 1, 100000000000], + verify: async () => { + assert( + (await api.query.chainlinkFeed.rounds(0, 1)).isEmpty, + "Create feed failed" + ); + }, + }, + /* price-feed */ + { + required: ["chainlinkFeed.submit"], + pallet: "priceFeed", + call: "mapAssetPriceFeed", + args: [ASSET_ID_A, 0], + verify: async () => { + assert( + Number( + ( + await api.query.priceFeed.assetFeeds(ASSET_ID_A) + ).toHuman() + ) === 0, + "map feed failed" + ); + }, + }, + { + required: ["assetIndex.deposit"], + pallet: "priceFeed", + call: "unmapAssetPriceFeed", + args: [ASSET_ID_A], + verify: async () => { + assert( + ((await api.query.priceFeed.assetFeeds(ASSET_ID_A)) as any) + .isNone, + "unmap price feed failed" + ); + }, + }, + /* saft-registry */ + { + signed: config.alice, + pallet: "saftRegistry", + call: "addSaft", + args: [ASSET_ID_B, 168, 42], + verify: async () => { + assert( + ((await api.query.assetIndex.assets(ASSET_ID_B)) as any) + .isSome, + "Add saft failed" + ); + }, + }, + // { + // required: ["saftRegistry.addSaft"], + // signed: config.alice, + // pallet: "saftRegistry", + // call: "reportNav", + // args: [ASSET_ID_B, 0, 336], + // verify: async () => { + // const saft = ( + // (await api.query.saftRegistry.activeSAFTs( + // ASSET_ID_B, + // Number( + // ( + // await api.query.saftRegistry.sAFTCounter( + // ASSET_ID_B + // ) + // ).toHuman() + // ) + // )) as any + // ).toJSON(); + // // const expect = { + // // nav: 336, + // // units: 42, + // // }; + // // assert( + // // JSON.stringify(saft[0]) === + // // JSON.stringify({ + // // nav: 336, + // // units: 42, + // // }), + // // `Report nav failed, expect: ${JSON.stringify( + // // expect + // // )}, result: ${JSON.stringify(saft[0])}` + // // ); + // }, + // }, + /* asset-index */ + { + required: ["saftRegistry.deposit"], + signed: config.alice, + pallet: "assetIndex", + call: "removeAsset", + args: [ASSET_ID_A, BALANCE_THOUSAND, null], + verify: async () => { + assert( + ((await api.query.assetIndex.assets(ASSET_ID_A)) as any) + .isNone, + "assetIndex.removeAsset failed" + ); + }, + }, + ].map((e) => new Extrinsic(expandId(e), api, config.alice)); +}; + +// main +(async () => { + await Runner.run(TESTS); +})(); diff --git a/js/e2e/package.json b/js/e2e/package.json new file mode 100644 index 0000000000..f2ec83b84d --- /dev/null +++ b/js/e2e/package.json @@ -0,0 +1,32 @@ +{ + "name": "@pint/e2e", + "version": "1.0.0", + "description": "E2E tests for PINT", + "main": "index.js", + "repository": "https://github.com/ChainSafe/PINT", + "author": "ChainSafe", + "license": "GNU-v3", + "private": true, + "devDependencies": { + "@polkadot/types": "^4.15.1", + "@types/bn.js": "^5.1.0", + "@types/node": "^15.3.1", + "ts-node": "^10.0.0", + "tslint": "^6.1.3", + "typescript": "^4.2.4" + }, + "dependencies": { + "@open-web3/orml-types": "^0.9.3", + "@pint/types": "^1.0.0", + "@polkadot/api": "^4.15.1", + "@polkadot/keyring": "^6.9.1", + "@polkadot/util-crypto": "^6.9.1", + "bn.js": "^5.2.0", + "find-up": "^5.0.0" + }, + "scripts": { + "start": "ts-node index.ts", + "build": "tsc --strict", + "lint": "tsc --noEmit --strict && tslint --project ./tsconfig.json" + } +} diff --git a/js/e2e/src/config.ts b/js/e2e/src/config.ts new file mode 100644 index 0000000000..83dae24435 --- /dev/null +++ b/js/e2e/src/config.ts @@ -0,0 +1,45 @@ +/** + * Config of E2E tests + */ +import { ApiPromise } from "@polkadot/api"; +import { KeyringPair } from "@polkadot/keyring/types"; +import { Extrinsic } from "./extrinsic"; + +/** + * The config of e2e tests + */ +export interface Config { + api: ApiPromise; + pair: KeyringPair; + exs: Extrinsic[]; +} + +/** + * The config of extrinsics + */ +export interface ExtrinsicConfig { + alice: KeyringPair; + bob: KeyringPair; + charlie: KeyringPair; + dave: KeyringPair; + ziggy: KeyringPair; +} + +/** + * Extrinsic interface + */ +export interface IExtrinsic { + // extrinsic id + id?: string; + // use signed origin + signed?: KeyringPair; + pallet: string; + call: string; + args: any[]; + shared?: () => Promise; + verify?: (shared?: any) => Promise; + /// Required calls or functions before this extrinsic + required?: string[]; + /// Calls or functions with this extrinsic + with?: (IExtrinsic | ((shared?: any) => Promise))[]; +} diff --git a/js/e2e/src/extrinsic.ts b/js/e2e/src/extrinsic.ts new file mode 100644 index 0000000000..f0bb3597f0 --- /dev/null +++ b/js/e2e/src/extrinsic.ts @@ -0,0 +1,181 @@ +/** + * Extrinsic + */ +import { KeyringPair } from "@polkadot/keyring/types"; +import { IExtrinsic } from "./config"; +import { ISubmittableResult } from "@polkadot/types/types"; +import { DispatchError, EventRecord } from "@polkadot/types/interfaces/types"; +import { SubmittableExtrinsic } from "@polkadot/api/types"; +import { ApiPromise } from "@polkadot/api"; + +// Substrate transaction +export type Transaction = SubmittableExtrinsic<"promise", ISubmittableResult>; + +// runTx Result +interface TxResult { + unsub: Promise<() => void>; + blockHash: string; +} + +/** + * Custom Extrinsic + */ +export class Extrinsic { + api: ApiPromise; + pair: KeyringPair; + // extrinsic id + id?: string; + // use signed origin + signed?: KeyringPair; + pallet: string; + call: string; + args: any[]; + shared?: () => Promise; + verify?: (shared?: any) => Promise; + /// Required calls or functions before this extrinsic + required?: string[]; + /// Calls or functions with this extrinsic + with?: (IExtrinsic | ((shared?: any) => Promise))[]; + + constructor(e: IExtrinsic, api: ApiPromise, pair: KeyringPair) { + this.api = api; + this.pair = pair; + this.id = e.id; + this.signed = e.signed; + this.pallet = e.pallet; + this.call = e.call; + this.args = e.args; + this.shared = e.shared; + this.verify = e.verify; + this.required = e.required; + this.with = e.with; + } + + /** + * Build transaction from extrinsic + * + * @param {ex} Extrinsic + * @returns {Transaction} + */ + public build(): Transaction { + // flush arguments + const args: any[] = []; + for (const arg of this.args) { + if (typeof arg === "function") { + args.push(arg(this.shared)); + } else { + args.push(arg); + } + } + + // construct tx + let tx = this.api.tx[this.pallet][this.call](...args); + if (!this.signed) { + tx = this.api.tx.sudo.sudo(tx); + } + + return tx; + } + + /** + * Parse transaction errors + * + * @param {ISubmittableResult} sr + * @returns {Promise} + */ + private async send( + se: SubmittableExtrinsic<"promise", ISubmittableResult>, + nonce: number, + signed = this.pair + ): Promise { + return new Promise((resolve, reject) => { + const unsub: any = se.signAndSend( + signed, + { nonce }, + async (sr: ISubmittableResult) => + await this.checkError(unsub, sr, resolve, reject) + ); + }); + } + + /** + * Check and throw transaction errors + * + * @param {boolean} inblock + * @param {Promise<() => void>} unsub + * @param {ISubmittableResult} sr + * @param {(value: TxResult | PromiseLike) => void} resolve + * @param {(reason?: any) => void} reject + */ + private async checkError( + unsub: Promise<() => void>, + sr: ISubmittableResult, + resolve: (value: TxResult | PromiseLike) => void, + reject: (reason?: any) => void + ) { + const status = sr.status; + const events = sr.events; + + console.log(`\t | - ${this.id} status: ${status.type}`); + + if (status.isInBlock) { + if (events) { + events.forEach((value: EventRecord): void => { + const maybeError = value.event.data[0]; + if (maybeError && (maybeError as DispatchError).isModule) { + const error = this.api.registry.findMetaError( + ( + value.event.data[0] as DispatchError + ).asModule.toU8a() + ); + reject( + `${error.section}.${error.method}: ${error.documentation}` + ); + } + }); + } + } else if (status.isInvalid) { + reject("Invalid Extrinsic"); + } else if (status.isRetracted) { + reject("Extrinsic Retracted"); + } else if (status.isUsurped) { + reject("Extrinsic Usupred"); + } else if (status.isFinalized) { + resolve({ + unsub, + blockHash: status.asFinalized.toHex().toString(), + }); + } + } + + /** + * Run Extrinsic + * + * @param {ex} Extrinsic + */ + public async run(errors: string[], nonce: number): Promise { + console.log( + `-> queue extrinsic ${nonce}: ${this.pallet}.${this.call}...` + ); + const tx = this.build(); + + // get res + const res = (await this.send(tx, nonce, this.signed).catch( + (err: any) => { + errors.push( + `====> Error: ${this.pallet}.${this.call} failed: ${err}` + ); + } + )) as TxResult; + + // thisecute verify script + if (this.verify) { + console.log(`\t | verify: ${this.pallet}.${this.call}`); + await this.verify(this.shared); + } + + if (res && res.unsub) { + (await res.unsub)(); + } + } +} diff --git a/js/e2e/src/index.ts b/js/e2e/src/index.ts new file mode 100644 index 0000000000..f21dade6cc --- /dev/null +++ b/js/e2e/src/index.ts @@ -0,0 +1,9 @@ +/** + * E2E tests for PINT + */ +import Runner from "./runner"; +export { Config, ExtrinsicConfig, IExtrinsic } from "./config"; +export * as Launch from "./launch"; +export { Extrinsic } from "./extrinsic"; +export { assert, expandId, waitBlock } from "./util"; +export { Runner }; diff --git a/js/e2e/src/launch.ts b/js/e2e/src/launch.ts new file mode 100644 index 0000000000..ec822aa6f6 --- /dev/null +++ b/js/e2e/src/launch.ts @@ -0,0 +1,66 @@ +/** + * pint-launch + */ +import fs from "fs"; +import findUp from "find-up"; +import path from "path"; +import { fork, ChildProcess, StdioOptions, spawn } from "child_process"; + +/** + * Launch PINT locally + * + * @param stdio {StdioOptions} + * @returns {Promise} + */ +export async function local(stdio?: StdioOptions): Promise { + return fork("js/polkadot-launch", ["config.json"], { + cwd: path.resolve(String(await findUp("Cargo.toml")), ".."), + killSignal: "SIGINT", + stdio, + } as any); +} + +/** + * Launch PINT via docker (CI) + * + * @param stdio {StdioOptions} + * @returns {Promise} + */ +export async function docker(stdio?: StdioOptions): Promise { + return spawn( + "sudo", + [ + "docker", + "run", + "--name", + "launch", + "-p", + "9988:9988", + "-p", + "9966:9966", + "-p", + "9999:9999", + "--ip", + "0.0.0.0", + "launch", + ], + { + stdio, + } + ); +} + +/** + * Launch PINT via local or docker + * + * @param stdio {StdioOptions} + * @returns {Promise} + */ +export async function launch(stdio?: StdioOptions): Promise { + const root = await findUp("Cargo.toml"); + if (fs.existsSync(path.resolve(String(root), "../bin/pint"))) { + return local(stdio); + } else { + return docker(stdio); + } +} diff --git a/js/e2e/src/runner.ts b/js/e2e/src/runner.ts new file mode 100644 index 0000000000..6cc2ec1c37 --- /dev/null +++ b/js/e2e/src/runner.ts @@ -0,0 +1,263 @@ +/** + * Runner extensions + */ +import { ApiPromise, WsProvider } from "@polkadot/api"; +import { Keyring } from "@polkadot/keyring"; +import { KeyringPair } from "@polkadot/keyring/types"; +import ChainlinkTypes from "@pint/types/chainlink.json"; +import { definitions } from "@pint/types"; +import { Config, ExtrinsicConfig } from "./config"; +import { Extrinsic } from "./extrinsic"; +import { launch } from "./launch"; +import { expandId } from "./util"; +import { ChildProcess } from "child_process"; +import OrmlTypes from "@open-web3/orml-types"; + +// Extrinsics builder +type Builder = (api: ApiPromise, config: ExtrinsicConfig) => Extrinsic[]; + +// Message of launching complete +export const LAUNCH_COMPLETE: string = "POLKADOT LAUNCH COMPLETE"; + +// Kill subprocesses +function killAll(ps: ChildProcess, exitCode: number) { + try { + if (ps.send && !ps.killed) { + ps.send("exit"); + } + ps.kill("SIGINT"); + } catch (e) { + if (e.code !== "EPERM") { + process.stdout.write(e); + process.exit(2); + } + } + + process.exit(exitCode); +} + +/** + * E2E runner + */ +export default class Runner implements Config { + public api: ApiPromise; + public pair: KeyringPair; + public exs: Extrinsic[]; + public errors: string[]; + public finished: string[]; + public nonce: number; + + /** + * run E2E tests + * + * @param {Builder} exs - Extrinsic builder + * @param {string} ws - "ws://0.0.0.0:9988" by default + * @param {string} uri - "//Alice" by default + * @returns {Promise} + */ + static async run( + exs: Builder, + ws: string = "ws://127.0.0.1:9988", + uri: string = "//Alice" + ): Promise { + console.log("bootstrap e2e tests..."); + console.log("establishing ws connections... (around 2 mins)"); + const ps = await launch("pipe"); + if (ps.stdout) { + ps.stdout.on("data", async (chunk: Buffer) => { + process.stdout.write(chunk.toString()); + if (chunk.includes(LAUNCH_COMPLETE)) { + console.log("COMPLETE LAUNCH!"); + const runner = await Runner.build(exs, ws, uri); + await runner.runTxs(); + } + }); + } + + // Log errors + if (ps.stderr) { + ps.stderr.on("data", (chunk: Buffer) => + process.stderr.write(chunk.toString()) + ); + } + + // Kill all processes when exiting. + process.on("exit", () => { + console.log("-> exit polkadot-launch..."); + killAll(ps, Number(process.exitCode)); + }); + + // Handle ctrl+c to trigger `exit`. + process.on("SIGINT", () => killAll(ps, 0)); + } + + /** + * Build runner + * + * @param {string} ws - "ws://127.0.0.1:9988" by default + * @param {string} uri - "//Alice" by default + * @param {Extrinsic[]} exs - extrinsics + * @returns {Promise} + */ + static async build( + exs: Builder, + ws: string = "ws://127.0.0.1:9988", + uri: string = "//Alice" + ): Promise { + const provider = new WsProvider(ws); + const keyring = new Keyring({ type: "sr25519", ss58Format: 0 }); + + // pairs + const pair = keyring.addFromUri(uri); + const alice = keyring.addFromUri("//Alice"); + const bob = keyring.addFromUri("//Bob"); + const charlie = keyring.addFromUri("//Charlie"); + const dave = keyring.addFromUri("//Dave"); + const ziggy = keyring.addFromUri("//Ziggy"); + + // create api + const api = await ApiPromise.create({ + provider, + typesAlias: { + tokens: { + AccountData: "OrmlAccountData", + BalanceLock: "OrmlBalanceLock", + }, + }, + types: Object.assign( + { + ...ChainlinkTypes, + ...OrmlTypes, + }, + (definitions.types as any)[0].types + ), + }); + + // new Runner + return new Runner({ + api, + pair, + exs: exs(api, { + alice, + bob, + charlie, + dave, + ziggy, + }), + }); + } + + constructor(config: Config) { + this.api = config.api; + this.pair = config.pair; + this.exs = config.exs; + this.errors = []; + this.nonce = 0; + this.finished = []; + } + + /** + * Execute transactions + * + * @returns void + */ + public async runTxs(): Promise { + while (this.exs.length > 0) { + await this.queue().catch(console.error); + } + + if (this.errors.length > 0) { + console.log(`Failed tests: ${this.errors.length}`); + for (const error of this.errors) { + console.log(error); + } + process.exit(1); + } + console.log("COMPLETE TESTS!"); + process.exit(0); + } + + /** + * queue transactions + * + * @returns {Promise} + */ + public async queue(): Promise { + const queue: Extrinsic[] = []; + for (const e of this.exs) { + // 0. check if required ex with ids has finished + let requiredFinished = true; + if (e.required) { + for (const r of e.required) { + if (this.exs.map((i) => i.id).includes(r)) { + requiredFinished = false; + break; + } + } + } + + if (!requiredFinished) { + continue; + } + + // 1. Build shared data + if (typeof e.shared === "function") { + e.shared = await e.shared.call(this); + } + + // 2. Pend transactions + queue.push(e); + if (e.with) { + for (const w of e.with) { + const ex = + typeof w === "function" + ? expandId(await w(e.shared)) + : w; + queue.push(new Extrinsic(ex, this.api, this.pair)); + } + } + } + + // 3. register transactions + await this.batch(queue); + + // 4. drop executed exs + this.exs = this.exs.filter((e) => !queue.includes(e)); + + // 5. log pending txs + for (const ex of this.exs) { + console.log(`--> ${ex.id} is pending...`); + } + } + + /** + * Batch extrinsics + */ + public async batch(exs: Extrinsic[]): Promise { + let currentNonce = Number(this.nonce); + return Promise.all( + exs + .filter((e) => { + const isFunction = + typeof this.api.tx[e.pallet][e.call] === "function"; + + if (!isFunction) { + this.errors.push( + `====> Error: ${e.pallet}.${e.call} not exists` + ); + } + return isFunction; + }) + .map((e) => { + let n = -1; + if (!e.signed || e.signed.address === this.pair.address) { + n = Number(currentNonce); + currentNonce += 1; + } + return e.run(this.errors, n); + }) + ).then(() => { + this.nonce = currentNonce; + }); + } +} diff --git a/js/e2e/src/util.ts b/js/e2e/src/util.ts new file mode 100644 index 0000000000..d6098b51da --- /dev/null +++ b/js/e2e/src/util.ts @@ -0,0 +1,40 @@ +/** + * Utils + */ +import { IExtrinsic } from "./config"; + +export function assert(r: boolean, msg: string): string | void { + if (!r) { + return msg; + } +} + +/** + * Expand Id of extrinsic + */ +export function expandId(e: IExtrinsic): IExtrinsic { + if (!e.id) e.id = `${e.pallet}.${e.call}`; + + if (e.with) { + for (const r of e.with) { + if (typeof r !== "function") { + expandId(r); + } + } + } + + return e; +} + +/** + * Wait for n blocks + * + * The current gap of producing a block is 4s, + * we use 5s here. + * + * @param {number} block + * @returns {Promise} + */ +export async function waitBlock(block: number): Promise { + return new Promise((resolve) => setTimeout(resolve, block * 12000)); +} diff --git a/js/e2e/tsconfig.json b/js/e2e/tsconfig.json new file mode 100644 index 0000000000..8db1eddfc2 --- /dev/null +++ b/js/e2e/tsconfig.json @@ -0,0 +1,19 @@ +{ + "indent": [true, "spaces", 2], + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "baseUrl": ".", + "declaration": true, + "esModuleInterop": true, + "outDir": "lib", + "module": "commonjs", + "moduleResolution": "node", + "noImplicitAny": true, + "resolveJsonModule": true, + "sourceMap": true, + "skipLibCheck": true, + "target": "es6" + }, + "include": ["index.ts", "src/**/*"], + "exclude": ["node_modules"] +} diff --git a/js/e2e/tslint.json b/js/e2e/tslint.json new file mode 100644 index 0000000000..0b5e9615e0 --- /dev/null +++ b/js/e2e/tslint.json @@ -0,0 +1,19 @@ +{ + "extends": "tslint:recommended", + "rules": { + "curly": [true, "ignore-same-line"], + "max-classes-per-file": false, + "max-line-length": { + "options": [120] + }, + "new-parens": true, + "no-arg": true, + "no-bitwise": true, + "no-conditional-assignment": true, + "no-consecutive-blank-lines": false, + "no-console": false + }, + "linterOptions": { + "exclude": [] + } +} diff --git a/js/e2e/yarn.lock b/js/e2e/yarn.lock new file mode 100644 index 0000000000..73b97af6d3 --- /dev/null +++ b/js/e2e/yarn.lock @@ -0,0 +1,815 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/runtime@^7.13.9", "@babel/runtime@^7.14.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.0.tgz?cache=0&sync_timestamp=1619727501090&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha1-RnlLwgthLF915i3QceJN/ZXxy+Y= + dependencies: + regenerator-runtime "^0.13.4" + +"@polkadot/api-derive@4.10.1": + version "4.10.1" + resolved "https://registry.nlark.com/@polkadot/api-derive/download/@polkadot/api-derive-4.10.1.tgz#391ecde22d2f4de67b3eec3389d3f08b9a0cbc4c" + integrity sha1-OR7N4i0vTeZ7PuwzidPwi5oMvEw= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/api" "4.10.1" + "@polkadot/rpc-core" "4.10.1" + "@polkadot/types" "4.10.1" + "@polkadot/util" "^6.4.1" + "@polkadot/util-crypto" "^6.4.1" + "@polkadot/x-rxjs" "^6.4.1" + bn.js "^4.11.9" + +"@polkadot/api@4.10.1", "@polkadot/api@^4.10.1": + version "4.10.1" + resolved "https://registry.nlark.com/@polkadot/api/download/@polkadot/api-4.10.1.tgz#6a43c9c4585f3f92cd21d7ae85ae481d50eb3bac" + integrity sha1-akPJxFhfP5LNIdeuha5IHVDrO6w= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/api-derive" "4.10.1" + "@polkadot/keyring" "^6.4.1" + "@polkadot/metadata" "4.10.1" + "@polkadot/rpc-core" "4.10.1" + "@polkadot/rpc-provider" "4.10.1" + "@polkadot/types" "4.10.1" + "@polkadot/types-known" "4.10.1" + "@polkadot/util" "^6.4.1" + "@polkadot/util-crypto" "^6.4.1" + "@polkadot/x-rxjs" "^6.4.1" + bn.js "^4.11.9" + eventemitter3 "^4.0.7" + +"@polkadot/keyring@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/keyring/download/@polkadot/keyring-6.4.1.tgz#769c5f0613a27e18726b51e6539fa56f161f6160" + integrity sha1-dpxfBhOifhhya1HmU5+lbxYfYWA= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/util" "6.4.1" + "@polkadot/util-crypto" "6.4.1" + +"@polkadot/metadata@4.10.1": + version "4.10.1" + resolved "https://registry.nlark.com/@polkadot/metadata/download/@polkadot/metadata-4.10.1.tgz#f22b76e1fc575c20e44b8ba96949f474505ad5fb" + integrity sha1-8it24fxXXCDkS4upaUn0dFBa1fs= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/types" "4.10.1" + "@polkadot/types-known" "4.10.1" + "@polkadot/util" "^6.4.1" + "@polkadot/util-crypto" "^6.4.1" + bn.js "^4.11.9" + +"@polkadot/networks@6.4.1", "@polkadot/networks@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/networks/download/@polkadot/networks-6.4.1.tgz#0f933c4af10a2bfe8f072e2c7e8357ef03b2e37e" + integrity sha1-D5M8SvEKK/6PBy4sfoNX7wOy434= + dependencies: + "@babel/runtime" "^7.14.0" + +"@polkadot/rpc-core@4.10.1": + version "4.10.1" + resolved "https://registry.nlark.com/@polkadot/rpc-core/download/@polkadot/rpc-core-4.10.1.tgz#531cbb481db5ef02a162039a16958509859431f1" + integrity sha1-Uxy7SB217wKhYgOaFpWFCYWUMfE= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/metadata" "4.10.1" + "@polkadot/rpc-provider" "4.10.1" + "@polkadot/types" "4.10.1" + "@polkadot/util" "^6.4.1" + "@polkadot/x-rxjs" "^6.4.1" + +"@polkadot/rpc-provider@4.10.1": + version "4.10.1" + resolved "https://registry.nlark.com/@polkadot/rpc-provider/download/@polkadot/rpc-provider-4.10.1.tgz#822dbe90a2d0afbf67fcfa2c41ffc2c026d85c10" + integrity sha1-gi2+kKLQr79n/PosQf/CwCbYXBA= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/types" "4.10.1" + "@polkadot/util" "^6.4.1" + "@polkadot/util-crypto" "^6.4.1" + "@polkadot/x-fetch" "^6.4.1" + "@polkadot/x-global" "^6.4.1" + "@polkadot/x-ws" "^6.4.1" + bn.js "^4.11.9" + eventemitter3 "^4.0.7" + +"@polkadot/types-known@4.10.1": + version "4.10.1" + resolved "https://registry.nlark.com/@polkadot/types-known/download/@polkadot/types-known-4.10.1.tgz#3377a6482f116c88f82140e7327c9cdea32b0a1d" + integrity sha1-M3emSC8RbIj4IUDnMnyc3qMrCh0= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/networks" "^6.4.1" + "@polkadot/types" "4.10.1" + "@polkadot/util" "^6.4.1" + bn.js "^4.11.9" + +"@polkadot/types@4.10.1": + version "4.10.1" + resolved "https://registry.nlark.com/@polkadot/types/download/@polkadot/types-4.10.1.tgz#603d273ec5ad83cfce9d3eec05bbd198ae9677f0" + integrity sha1-YD0nPsWtg8/OnT7sBbvRmK6Wd/A= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/metadata" "4.10.1" + "@polkadot/util" "^6.4.1" + "@polkadot/util-crypto" "^6.4.1" + "@polkadot/x-rxjs" "^6.4.1" + "@types/bn.js" "^4.11.6" + bn.js "^4.11.9" + +"@polkadot/util-crypto@6.4.1", "@polkadot/util-crypto@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/util-crypto/download/@polkadot/util-crypto-6.4.1.tgz#b567d824598bf8f4587364c1d7234bafe805f1c5" + integrity sha1-tWfYJFmL+PRYc2TB1yNLr+gF8cU= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/networks" "6.4.1" + "@polkadot/util" "6.4.1" + "@polkadot/wasm-crypto" "^4.0.2" + "@polkadot/x-randomvalues" "6.4.1" + base-x "^3.0.8" + base64-js "^1.5.1" + blakejs "^1.1.0" + bn.js "^4.11.9" + create-hash "^1.2.0" + elliptic "^6.5.4" + hash.js "^1.1.7" + js-sha3 "^0.8.0" + scryptsy "^2.1.0" + tweetnacl "^1.0.3" + xxhashjs "^0.2.2" + +"@polkadot/util@6.4.1", "@polkadot/util@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/util/download/@polkadot/util-6.4.1.tgz#f40fdc91ae49396d7930e37dbd31747769555b7a" + integrity sha1-9A/cka5JOW15MON9vTF0d2lVW3o= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/x-textdecoder" "6.4.1" + "@polkadot/x-textencoder" "6.4.1" + "@types/bn.js" "^4.11.6" + bn.js "^4.11.9" + camelcase "^5.3.1" + ip-regex "^4.3.0" + +"@polkadot/wasm-crypto-asmjs@^4.0.2": + version "4.0.2" + resolved "https://registry.nlark.com/@polkadot/wasm-crypto-asmjs/download/@polkadot/wasm-crypto-asmjs-4.0.2.tgz#f42c353a64e1243841daf90e4bd54eff01a4e3cf" + integrity sha1-9Cw1OmThJDhB2vkOS9VO/wGk488= + dependencies: + "@babel/runtime" "^7.13.9" + +"@polkadot/wasm-crypto-wasm@^4.0.2": + version "4.0.2" + resolved "https://registry.nlark.com/@polkadot/wasm-crypto-wasm/download/@polkadot/wasm-crypto-wasm-4.0.2.tgz#89f9e0a1e4d076784d4a42bea37fc8b06bdd8bb6" + integrity sha1-ifngoeTQdnhNSkK+o3/IsGvdi7Y= + dependencies: + "@babel/runtime" "^7.13.9" + +"@polkadot/wasm-crypto@^4.0.2": + version "4.0.2" + resolved "https://registry.nlark.com/@polkadot/wasm-crypto/download/@polkadot/wasm-crypto-4.0.2.tgz#9649057adee8383cc86433d107ba526b718c5a3b" + integrity sha1-lkkFet7oODzIZDPRB7pSa3GMWjs= + dependencies: + "@babel/runtime" "^7.13.9" + "@polkadot/wasm-crypto-asmjs" "^4.0.2" + "@polkadot/wasm-crypto-wasm" "^4.0.2" + +"@polkadot/x-fetch@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/x-fetch/download/@polkadot/x-fetch-6.4.1.tgz#12b9e6d42e71deceff44c324ba41baed879093c1" + integrity sha1-Ernm1C5x3s7/RMMkukG67YeQk8E= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/x-global" "6.4.1" + "@types/node-fetch" "^2.5.10" + node-fetch "^2.6.1" + +"@polkadot/x-global@6.4.1", "@polkadot/x-global@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/x-global/download/@polkadot/x-global-6.4.1.tgz#546e019e0c7f72a92a2612cacf90e8797c94709f" + integrity sha1-VG4Bngx/cqkqJhLKz5DoeXyUcJ8= + dependencies: + "@babel/runtime" "^7.14.0" + "@types/node-fetch" "^2.5.10" + node-fetch "^2.6.1" + +"@polkadot/x-randomvalues@6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/x-randomvalues/download/@polkadot/x-randomvalues-6.4.1.tgz#bb30d309e03ab63196504f53962e47ec7b97fac9" + integrity sha1-uzDTCeA6tjGWUE9Tli5H7HuX+sk= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/x-global" "6.4.1" + +"@polkadot/x-rxjs@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/x-rxjs/download/@polkadot/x-rxjs-6.4.1.tgz#c6e8cef8dc3f20b4c7468bd6976d843947da1f15" + integrity sha1-xujO+Nw/ILTHRovWl22EOUfaHxU= + dependencies: + "@babel/runtime" "^7.14.0" + rxjs "^6.6.7" + +"@polkadot/x-textdecoder@6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/x-textdecoder/download/@polkadot/x-textdecoder-6.4.1.tgz#f33b81267d8de313e851cc699b9dfa6e8f109cde" + integrity sha1-8zuBJn2N4xPoUcxpm536bo8QnN4= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/x-global" "6.4.1" + +"@polkadot/x-textencoder@6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/x-textencoder/download/@polkadot/x-textencoder-6.4.1.tgz#f34bcc1c1a60d723ea8ce84e10a1efbbf6c1371a" + integrity sha1-80vMHBpg1yPqjOhOEKHvu/bBNxo= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/x-global" "6.4.1" + +"@polkadot/x-ws@^6.4.1": + version "6.4.1" + resolved "https://registry.nlark.com/@polkadot/x-ws/download/@polkadot/x-ws-6.4.1.tgz#e03295907a50f74ec220d9dc9aa6d45370f67554" + integrity sha1-4DKVkHpQ907CINncmqbUU3D2dVQ= + dependencies: + "@babel/runtime" "^7.14.0" + "@polkadot/x-global" "6.4.1" + "@types/websocket" "^1.0.2" + websocket "^1.0.34" + +"@types/bn.js@^4.11.6": + version "4.11.6" + resolved "https://registry.nlark.com/@types/bn.js/download/@types/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha1-wwbHDZNYquozzU7aCSp0K5UFlnw= + dependencies: + "@types/node" "*" + +"@types/node-fetch@^2.5.10": + version "2.5.10" + resolved "https://registry.nlark.com/@types/node-fetch/download/@types/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" + integrity sha1-m01KBCVWL5/OpwsSyz/N2UbKgTI= + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*", "@types/node@^15.3.1": + version "15.3.1" + resolved "https://registry.nlark.com/@types/node/download/@types/node-15.3.1.tgz?cache=0&sync_timestamp=1621463621315&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-15.3.1.tgz#23a06b87eedb524016616e886b116b8fdcb180af" + integrity sha1-I6Brh+7bUkAWYW6IaxFrj9yxgK8= + +"@types/websocket@^1.0.2": + version "1.0.2" + resolved "https://registry.nlark.com/@types/websocket/download/@types/websocket-1.0.2.tgz?cache=0&sync_timestamp=1621244924715&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebsocket%2Fdownload%2F%40types%2Fwebsocket-1.0.2.tgz#d2855c6a312b7da73ed16ba6781815bf30c6187a" + integrity sha1-0oVcajErfac+0WumeBgVvzDGGHo= + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.nlark.com/@types/yargs-parser/download/@types/yargs-parser-20.2.0.tgz?cache=0&sync_timestamp=1621243984050&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha1-3T5mmboyN/A0jNCF5GmHgCBIQvk= + +"@types/yargs@^16.0.2": + version "16.0.2" + resolved "https://registry.nlark.com/@types/yargs/download/@types/yargs-16.0.2.tgz#b860dfa2964425239bba37ab3178b0acd79b8a61" + integrity sha1-uGDfopZEJSObujerMXiwrNebimE= + dependencies: + "@types/yargs-parser" "*" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= + dependencies: + color-convert "^2.0.1" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1605576950209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farg%2Fdownload%2Farg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk= + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +base-x@^3.0.8: + version "3.0.8" + resolved "https://registry.npm.taobao.org/base-x/download/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" + integrity sha1-HhEGwlN/AWLotSR0pVfrsJAAAY0= + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= + +blakejs@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/blakejs/download/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" + integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= + +bufferutil@^4.0.1: + version "4.0.3" + resolved "https://registry.npm.taobao.org/bufferutil/download/bufferutil-4.0.3.tgz?cache=0&sync_timestamp=1609618802475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbufferutil%2Fdownload%2Fbufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" + integrity sha1-ZnJLdWvtI818KMTTBteZT5lDzGs= + dependencies: + node-gyp-build "^4.2.0" + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +cipher-base@^1.0.1: + version "1.0.4" + resolved "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/create-require/download/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= + +cuint@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/cuint/download/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" + integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1614330710870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= + +elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.nlark.com/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.nlark.com/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= + +eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517819668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= + dependencies: + type "^2.0.0" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.nlark.com/form-data/download/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha1-69U3kbeDVqma+aMA1CgsTV65dV8= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +ip-regex@^4.3.0: + version "4.3.0" + resolved "https://registry.nlark.com/ip-regex/download/ip-regex-4.3.0.tgz?cache=0&sync_timestamp=1618846943469&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fip-regex%2Fdownload%2Fip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha1-aHJ1qw9X+naXj/j03dyKI9WZDbU= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.npm.taobao.org/js-sha3/download/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha1-ubel2nOvrX3t0PjEY5VMveaBiEA= + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.nlark.com/make-error/download/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mime-db@1.47.0: + version "1.47.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha1-jLMT5Zll08Bc+/iYkVomevRqM1w= + +mime-types@^2.1.12: + version "2.1.30" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.30.tgz?cache=0&sync_timestamp=1617340140598&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha1-bnvotMR5gl+F7WMmaV23P5MF1i0= + dependencies: + mime-db "1.47.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.nlark.com/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI= + +node-gyp-build@^4.2.0: + version "4.2.3" + resolved "https://registry.npm.taobao.org/node-gyp-build/download/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" + integrity sha1-zmJ3+FODX3GIKe+0fbIPPk2cRzk= + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rxjs@^6.6.7: + version "6.6.7" + resolved "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1620786704383&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk= + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +scryptsy@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/scryptsy/download/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" + integrity sha1-jR6NDAJbWP3SW2+poNyQXuj6p5A= + +sha.js@^2.4.0: + version "2.4.11" + resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +source-map-support@^0.5.17: + version "0.5.19" + resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.nlark.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +ts-node@^9.1.1: + version "9.1.1" + resolved "https://registry.nlark.com/ts-node/download/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha1-UamkUKPpWUAb2l8ASnLVS5NtN20= + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1618847097275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= + +tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha1-rAr3FoBFjYpjeNDQ0FCrFAfTVZY= + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= + +type@^2.0.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/type/download/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha1-Ci54wud5B7JSq+XymMGwHGPw2z0= + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.2.4: + version "4.2.4" + resolved "https://registry.nlark.com/typescript/download/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha1-hhC1l0feAo/aiYqK7w4QPxVtCWE= + +utf-8-validate@^5.0.2: + version "5.0.5" + resolved "https://registry.nlark.com/utf-8-validate/download/utf-8-validate-5.0.5.tgz?cache=0&sync_timestamp=1620067993025&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futf-8-validate%2Fdownload%2Futf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1" + integrity sha1-3TLC6CxyAC3J8C62e6Z2H0NFbKE= + dependencies: + node-gyp-build "^4.2.0" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +websocket@^1.0.34: + version "1.0.34" + resolved "https://registry.npm.taobao.org/websocket/download/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha1-K9wmAsCL8sgiU7cwZVwO99yrMRE= + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +xxhashjs@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/xxhashjs/download/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" + integrity sha1-imJRVnYhocRqWuIE2gJJx/jKqdg= + dependencies: + cuint "^0.2.2" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.nlark.com/y18n/download/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU= + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.npm.taobao.org/yaeti/download/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + +yargs-parser@^20.2.2: + version "20.2.7" + resolved "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo= + +yargs@^17.0.1: + version "17.0.1" + resolved "https://registry.nlark.com/yargs/download/yargs-17.0.1.tgz?cache=0&sync_timestamp=1620086644940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb" + integrity sha1-ahztTtXuCziAELqf1nr4O5Ni4Ls= + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= diff --git a/js/finalize/index.ts b/js/finalize/index.ts new file mode 100644 index 0000000000..fd09dcac29 --- /dev/null +++ b/js/finalize/index.ts @@ -0,0 +1,96 @@ +/** + * Test the finalization of parachain intergration + */ +import fs from "fs"; +import path from "path"; +import { Launch } from "@pint/e2e/src"; +import findUp from "find-up"; +import { ChildProcess, spawn } from "child_process"; + +// Message of launching complete +const LAUNCH_COMPLETE: string = "POLKADOT LAUNCH COMPLETE"; + +// PINT finalization regex +export const PINT_FINALIZE: RegExp = /\[Parachain\].*finalized #(\d)/; + +// Kill subprocesses +function killAll(ps: ChildProcess, exitCode: number) { + try { + ps.send && !ps.killed && ps.send("exit"); + ps.kill("SIGINT"); + } catch (e) { + if (e.code !== "EPERM") { + process.stdout.write(e); + process.exit(2); + } + } + + process.exit(exitCode); +} + +/** + * Tail file and done when got expected message + */ +async function tail( + file: string, + match: (s: string) => boolean +): Promise { + const root = await findUp("Cargo.toml"); + + return new Promise(async (resolve) => { + const ps = fs.existsSync(path.resolve(String(root), "../bin/pint")) + ? spawn("tail", ["-f", file], { + cwd: path.resolve(String(root), ".."), + stdio: "pipe", + }) + : spawn("docker", ["exec", "launch", "tail", "-f", `${file}`], { + stdio: "pipe", + }); + + ps.stdout.on("data", (chunk: Buffer) => { + chunk && match(chunk.toString()) && resolve(null); + }); + + ps.stderr.on("data", (chunk: Buffer) => { + process.stderr.write(chunk); + process.exit(1); + }); + }); +} + +/** + * Entrypoint + */ +async function main() { + const ps = await Launch.launch("pipe"); + ps.stdout.on("data", async (chunk: Buffer) => { + process.stdout.write(chunk.toString()); + if (chunk.includes(LAUNCH_COMPLETE)) { + await tail("9988.log", (chunk: string): boolean => { + process.stdout.write(chunk); + const match = chunk.match(PINT_FINALIZE); + return ( + match && match.length == 2 && Number.parseInt(match[1]) > 0 + ); + }); + + console.log("FINALIZE SUCCEED!"); + process.exit(0); + } + }); + + // Kill all processes when exiting. + process.on("exit", () => { + console.log("-> exit polkadot-launch..."); + killAll(ps, process.exitCode); + }); + + // Log errors + ps.stderr.on("data", (chunk: Buffer) => + process.stderr.write(chunk.toString()) + ); +} + +(() => { + main(); +})(); diff --git a/js/finalize/package.json b/js/finalize/package.json new file mode 100644 index 0000000000..80e939cf59 --- /dev/null +++ b/js/finalize/package.json @@ -0,0 +1,23 @@ +{ + "name": "@pint/finalization", + "version": "1.0.0", + "description": "Test the finalization in parachain intergration", + "main": "index.js", + "license": "MIT", + "private": true, + "devDependencies": { + "@types/node": "^15.3.1", + "ts-node": "^10.0.0", + "tslint": "^6.1.3", + "typescript": "^4.2.4" + }, + "dependencies": { + "@pint/e2e": "^1.0.0", + "find-up": "^5.0.0" + }, + "scripts": { + "start": "ts-node index.ts", + "build": "tsc --strict", + "lint": "tsc --noEmit --strict && tslint --project ./tsconfig.json" + } +} diff --git a/js/finalize/tsconfig.json b/js/finalize/tsconfig.json new file mode 100644 index 0000000000..8db1eddfc2 --- /dev/null +++ b/js/finalize/tsconfig.json @@ -0,0 +1,19 @@ +{ + "indent": [true, "spaces", 2], + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "baseUrl": ".", + "declaration": true, + "esModuleInterop": true, + "outDir": "lib", + "module": "commonjs", + "moduleResolution": "node", + "noImplicitAny": true, + "resolveJsonModule": true, + "sourceMap": true, + "skipLibCheck": true, + "target": "es6" + }, + "include": ["index.ts", "src/**/*"], + "exclude": ["node_modules"] +} diff --git a/js/package.json b/js/package.json new file mode 100644 index 0000000000..dfffe3953f --- /dev/null +++ b/js/package.json @@ -0,0 +1,4 @@ +{ + "private": true, + "workspaces": ["e2e", "pint-types-bundle", "finalize"] +} diff --git a/js/pint-types-bundle/.gitignore b/js/pint-types-bundle/.gitignore new file mode 100644 index 0000000000..204d3b2fac --- /dev/null +++ b/js/pint-types-bundle/.gitignore @@ -0,0 +1,3 @@ +# ignore files generated by typescript +dist/ +node_modules/ diff --git a/js/pint-types-bundle/LICENSE b/js/pint-types-bundle/LICENSE new file mode 100644 index 0000000000..0a041280bd --- /dev/null +++ b/js/pint-types-bundle/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/js/pint-types-bundle/README.md b/js/pint-types-bundle/README.md new file mode 100644 index 0000000000..7ee820bda9 --- /dev/null +++ b/js/pint-types-bundle/README.md @@ -0,0 +1,12 @@ +# PINT Types + +Substrate types used in PINT parachain. + + +## Usage + +Import the types in your JS or TS app. + +```ts +import definitions from "@pint/types"; +``` \ No newline at end of file diff --git a/js/pint-types-bundle/chainlink.json b/js/pint-types-bundle/chainlink.json new file mode 100644 index 0000000000..6767c542cf --- /dev/null +++ b/js/pint-types-bundle/chainlink.json @@ -0,0 +1,67 @@ +{ + "Address": "MultiAddress", + "LookupSource": "MultiAddress", + "FeedId": "u32", + "RoundId": "u32", + "Value": "u128", + "FeedConfig": { + "owner": "AccountId", + "pending_owner": "Option", + "submission_value_bounds": "(Value, Value)", + "submission_count_bounds": "(u32, u32)", + "payment": "Balance", + "timeout": "BlockNumber", + "decimals": "u8", + "description": "Vec", + "restart_delay": "RoundId", + "reporting_round": "RoundId", + "latest_round": "RoundId", + "first_valid_round": "Option", + "oracle_count": "u32", + "pruning_window": "RoundId", + "next_round_to_prune": "RoundId", + "debt": "Balance", + "max_debt": "Option" + }, + "FeedConfigOf": "FeedConfig", + "Round": { + "started_at": "BlockNumber", + "answer": "Option", + "updated_at": "Option", + "answered_in_round": "Option" + }, + "RoundOf": "Round", + "RoundDetails": { + "submissions": "Vec", + "submission_count_bounds": "(u32, u32)", + "payment": "Balance", + "timeout": "BlockNumber" + }, + "RoundDetailsOf": "RoundDetails", + "OracleMeta": { + "withdrawable": "Balance", + "admin": "AccountId", + "pending_admin": "Option" + }, + "OracleMetaOf": "OracleMeta", + "OracleStatus": { + "starting_round": "RoundId", + "ending_round": "Option", + "last_reported_round": "Option", + "last_started_round": "Option", + "latest_submission": "Option" + }, + "OracleStatusOf": "OracleStatus", + "Requester": { + "delay": "RoundId", + "last_started_round": "Option" + }, + "RoundData": { + "started_at": "BlockNumber", + "answer": "Value", + "updated_at": "BlockNumber", + "answered_in_round": "RoundId" + }, + "RoundDataOf": "RoundData", + "SubmissionBounds": "(u32, u32)" +} diff --git a/js/pint-types-bundle/index.ts b/js/pint-types-bundle/index.ts new file mode 100644 index 0000000000..53c2373db4 --- /dev/null +++ b/js/pint-types-bundle/index.ts @@ -0,0 +1,161 @@ +import { + OverrideBundleDefinition, + OverrideBundleType, +} from "@polkadot/types/types"; + +export const definitions = { + types: [ + { + // on all versions + minmax: [0, undefined], + types: { + Address: "MultiAddress", + LookupSource: "MultiAddress", + LookupSourceFor: "LookupSource", + Action: "Call", + AccountIdFor: "AccountId", + AccountBalance: { + available: "Balance", + reserved: "Balance", + }, + Amount: "i128", + AssetAvailability: { + _enum: { + Liquid: "MultiLocation", + Saft: null, + }, + }, + AssetConfig: { + pallet_index: "u8", + weights: "AssetsWeights", + }, + AssetId: "u32", + AssetsWeights: { + mint: "Weight", + burn: "Weight", + transfer: "Weight", + force_transfer: "Weight", + freeze: "Weight", + thaw: "Weight", + freeze_asset: "Weight", + thaw_asset: "Weight", + approve_transfer: "Weight", + cancel_approval: "Weight", + transfer_approved: "Weight", + }, + AssetMetadata: { + name: "BoundedString", + symbol: "BoundedString", + decimals: "u8", + }, + AssetWithdrawal: { + asset: "AssetId", + reserved: "Balance", + units: "Balance", + withdrawn: "bool", + }, + Balance: "u128", + BalanceFor: "Balance", + BoundedString: "BoundedVec", + CommitteeMember: { + account_id: "AccountId", + member_type: "MemberType", + }, + CurrencyId: "AssetId", + CurrencyIdOf: "CurrencyId", + FeeRate: { + numerator: "u32", + denominator: "u32", + }, + FeedId: "u64", + FeedIdFor: "FeedId", + HashFor: "Hash", + IndexAssetData: { + units: "Balance", + availability: "AssetAvailability", + }, + MemberType: { + _enum: { + Council: null, + Constituent: null, + }, + }, + MemberVote: { + member: "CommitteeMember", + vote: "Vote", + }, + OrmlAccountData: { + free: "Balance", + frozen: "Balance", + reserved: "Balance", + }, + PendingRedemption: { + end_block: "BlockNumber", + assets: "Vec", + }, + ProposalNonce: "u32", + ProxyType: { + _enum: ["Any", "NonTransfer", "Governance", "Staking"], + }, + ProxyState: { + added: "Vec", + }, + ProxyWeights: { + add_proxy: "Weight", + remove_proxy: "Weight", + }, + RedemptionState: { + _enum: { + Initiated: null, + Unbonding: null, + Transferred: null, + }, + }, + SAFTId: "u32", + SAFTRecord: { + nav: "Balance", + units: "Balance", + }, + StakingLedger: { + controller: "LookupSourceFor", + active: "Balance", + total: "Balance", + unlocking: "Vec", + }, + StakingLedgerFor: "StakingLedger", + StakingWeights: { + bond: "Weight", + bond_extra: "Weight", + unbond: "Weight", + withdraw_unbonded: "Weight", + }, + StatemintConfig: { + parachain_id: "u32", + enabled: "bool", + pint_asset_id: "AssetId", + }, + UnlockChunk: { + value: "Balance", + end: "BlockNumber", + }, + Vote: { + _enum: { + Aye: null, + Nay: null, + Abstain: null, + }, + }, + VoteAggregate: { + votes: "Vec", + end: "BlockNumber", + }, + }, + }, + ], +} as OverrideBundleDefinition; + +export const typesBundle = { + spec: { + pint: definitions, + }, +} as OverrideBundleType; diff --git a/js/pint-types-bundle/package.json b/js/pint-types-bundle/package.json new file mode 100644 index 0000000000..fb48172737 --- /dev/null +++ b/js/pint-types-bundle/package.json @@ -0,0 +1,30 @@ +{ + "name": "@pint/types", + "version": "1.0.0", + "description": "Bundled types to instantiate the Polkadot JS api with PINT", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "prepublish": "tsc", + "scripts": { + "build": "tsc" + }, + "keywords": [ + "pint", + "types", + "polkadot", + "api" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/ChainSafe/PINT.git" + }, + "author": "ChainSafe Systems", + "license": "GPL-3.0-only", + "dependencies": { + "@polkadot/keyring": "^6.9.1", + "@polkadot/types": "^4.15.1" + }, + "devDependencies": { + "typescript": "^4.2.4" + } +} diff --git a/js/pint-types-bundle/tsconfig.json b/js/pint-types-bundle/tsconfig.json new file mode 100644 index 0000000000..f5f53caf88 --- /dev/null +++ b/js/pint-types-bundle/tsconfig.json @@ -0,0 +1,14 @@ +{ + "indent": [true, "spaces", 2], + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "lib": ["es2017", "es7", "es6", "dom"], + "declaration": true, + "outDir": "dist", + "strict": true, + "esModuleInterop": true, + "resolveJsonModule": true + }, + "exclude": ["node_modules", "dist"] +} diff --git a/js/pint-types-bundle/yarn.lock b/js/pint-types-bundle/yarn.lock new file mode 100644 index 0000000000..9a58aaea65 --- /dev/null +++ b/js/pint-types-bundle/yarn.lock @@ -0,0 +1,434 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/runtime@^7.13.17", "@babel/runtime@^7.13.9": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== + dependencies: + regenerator-runtime "^0.13.4" + +"@polkadot/keyring@^6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-6.3.1.tgz#434847cc4fb134116691c07e05750e8388cbb2b7" + integrity sha512-uVWhdd4TVtLc4R2OtiKHJE5jgJZnuEognbgjl5RT2uKrCJYTsYnq0IeRTvMmtdPJAJvGeD3JTsX2ekgt3tJpuw== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/util" "6.3.1" + "@polkadot/util-crypto" "6.3.1" + +"@polkadot/metadata@4.7.2": + version "4.7.2" + resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-4.7.2.tgz#91076a1c1158494574a1965ec1fe124fb4d1b848" + integrity sha512-+YWeD828cpIpD31epoSZfK5kmtJsBcgTTyYsQ4bBO4NBJceLTipmHgyLXs7fXjU4cC6uvSuBnAV0KGJW7L9nDQ== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/types" "4.7.2" + "@polkadot/types-known" "4.7.2" + "@polkadot/util" "^6.3.1" + "@polkadot/util-crypto" "^6.3.1" + bn.js "^4.11.9" + +"@polkadot/networks@6.3.1", "@polkadot/networks@^6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-6.3.1.tgz#c5063681ea73f8b579f418d57d0eba2d4bb72292" + integrity sha512-oANup0CLGt75CPbE3gz2HUWUlqQKucImdb1TtStLXMUH+Aj8ZOnQFA2lwixzaRdx+ymPfmEL7GkF36i96OqQVw== + dependencies: + "@babel/runtime" "^7.13.17" + +"@polkadot/types-known@4.7.2": + version "4.7.2" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-4.7.2.tgz#d6b55c75a9461a09490167a679b6ed783eab6350" + integrity sha512-vlIMBtBdVYHyjWqonQ39PCdZJ9WeTsA5h5zr2mEpkCSoopby5pZ6eOR8CPqjc1uYbdDHT72Dbtx8Wr9L7z8HXg== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/networks" "^6.3.1" + "@polkadot/types" "4.7.2" + "@polkadot/util" "^6.3.1" + bn.js "^4.11.9" + +"@polkadot/types@4.7.2", "@polkadot/types@^4.7.2": + version "4.7.2" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-4.7.2.tgz#6b3e8c16999951e040459d5e338e259543bfec16" + integrity sha512-8qj/f6YAv5XCDLej60uWlX+cjuz2qt6AJKemi+lozA4vYZ9XTXIODYLv/XfjimbVABzeLdIAwWX1OQO9+F0Gng== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/metadata" "4.7.2" + "@polkadot/util" "^6.3.1" + "@polkadot/util-crypto" "^6.3.1" + "@polkadot/x-rxjs" "^6.3.1" + "@types/bn.js" "^4.11.6" + bn.js "^4.11.9" + +"@polkadot/util-crypto@6.3.1", "@polkadot/util-crypto@^6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-6.3.1.tgz#5328da77bdee5064bc41f9dec0a76cc634690b88" + integrity sha512-fwH4t6EN2XACwJB2Z5xUyNo4mQ1RXJj0MgVaaLua8PbG0qq9tt4eaEbdVzrm7A6igIfsTntDoZISTfVjBcRtkQ== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/networks" "6.3.1" + "@polkadot/util" "6.3.1" + "@polkadot/wasm-crypto" "^4.0.2" + "@polkadot/x-randomvalues" "6.3.1" + base-x "^3.0.8" + base64-js "^1.5.1" + blakejs "^1.1.0" + bn.js "^4.11.9" + create-hash "^1.2.0" + elliptic "^6.5.4" + hash.js "^1.1.7" + js-sha3 "^0.8.0" + scryptsy "^2.1.0" + tweetnacl "^1.0.3" + xxhashjs "^0.2.2" + +"@polkadot/util@6.3.1", "@polkadot/util@^6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-6.3.1.tgz#410ee362ddb37f9c67af8f5897d977a7fd950ebf" + integrity sha512-M9pGaXSB67DZPckdNQU29wq5W7BUOh6qeu5LonzxpUek+riJfbiF9JOgZQ2Q/aEFYbd1hqLbOMsLRZLhSmlbYw== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/x-textdecoder" "6.3.1" + "@polkadot/x-textencoder" "6.3.1" + "@types/bn.js" "^4.11.6" + bn.js "^4.11.9" + camelcase "^5.3.1" + ip-regex "^4.3.0" + +"@polkadot/wasm-crypto-asmjs@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-4.0.2.tgz#f42c353a64e1243841daf90e4bd54eff01a4e3cf" + integrity sha512-hlebqtGvfjg2ZNm4scwBGVHwOwfUhy2yw5RBHmPwkccUif3sIy4SAzstpcVBIVMdAEvo746bPWEInA8zJRcgJA== + dependencies: + "@babel/runtime" "^7.13.9" + +"@polkadot/wasm-crypto-wasm@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-4.0.2.tgz#89f9e0a1e4d076784d4a42bea37fc8b06bdd8bb6" + integrity sha512-de/AfNPZ0uDKFWzOZ1rJCtaUbakGN29ks6IRYu6HZTRg7+RtqvE1rIkxabBvYgQVHIesmNwvEA9DlIkS6hYRFQ== + dependencies: + "@babel/runtime" "^7.13.9" + +"@polkadot/wasm-crypto@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-4.0.2.tgz#9649057adee8383cc86433d107ba526b718c5a3b" + integrity sha512-2h9FuQFkBc+B3TwSapt6LtyPvgtd0Hq9QsHW8g8FrmKBFRiiFKYRpfJKHCk0aCZzuRf9h95bQl/X6IXAIWF2ng== + dependencies: + "@babel/runtime" "^7.13.9" + "@polkadot/wasm-crypto-asmjs" "^4.0.2" + "@polkadot/wasm-crypto-wasm" "^4.0.2" + +"@polkadot/x-global@6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-6.3.1.tgz#cdb4883fa20e23411bdd5f50a5d5c92814a3106f" + integrity sha512-eFooGQdxJpiOsm3AKTSMInaecBKaQ/tqOUJNm/CpdJalCqTDMp/qzgj64Uflk9eUqGgk7jB7Q5FaQdyWsC0Mtg== + dependencies: + "@babel/runtime" "^7.13.17" + "@types/node-fetch" "^2.5.10" + node-fetch "^2.6.1" + +"@polkadot/x-randomvalues@6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-6.3.1.tgz#e2b91223277d7d7978c39e9d280fbc6526217d46" + integrity sha512-SZ5MUYm1fd1fgGFexMWbbG8zZgCS7b9QNKaIcnv1Dwlfp2meDoDlgoedn+1pCJ6VEa1adswqLHX4WbYA4D9ynA== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/x-global" "6.3.1" + +"@polkadot/x-rxjs@^6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-rxjs/-/x-rxjs-6.3.1.tgz#5627f9601df6db22a65512a3eab0af4a22a58830" + integrity sha512-Z9mbvpixr0fopQh049tFlR8r/RItOyYRL4P7YqwnfeROqxU4R8UTmmB8As9y/zy0O5Jlkjzy9MdyQgwzhGQOcQ== + dependencies: + "@babel/runtime" "^7.13.17" + rxjs "^6.6.7" + +"@polkadot/x-textdecoder@6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-6.3.1.tgz#ab0eec87d5df2d119480fa7a3657d8d72f583af8" + integrity sha512-lLb11yaAmyx2STw7ZmdgPtV7LI26U/5h1K527cM7QnxgTQgYggtAt4f9aLHiWsmOCvnT0U0PWsWSUbAJrLHLBA== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/x-global" "6.3.1" + +"@polkadot/x-textencoder@6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-6.3.1.tgz#2277770650f5637698d7d8cd7ac0cfd5ca0dace2" + integrity sha512-7V5OuT43JPTm7rrwdBEMzXAF5nLg+t6q24ntZHNcFUH1pdkP/+2f3vGM3e9BK5k4wkQLoepod5gyY6Qbw9bsYQ== + dependencies: + "@babel/runtime" "^7.13.17" + "@polkadot/x-global" "6.3.1" + +"@types/bn.js@^4.11.6": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + +"@types/node-fetch@^2.5.10": + version "2.5.10" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" + integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.1.tgz#ef34dea0881028d11398be5bf4e856743e3dc35a" + integrity sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +base-x@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" + integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +blakejs@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" + integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +cipher-base@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +cuint@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" + integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mime-db@1.47.0: + version "1.47.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== + +mime-types@^2.1.12: + version "2.1.30" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== + dependencies: + mime-db "1.47.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rxjs@^6.6.7: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +scryptsy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" + integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== + +sha.js@^2.4.0: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + +typescript@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +xxhashjs@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" + integrity sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw== + dependencies: + cuint "^0.2.2" diff --git a/js/polkadot-launch b/js/polkadot-launch new file mode 160000 index 0000000000..f161a73a65 --- /dev/null +++ b/js/polkadot-launch @@ -0,0 +1 @@ +Subproject commit f161a73a659678bafa758bf7cee077961f410b6a diff --git a/js/yarn.lock b/js/yarn.lock new file mode 100644 index 0000000000..a5d872fcd9 --- /dev/null +++ b/js/yarn.lock @@ -0,0 +1,1025 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts= + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/helper-validator-identifier@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280305128&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" + integrity sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg= + +"@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk= + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/runtime@^7.13.9", "@babel/runtime@^7.14.5": + version "7.14.6" + resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.6.tgz?cache=0&sync_timestamp=1623708023742&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d" + integrity sha1-U1IDvAiS78fexgvcJ7Ls9uQJBi0= + dependencies: + regenerator-runtime "^0.13.4" + +"@open-web3/orml-type-definitions@0.9.3": + version "0.9.3" + resolved "https://registry.nlark.com/@open-web3/orml-type-definitions/download/@open-web3/orml-type-definitions-0.9.3.tgz#6bf2ff02c108fa0b4416798f27449f14b16f420f" + integrity sha1-a/L/AsEI+gtEFnmPJ0SfFLFvQg8= + +"@open-web3/orml-types@^0.9.3": + version "0.9.3" + resolved "https://registry.nlark.com/@open-web3/orml-types/download/@open-web3/orml-types-0.9.3.tgz#6da0e20cb44e86d7a51202aa8ab82d1742a86a44" + integrity sha1-baDiDLROhtelEgKqirgtF0KoakQ= + dependencies: + "@open-web3/orml-type-definitions" "0.9.3" + +"@polkadot/api-derive@4.15.1": + version "4.15.1" + resolved "https://registry.nlark.com/@polkadot/api-derive/download/@polkadot/api-derive-4.15.1.tgz#841ae233142f4b509d4db1fbcf76db15a77bed0f" + integrity sha1-hBriMxQvS1CdTbH7z3bbFad77Q8= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/api" "4.15.1" + "@polkadot/rpc-core" "4.15.1" + "@polkadot/types" "4.15.1" + "@polkadot/util" "^6.9.1" + "@polkadot/util-crypto" "^6.9.1" + "@polkadot/x-rxjs" "^6.9.1" + +"@polkadot/api@4.15.1", "@polkadot/api@^4.15.1": + version "4.15.1" + resolved "https://registry.nlark.com/@polkadot/api/download/@polkadot/api-4.15.1.tgz#c9a041b855639a98d6df0706c7546e076a8d5727" + integrity sha1-yaBBuFVjmpjW3wcGx1RuB2qNVyc= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/api-derive" "4.15.1" + "@polkadot/keyring" "^6.9.1" + "@polkadot/metadata" "4.15.1" + "@polkadot/rpc-core" "4.15.1" + "@polkadot/rpc-provider" "4.15.1" + "@polkadot/types" "4.15.1" + "@polkadot/types-known" "4.15.1" + "@polkadot/util" "^6.9.1" + "@polkadot/util-crypto" "^6.9.1" + "@polkadot/x-rxjs" "^6.9.1" + eventemitter3 "^4.0.7" + +"@polkadot/keyring@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/keyring/download/@polkadot/keyring-6.9.1.tgz#a92dd2d4ef8ccb999bc7d443ef4a13e6ef9b2ce2" + integrity sha1-qS3S1O+My5mbx9RD70oT5u+bLOI= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/util" "6.9.1" + "@polkadot/util-crypto" "6.9.1" + +"@polkadot/metadata@4.15.1": + version "4.15.1" + resolved "https://registry.nlark.com/@polkadot/metadata/download/@polkadot/metadata-4.15.1.tgz#3cd2392b956577edf96090793fd8b9b392a67502" + integrity sha1-PNI5K5Vld+35YJB5P9i5s5KmdQI= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/types" "4.15.1" + "@polkadot/types-known" "4.15.1" + "@polkadot/util" "^6.9.1" + "@polkadot/util-crypto" "^6.9.1" + +"@polkadot/networks@6.9.1", "@polkadot/networks@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/networks/download/@polkadot/networks-6.9.1.tgz#8d66338569c9891a00cc6737e18c1dbffd7153f5" + integrity sha1-jWYzhWnJiRoAzGc34Ywdv/1xU/U= + dependencies: + "@babel/runtime" "^7.14.5" + +"@polkadot/rpc-core@4.15.1": + version "4.15.1" + resolved "https://registry.nlark.com/@polkadot/rpc-core/download/@polkadot/rpc-core-4.15.1.tgz#2e14edcdf8cd4e6f9658ecbd90540a9d39c3e929" + integrity sha1-LhTtzfjNTm+WWOy9kFQKnTnD6Sk= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/metadata" "4.15.1" + "@polkadot/rpc-provider" "4.15.1" + "@polkadot/types" "4.15.1" + "@polkadot/util" "^6.9.1" + "@polkadot/x-rxjs" "^6.9.1" + +"@polkadot/rpc-provider@4.15.1": + version "4.15.1" + resolved "https://registry.nlark.com/@polkadot/rpc-provider/download/@polkadot/rpc-provider-4.15.1.tgz#18a61b5353388da73f722f30905f23927b2c5e31" + integrity sha1-GKYbU1M4jac/ci8wkF8jknssXjE= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/types" "4.15.1" + "@polkadot/util" "^6.9.1" + "@polkadot/util-crypto" "^6.9.1" + "@polkadot/x-fetch" "^6.9.1" + "@polkadot/x-global" "^6.9.1" + "@polkadot/x-ws" "^6.9.1" + eventemitter3 "^4.0.7" + +"@polkadot/types-known@4.15.1": + version "4.15.1" + resolved "https://registry.nlark.com/@polkadot/types-known/download/@polkadot/types-known-4.15.1.tgz#d60cfb1e4ed315f2c82646795243a34df6b21fd3" + integrity sha1-1gz7Hk7TFfLIJkZ5UkOjTfayH9M= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/networks" "^6.9.1" + "@polkadot/types" "4.15.1" + "@polkadot/util" "^6.9.1" + +"@polkadot/types@4.15.1", "@polkadot/types@^4.15.1": + version "4.15.1" + resolved "https://registry.nlark.com/@polkadot/types/download/@polkadot/types-4.15.1.tgz#03f32fd4ce81d69c43368d3e476c0421cedb8607" + integrity sha1-A/Mv1M6B1pxDNo0+R2wEIc7bhgc= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/metadata" "4.15.1" + "@polkadot/util" "^6.9.1" + "@polkadot/util-crypto" "^6.9.1" + "@polkadot/x-rxjs" "^6.9.1" + +"@polkadot/util-crypto@6.9.1", "@polkadot/util-crypto@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/util-crypto/download/@polkadot/util-crypto-6.9.1.tgz#175a2bbc040785599730baee35f0235226b8343e" + integrity sha1-F1orvAQHhVmXMLruNfAjUia4ND4= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/networks" "6.9.1" + "@polkadot/util" "6.9.1" + "@polkadot/wasm-crypto" "^4.0.2" + "@polkadot/x-randomvalues" "6.9.1" + base-x "^3.0.8" + base64-js "^1.5.1" + blakejs "^1.1.0" + bn.js "^4.11.9" + create-hash "^1.2.0" + elliptic "^6.5.4" + hash.js "^1.1.7" + js-sha3 "^0.8.0" + scryptsy "^2.1.0" + tweetnacl "^1.0.3" + xxhashjs "^0.2.2" + +"@polkadot/util@6.9.1", "@polkadot/util@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/util/download/@polkadot/util-6.9.1.tgz#009a9e0771523398517dbf3a978285b071f6081c" + integrity sha1-AJqeB3FSM5hRfb86l4KFsHH2CBw= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/x-textdecoder" "6.9.1" + "@polkadot/x-textencoder" "6.9.1" + "@types/bn.js" "^4.11.6" + bn.js "^4.11.9" + camelcase "^5.3.1" + ip-regex "^4.3.0" + +"@polkadot/wasm-crypto-asmjs@^4.0.2": + version "4.0.2" + resolved "https://registry.nlark.com/@polkadot/wasm-crypto-asmjs/download/@polkadot/wasm-crypto-asmjs-4.0.2.tgz#f42c353a64e1243841daf90e4bd54eff01a4e3cf" + integrity sha1-9Cw1OmThJDhB2vkOS9VO/wGk488= + dependencies: + "@babel/runtime" "^7.13.9" + +"@polkadot/wasm-crypto-wasm@^4.0.2": + version "4.0.2" + resolved "https://registry.nlark.com/@polkadot/wasm-crypto-wasm/download/@polkadot/wasm-crypto-wasm-4.0.2.tgz#89f9e0a1e4d076784d4a42bea37fc8b06bdd8bb6" + integrity sha1-ifngoeTQdnhNSkK+o3/IsGvdi7Y= + dependencies: + "@babel/runtime" "^7.13.9" + +"@polkadot/wasm-crypto@^4.0.2": + version "4.0.2" + resolved "https://registry.nlark.com/@polkadot/wasm-crypto/download/@polkadot/wasm-crypto-4.0.2.tgz#9649057adee8383cc86433d107ba526b718c5a3b" + integrity sha1-lkkFet7oODzIZDPRB7pSa3GMWjs= + dependencies: + "@babel/runtime" "^7.13.9" + "@polkadot/wasm-crypto-asmjs" "^4.0.2" + "@polkadot/wasm-crypto-wasm" "^4.0.2" + +"@polkadot/x-fetch@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/x-fetch/download/@polkadot/x-fetch-6.9.1.tgz#89ff2741b35f2bb9fdc30a22cdb0debf72248597" + integrity sha1-if8nQbNfK7n9wwoizbDev3IkhZc= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/x-global" "6.9.1" + "@types/node-fetch" "^2.5.10" + node-fetch "^2.6.1" + +"@polkadot/x-global@6.9.1", "@polkadot/x-global@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/x-global/download/@polkadot/x-global-6.9.1.tgz#c3d7482e2ac62c306379592550d476fc60ce7dfe" + integrity sha1-w9dILirGLDBjeVklUNR2/GDOff4= + dependencies: + "@babel/runtime" "^7.14.5" + "@types/node-fetch" "^2.5.10" + node-fetch "^2.6.1" + +"@polkadot/x-randomvalues@6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/x-randomvalues/download/@polkadot/x-randomvalues-6.9.1.tgz#e289e79849e332777fb96e8544b1193a4e793e59" + integrity sha1-4onnmEnjMnd/uW6FRLEZOk55Plk= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/x-global" "6.9.1" + +"@polkadot/x-rxjs@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/x-rxjs/download/@polkadot/x-rxjs-6.9.1.tgz#713a399568922aff10fe47c3875dba44a139d6c6" + integrity sha1-cTo5lWiSKv8Q/kfDh126RKE51sY= + dependencies: + "@babel/runtime" "^7.14.5" + rxjs "^6.6.7" + +"@polkadot/x-textdecoder@6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/x-textdecoder/download/@polkadot/x-textdecoder-6.9.1.tgz#dab6e95b35c9386550c4907fd1efb195ab605ec9" + integrity sha1-2rbpWzXJOGVQxJB/0e+xlatgXsk= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/x-global" "6.9.1" + +"@polkadot/x-textencoder@6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/x-textencoder/download/@polkadot/x-textencoder-6.9.1.tgz#cf98a3f248ad9a4cdb2559f950ff6559d009b619" + integrity sha1-z5ij8kitmkzbJVn5UP9lWdAJthk= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/x-global" "6.9.1" + +"@polkadot/x-ws@^6.9.1": + version "6.9.1" + resolved "https://registry.nlark.com/@polkadot/x-ws/download/@polkadot/x-ws-6.9.1.tgz#ac4d0cf22c333359a426f4104581c9e394d7f6e5" + integrity sha1-rE0M8iwzM1mkJvQQRYHJ45TX9uU= + dependencies: + "@babel/runtime" "^7.14.5" + "@polkadot/x-global" "6.9.1" + "@types/websocket" "^1.0.2" + websocket "^1.0.34" + +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.nlark.com/@tsconfig/node10/download/@tsconfig/node10-1.0.8.tgz?cache=0&sync_timestamp=1623230113943&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode10%2Fdownload%2F%40tsconfig%2Fnode10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha1-weToDW+WT77LM1nEO9SLQPfK2tk= + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.nlark.com/@tsconfig/node12/download/@tsconfig/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha1-YsH23uLr2a6tgNw6+laBDljhoEw= + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.nlark.com/@tsconfig/node14/download/@tsconfig/node14-1.0.1.tgz?cache=0&sync_timestamp=1623230113946&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode14%2Fdownload%2F%40tsconfig%2Fnode14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha1-lfLRZ/+5uNIGiwsjUwL6/U33EfI= + +"@tsconfig/node16@^1.0.1": + version "1.0.1" + resolved "https://registry.nlark.com/@tsconfig/node16/download/@tsconfig/node16-1.0.1.tgz#a6ca6a9a0ff366af433f42f5f0e124794ff6b8f1" + integrity sha1-pspqmg/zZq9DP0L18OEkeU/2uPE= + +"@types/bn.js@^4.11.6": + version "4.11.6" + resolved "https://registry.nlark.com/@types/bn.js/download/@types/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha1-wwbHDZNYquozzU7aCSp0K5UFlnw= + dependencies: + "@types/node" "*" + +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.nlark.com/@types/bn.js/download/@types/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha1-MsXScVA6EmU8Ys9NK0Xm6rjOvGg= + dependencies: + "@types/node" "*" + +"@types/node-fetch@^2.5.10": + version "2.5.10" + resolved "https://registry.nlark.com/@types/node-fetch/download/@types/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" + integrity sha1-m01KBCVWL5/OpwsSyz/N2UbKgTI= + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*", "@types/node@^15.3.1": + version "15.12.4" + resolved "https://registry.nlark.com/@types/node/download/@types/node-15.12.4.tgz?cache=0&sync_timestamp=1624437151657&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26" + integrity sha1-4c+BfXCh4RjoGSLE/2aDzp1CLiY= + +"@types/websocket@^1.0.2": + version "1.0.2" + resolved "https://registry.nlark.com/@types/websocket/download/@types/websocket-1.0.2.tgz?cache=0&sync_timestamp=1621244924715&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebsocket%2Fdownload%2F%40types%2Fwebsocket-1.0.2.tgz#d2855c6a312b7da73ed16ba6781815bf30c6187a" + integrity sha1-0oVcajErfac+0WumeBgVvzDGGHo= + dependencies: + "@types/node" "*" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1605576950209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farg%2Fdownload%2Farg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&sync_timestamp=1617714233441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= + +base-x@^3.0.8: + version "3.0.8" + resolved "https://registry.npm.taobao.org/base-x/download/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" + integrity sha1-HhEGwlN/AWLotSR0pVfrsJAAAY0= + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= + +blakejs@^1.1.0: + version "1.1.1" + resolved "https://registry.nlark.com/blakejs/download/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" + integrity sha1-vzEwU5eLLNTERKSHlXEL4Fx4VwI= + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= + +bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= + +bufferutil@^4.0.1: + version "4.0.3" + resolved "https://registry.npm.taobao.org/bufferutil/download/bufferutil-4.0.3.tgz?cache=0&sync_timestamp=1609618802475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbufferutil%2Fdownload%2Fbufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" + integrity sha1-ZnJLdWvtI818KMTTBteZT5lDzGs= + dependencies: + node-gyp-build "^4.2.0" + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +chalk@^2.0.0, chalk@^2.3.0: + version "2.4.2" + resolved "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +cipher-base@^1.0.1: + version "1.0.4" + resolved "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@^2.12.1: + version "2.20.3" + resolved "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1622954303803&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/create-require/download/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= + +cuint@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/cuint/download/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" + integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1614330710870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= + +elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.nlark.com/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.nlark.com/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517819668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= + dependencies: + type "^2.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/find-up/download/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw= + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.nlark.com/form-data/download/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha1-69U3kbeDVqma+aMA1CgsTV65dV8= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +glob@^7.1.1: + version "7.1.7" + resolved "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&sync_timestamp=1620337382269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha1-Oxk+kjPwHULQs/eClLvutBj5SpA= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +ip-regex@^4.3.0: + version "4.3.0" + resolved "https://registry.nlark.com/ip-regex/download/ip-regex-4.3.0.tgz?cache=0&sync_timestamp=1618846943469&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fip-regex%2Fdownload%2Fip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha1-aHJ1qw9X+naXj/j03dyKI9WZDbU= + +is-core-module@^2.2.0: + version "2.4.0" + resolved "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME= + dependencies: + has "^1.0.3" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.npm.taobao.org/js-sha3/download/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha1-ubel2nOvrX3t0PjEY5VMveaBiEA= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435151523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha1-VTIeswn+u8WcSAHZMackUqaB0oY= + dependencies: + p-locate "^5.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.nlark.com/make-error/download/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mime-db@1.48.0: + version "1.48.0" + resolved "https://registry.nlark.com/mime-db/download/mime-db-1.48.0.tgz?cache=0&sync_timestamp=1622433556078&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" + integrity sha1-41sxBF3X6to6qtU37YijOvvvLR0= + +mime-types@^2.1.12: + version "2.1.31" + resolved "https://registry.nlark.com/mime-types/download/mime-types-2.1.31.tgz?cache=0&sync_timestamp=1622569304088&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" + integrity sha1-oA12t0MXxh+cLbIhi46fjpxcnms= + dependencies: + mime-db "1.48.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +mkdirp@^0.5.3: + version "0.5.5" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.nlark.com/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI= + +node-gyp-build@^4.2.0: + version "4.2.3" + resolved "https://registry.npm.taobao.org/node-gyp-build/download/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" + integrity sha1-zmJ3+FODX3GIKe+0fbIPPk2cRzk= + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.nlark.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs= + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ= + dependencies: + p-limit "^3.0.2" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= + +resolve@^1.3.2: + version "1.20.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU= + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rxjs@^6.6.7: + version "6.6.7" + resolved "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1621619391474&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk= + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +scryptsy@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/scryptsy/download/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" + integrity sha1-jR6NDAJbWP3SW2+poNyQXuj6p5A= + +semver@^5.3.0: + version "5.7.1" + resolved "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +sha.js@^2.4.0: + version "2.4.11" + resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +source-map-support@^0.5.17: + version "0.5.19" + resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.nlark.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +ts-node@^10.0.0: + version "10.0.0" + resolved "https://registry.nlark.com/ts-node/download/ts-node-10.0.0.tgz?cache=0&sync_timestamp=1621798304685&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fts-node%2Fdownload%2Fts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be" + integrity sha1-BfELmnFrC2JBKa1E8OoF2shLo74= + dependencies: + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= + +tslint@^6.1.3: + version "6.1.3" + resolved "https://registry.nlark.com/tslint/download/tslint-6.1.3.tgz?cache=0&sync_timestamp=1618847624538&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslint%2Fdownload%2Ftslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha1-XCOy7MwySH1VI706Rw6aoxeJ2QQ= + dependencies: + "@babel/code-frame" "^7.0.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^4.0.1" + glob "^7.1.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + mkdirp "^0.5.3" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.13.0" + tsutils "^2.29.0" + +tsutils@^2.29.0: + version "2.29.0" + resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + integrity sha1-MrSIUBRnrL7dS4VJhnOggSrKC5k= + dependencies: + tslib "^1.8.1" + +tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha1-rAr3FoBFjYpjeNDQ0FCrFAfTVZY= + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= + +type@^2.0.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/type/download/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha1-Ci54wud5B7JSq+XymMGwHGPw2z0= + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.2.4: + version "4.3.4" + resolved "https://registry.nlark.com/typescript/download/typescript-4.3.4.tgz?cache=0&sync_timestamp=1624346269304&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" + integrity sha1-P4W5hpRbzzEHHezdls+L+mX53Lw= + +utf-8-validate@^5.0.2: + version "5.0.5" + resolved "https://registry.nlark.com/utf-8-validate/download/utf-8-validate-5.0.5.tgz?cache=0&sync_timestamp=1620067993025&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futf-8-validate%2Fdownload%2Futf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1" + integrity sha1-3TLC6CxyAC3J8C62e6Z2H0NFbKE= + dependencies: + node-gyp-build "^4.2.0" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +websocket@^1.0.34: + version "1.0.34" + resolved "https://registry.npm.taobao.org/websocket/download/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha1-K9wmAsCL8sgiU7cwZVwO99yrMRE= + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +wrappy@1: + version "1.0.2" + resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xxhashjs@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/xxhashjs/download/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" + integrity sha1-imJRVnYhocRqWuIE2gJJx/jKqdg= + dependencies: + cuint "^0.2.2" + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.npm.taobao.org/yaeti/download/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha1-ApTrPe4FAo0x7hpfosVWpqrxChs= diff --git a/node/Cargo.toml b/node/Cargo.toml new file mode 100644 index 0000000000..28b7e150c6 --- /dev/null +++ b/node/Cargo.toml @@ -0,0 +1,116 @@ +[package] +name = 'pint' +authors = ['ChainSafe Systems'] +description = 'A new Cumulus FRAME-based Substrate node, ready for hacking.' +license = 'Unlicense' +version = '3.0.0' +homepage = 'https://substrate.dev' +repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' +edition = '2018' +build = 'build.rs' + +[package.metadata.docs.rs] +targets = ['x86_64-unknown-linux-gnu'] + +[build-dependencies] +substrate-build-script-utils = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +[features] +default = [ ] +kusama = [ 'pint-runtime-kusama' ] +polkadot = [ 'pint-runtime-polkadot' ] +runtime-benchmarks = [ + 'pint-runtime-dev/runtime-benchmarks', + 'pint-runtime-kusama/runtime-benchmarks', + 'pint-runtime-polkadot/runtime-benchmarks', + 'polkadot-service/runtime-benchmarks' +] + +[dependencies] +derive_more = '0.15.0' +log = '0.4.14' +codec = { package = 'parity-scale-codec', version = '2.0.0' } +structopt = '0.3.8' +serde = { version = '1.0.119', features = ['derive'] } +hex-literal = '0.2.1' +futures = { version = "0.3.1", features = ["compat"] } + +# RPC related Dependencies +jsonrpc-core = '15.1.0' + +# Local Dependencies +pint-runtime-dev = { path = '../runtime/dev' } +pint-runtime-kusama = { path = '../runtime/kusama', optional = true } +pint-runtime-polkadot = { path = '../runtime/polkadot', optional = true } +pint-runtime-common = { path = '../runtime/common' } +primitives = { path = "../primitives/primitives" } +xcm-calls = { path = '../primitives/xcm-calls' } +pint-rpc = { path = '../rpc' } +pallet-asset-index-rpc = { path = '../pallets/asset-index/rpc' } + +# Substrate Dependencies +frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +frame-benchmarking-cli = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = 'polkadot-v0.9.9'} + +## Substrate Client Dependencies +sc-basic-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-chain-spec = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-cli = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-client-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sc-consensus-slots = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sc-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-executor = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-network = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-keystore = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-rpc = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-rpc-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-service = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', features = ['wasmtime'] } +sc-telemetry = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sc-tracing = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +## Substrate Primitive Dependencies +sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-blockchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-consensus = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-trie = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-keystore = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-storage = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +# Cumulus dependencies +cumulus-client-consensus-aura = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-client-consensus-common = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-client-collator = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-client-cli = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-client-network = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-client-service = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-primitives-parachain-inherent = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-client-consensus-relay-chain = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9' } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } + +# Polkadot dependencies +polkadot-primitives = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} +polkadot-service = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} +polkadot-cli = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} +polkadot-test-service = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9'} diff --git a/node/build.rs b/node/build.rs new file mode 100644 index 0000000000..adbb8ed9a3 --- /dev/null +++ b/node/build.rs @@ -0,0 +1,9 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed}; + +fn main() { + generate_cargo_keys(); + rerun_if_git_head_changed(); +} diff --git a/node/src/chain_spec/dev.rs b/node/src/chain_spec/dev.rs new file mode 100644 index 0000000000..f1cef8c579 --- /dev/null +++ b/node/src/chain_spec/dev.rs @@ -0,0 +1,167 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use super::{get_account_id_from_seed, get_collator_keys_from_seed, Extensions}; +use cumulus_primitives_core::ParaId; +use frame_support::PalletId; +use pint_runtime_common::traits::XcmRuntimeCallWeights; +use pint_runtime_dev::*; +use sc_service::ChainType; +use sp_core::sr25519; +use sp_runtime::traits::{AccountIdConversion, Zero}; +use xcm_calls::{ + proxy::{ProxyConfig, ProxyWeights}, + staking::{RewardDestination, StakingConfig, StakingWeights}, +}; + +/// Specialized `ChainSpec` for the normal parachain runtime. +pub type ChainSpec = sc_service::GenericChainSpec; + +pub fn pint_development_config(id: ParaId) -> ChainSpec { + ChainSpec::from_genesis( + // Name + "PINT Development", + // ID + "pint_dev", + ChainType::Local, + move || { + pint_testnet_genesis( + get_account_id_from_seed::("Alice"), + // initial collators. + vec![(get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice"))], + vec![ + PalletId(*b"Treasury").into_account(), + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + ], + id, + ) + }, + vec![], + None, + None, + None, + Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, + ) +} + +pub fn pint_local_config(id: ParaId) -> ChainSpec { + ChainSpec::from_genesis( + // Name + "Local Testnet", + // ID + "pint_dev_local_testnet", + ChainType::Local, + move || { + pint_testnet_genesis( + get_account_id_from_seed::("Alice"), + // initial collators. + vec![ + (get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice")), + (get_account_id_from_seed::("Bob"), get_collator_keys_from_seed("Bob")), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + ], + id, + ) + }, + vec![], + None, + None, + None, + Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, + ) +} + +fn pint_testnet_genesis( + root_key: AccountId, + initial_authorities: Vec<(AccountId, AuraId)>, + endowed_accounts: Vec, + council_members: Vec, + id: ParaId, +) -> GenesisConfig { + GenesisConfig { + system: SystemConfig { + code: WASM_BINARY.expect("WASM binary was not build, please build it!").to_vec(), + changes_trie_config: Default::default(), + }, + balances: BalancesConfig { balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect() }, + committee: CommitteeConfig { council_members: council_members.clone(), ..Default::default() }, + chainlink_feed: ChainlinkFeedConfig { pallet_admin: Some(root_key.clone()), feed_creators: council_members }, + sudo: SudoConfig { key: root_key }, + parachain_info: ParachainInfoConfig { parachain_id: id }, + collator_selection: CollatorSelectionConfig { + invulnerables: initial_authorities.iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: Zero::zero(), + ..Default::default() + }, + session: SessionConfig { + keys: initial_authorities + .iter() + .cloned() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + opaque::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + tokens: TokensConfig { + // TODO: + // + // this config is only for tests for now + balances: vec![ + endowed_accounts.iter().cloned().map(|k| (k, 42, 1 << 60)).collect::>(), + endowed_accounts.iter().cloned().map(|k| (k, 43, 1 << 60)).collect::>(), + ] + .concat(), + }, + // no need to pass anything to aura, in fact it will panic if we do. Session will take care + // of this. + aura: Default::default(), + aura_ext: Default::default(), + parachain_system: Default::default(), + remote_asset_manager: RemoteAssetManagerConfig { + staking_configs: vec![( + 42, + StakingConfig { + pallet_index: 7, + reward_destination: RewardDestination::Staked, + minimum_balance: 0, + weights: StakingWeights::polkadot(), + bonding_duration: POLKADOT_BONDING_DURATION_IN_BLOCKS, + }, + )], + proxy_configs: vec![(42, ProxyConfig { pallet_index: 29, weights: ProxyWeights::polkadot() })], + statemint_config: None, + }, + } +} diff --git a/node/src/chain_spec/kusama.rs b/node/src/chain_spec/kusama.rs new file mode 100644 index 0000000000..a1d480e35e --- /dev/null +++ b/node/src/chain_spec/kusama.rs @@ -0,0 +1,167 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use super::{get_account_id_from_seed, get_collator_keys_from_seed, Extensions}; +use cumulus_primitives_core::ParaId; +use frame_support::PalletId; +use pint_runtime_common::traits::XcmRuntimeCallWeights; +use pint_runtime_kusama::*; +use sc_service::ChainType; +use sp_core::sr25519; +use sp_runtime::traits::{AccountIdConversion, Zero}; +use xcm_calls::{ + proxy::{ProxyConfig, ProxyWeights}, + staking::{RewardDestination, StakingConfig, StakingWeights}, +}; + +/// Specialized `ChainSpec` for the normal parachain runtime. +pub type ChainSpec = sc_service::GenericChainSpec; + +pub fn pint_development_config(id: ParaId) -> ChainSpec { + ChainSpec::from_genesis( + // Name + "PINT Development", + // ID + "pint_kusama_dev", + ChainType::Local, + move || { + pint_testnet_genesis( + get_account_id_from_seed::("Alice"), + // initial collators. + vec![(get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice"))], + vec![ + PalletId(*b"Treasury").into_account(), + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + ], + id, + ) + }, + vec![], + None, + None, + None, + Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, + ) +} + +pub fn pint_local_config(id: ParaId) -> ChainSpec { + ChainSpec::from_genesis( + // Name + "Local Testnet", + // ID + "pint_kusama_local_testnet", + ChainType::Local, + move || { + pint_testnet_genesis( + get_account_id_from_seed::("Alice"), + // initial collators. + vec![ + (get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice")), + (get_account_id_from_seed::("Bob"), get_collator_keys_from_seed("Bob")), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + ], + id, + ) + }, + vec![], + None, + None, + None, + Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, + ) +} + +fn pint_testnet_genesis( + root_key: AccountId, + initial_authorities: Vec<(AccountId, AuraId)>, + endowed_accounts: Vec, + council_members: Vec, + id: ParaId, +) -> GenesisConfig { + GenesisConfig { + system: SystemConfig { + code: WASM_BINARY.expect("WASM binary was not build, please build it!").to_vec(), + changes_trie_config: Default::default(), + }, + balances: BalancesConfig { balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect() }, + committee: CommitteeConfig { council_members: council_members.clone(), ..Default::default() }, + chainlink_feed: ChainlinkFeedConfig { pallet_admin: Some(root_key.clone()), feed_creators: council_members }, + sudo: SudoConfig { key: root_key }, + parachain_info: ParachainInfoConfig { parachain_id: id }, + collator_selection: CollatorSelectionConfig { + invulnerables: initial_authorities.iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: Zero::zero(), + ..Default::default() + }, + session: SessionConfig { + keys: initial_authorities + .iter() + .cloned() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + opaque::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + tokens: TokensConfig { + // TODO: + // + // this config is only for tests for now + balances: vec![ + endowed_accounts.iter().cloned().map(|k| (k, 42, 1 << 60)).collect::>(), + endowed_accounts.iter().cloned().map(|k| (k, 43, 1 << 60)).collect::>(), + ] + .concat(), + }, + // no need to pass anything to aura, in fact it will panic if we do. Session will take care + // of this. + aura: Default::default(), + aura_ext: Default::default(), + parachain_system: Default::default(), + remote_asset_manager: RemoteAssetManagerConfig { + staking_configs: vec![( + 42, + StakingConfig { + pallet_index: 7, + reward_destination: RewardDestination::Staked, + minimum_balance: 0, + weights: StakingWeights::polkadot(), + bonding_duration: KUSAMA_BONDING_DURATION_IN_BLOCKS, + }, + )], + proxy_configs: vec![(42, ProxyConfig { pallet_index: 29, weights: ProxyWeights::polkadot() })], + statemint_config: None, + }, + } +} diff --git a/node/src/chain_spec/mod.rs b/node/src/chain_spec/mod.rs new file mode 100644 index 0000000000..7e9f5d8b10 --- /dev/null +++ b/node/src/chain_spec/mod.rs @@ -0,0 +1,52 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +use primitives::{AccountId, AccountPublic}; +use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup}; +use serde::{Deserialize, Serialize}; +use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{Pair, Public}; +use sp_runtime::traits::IdentifyAccount; + +pub mod dev; +#[cfg(feature = "kusama")] +pub mod kusama; +#[cfg(feature = "polkadot")] +pub mod polkadot; + +/// The extensions for the [`DevChainSpec`]. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)] +#[serde(deny_unknown_fields)] +pub struct Extensions { + /// The relay chain of the Parachain. + pub relay_chain: String, + /// The id of the Parachain. + pub para_id: u32, +} + +impl Extensions { + /// Try to get the extension from the given `ChainSpec`. + pub fn try_get(chain_spec: &dyn sc_service::ChainSpec) -> Option<&Self> { + sc_chain_spec::get_extension(chain_spec.extensions()) + } +} + +/// Helper function to generate a crypto pair from seed +pub fn get_from_seed(seed: &str) -> ::Public { + TPublic::Pair::from_string(&format!("//{}", seed), None).expect("static values are valid; qed").public() +} + +/// Helper function to generate an account ID from seed +pub fn get_account_id_from_seed(seed: &str) -> AccountId +where + AccountPublic: From<::Public>, +{ + AccountPublic::from(get_from_seed::(seed)).into_account() +} + +/// Generate collator keys from seed. +/// +/// This function's return type must always match the session keys of the chain +/// in tuple format. +pub fn get_collator_keys_from_seed(seed: &str) -> AuraId { + get_from_seed::(seed) +} diff --git a/node/src/chain_spec/polkadot.rs b/node/src/chain_spec/polkadot.rs new file mode 100644 index 0000000000..b13212c11d --- /dev/null +++ b/node/src/chain_spec/polkadot.rs @@ -0,0 +1,167 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use super::{get_account_id_from_seed, get_collator_keys_from_seed, Extensions}; +use cumulus_primitives_core::ParaId; +use frame_support::PalletId; +use pint_runtime_common::traits::XcmRuntimeCallWeights; +use pint_runtime_polkadot::*; +use sc_service::ChainType; +use sp_core::sr25519; +use sp_runtime::traits::{AccountIdConversion, Zero}; +use xcm_calls::{ + proxy::{ProxyConfig, ProxyWeights}, + staking::{RewardDestination, StakingConfig, StakingWeights}, +}; + +/// Specialized `ChainSpec` for the normal parachain runtime. +pub type ChainSpec = sc_service::GenericChainSpec; + +pub fn pint_development_config(id: ParaId) -> ChainSpec { + ChainSpec::from_genesis( + // Name + "PINT Development", + // ID + "pint_polkadot_dev", + ChainType::Local, + move || { + pint_testnet_genesis( + get_account_id_from_seed::("Alice"), + // initial collators. + vec![(get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice"))], + vec![ + PalletId(*b"Treasury").into_account(), + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + ], + id, + ) + }, + vec![], + None, + None, + None, + Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, + ) +} + +pub fn pint_local_config(id: ParaId) -> ChainSpec { + ChainSpec::from_genesis( + // Name + "Local Testnet", + // ID + "pint_polkadot_local_testnet", + ChainType::Local, + move || { + pint_testnet_genesis( + get_account_id_from_seed::("Alice"), + // initial collators. + vec![ + (get_account_id_from_seed::("Alice"), get_collator_keys_from_seed("Alice")), + (get_account_id_from_seed::("Bob"), get_collator_keys_from_seed("Bob")), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + ], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + ], + id, + ) + }, + vec![], + None, + None, + None, + Extensions { relay_chain: "rococo-local".into(), para_id: id.into() }, + ) +} + +fn pint_testnet_genesis( + root_key: AccountId, + initial_authorities: Vec<(AccountId, AuraId)>, + endowed_accounts: Vec, + council_members: Vec, + id: ParaId, +) -> GenesisConfig { + GenesisConfig { + system: SystemConfig { + code: WASM_BINARY.expect("WASM binary was not build, please build it!").to_vec(), + changes_trie_config: Default::default(), + }, + balances: BalancesConfig { balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect() }, + committee: CommitteeConfig { council_members: council_members.clone(), ..Default::default() }, + chainlink_feed: ChainlinkFeedConfig { pallet_admin: Some(root_key.clone()), feed_creators: council_members }, + sudo: SudoConfig { key: root_key }, + parachain_info: ParachainInfoConfig { parachain_id: id }, + collator_selection: CollatorSelectionConfig { + invulnerables: initial_authorities.iter().cloned().map(|(acc, _)| acc).collect(), + candidacy_bond: Zero::zero(), + ..Default::default() + }, + session: SessionConfig { + keys: initial_authorities + .iter() + .cloned() + .map(|(acc, aura)| { + ( + acc.clone(), // account id + acc, // validator id + opaque::SessionKeys { aura }, // session keys + ) + }) + .collect(), + }, + tokens: TokensConfig { + // TODO: + // + // this config is only for tests for now + balances: vec![ + endowed_accounts.iter().cloned().map(|k| (k, 42, 1 << 60)).collect::>(), + endowed_accounts.iter().cloned().map(|k| (k, 43, 1 << 60)).collect::>(), + ] + .concat(), + }, + // no need to pass anything to aura, in fact it will panic if we do. Session will take care + // of this. + aura: Default::default(), + aura_ext: Default::default(), + parachain_system: Default::default(), + remote_asset_manager: RemoteAssetManagerConfig { + staking_configs: vec![( + 42, + StakingConfig { + pallet_index: 7, + reward_destination: RewardDestination::Staked, + minimum_balance: 0, + weights: StakingWeights::polkadot(), + bonding_duration: POLKADOT_BONDING_DURATION_IN_BLOCKS, + }, + )], + proxy_configs: vec![(42, ProxyConfig { pallet_index: 29, weights: ProxyWeights::polkadot() })], + statemint_config: None, + }, + } +} diff --git a/node/src/cli.rs b/node/src/cli.rs new file mode 100644 index 0000000000..2cc389d649 --- /dev/null +++ b/node/src/cli.rs @@ -0,0 +1,127 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use crate::chain_spec; +use cumulus_client_cli; +use sc_cli; +use std::path::PathBuf; +use structopt::StructOpt; + +/// Sub-commands supported by the collator. +#[derive(Debug, StructOpt)] +pub enum Subcommand { + /// Export the genesis state of the parachain. + #[structopt(name = "export-genesis-state")] + ExportGenesisState(ExportGenesisStateCommand), + + /// Export the genesis wasm of the parachain. + #[structopt(name = "export-genesis-wasm")] + ExportGenesisWasm(ExportGenesisWasmCommand), + + /// Build a chain specification. + BuildSpec(sc_cli::BuildSpecCmd), + + /// Validate blocks. + CheckBlock(sc_cli::CheckBlockCmd), + + /// Export blocks. + ExportBlocks(sc_cli::ExportBlocksCmd), + + /// Export the state of a given block into a chain spec. + ExportState(sc_cli::ExportStateCmd), + + /// Import blocks. + ImportBlocks(sc_cli::ImportBlocksCmd), + + /// Remove the whole chain. + PurgeChain(cumulus_client_cli::PurgeChainCmd), + + /// Revert the chain to a previous state. + Revert(sc_cli::RevertCmd), + + /// The custom benchmark subcommmand benchmarking runtime pallets. + #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")] + Benchmark(frame_benchmarking_cli::BenchmarkCmd), +} + +/// Command for exporting the genesis state of the parachain +#[derive(Debug, StructOpt)] +pub struct ExportGenesisStateCommand { + /// Output file name or stdout if unspecified. + #[structopt(parse(from_os_str))] + pub output: Option, + + /// Id of the parachain this state is for. + /// + /// Default: 100 + #[structopt(long)] + pub parachain_id: Option, + + /// Write output in binary. Default is to write in hex. + #[structopt(short, long)] + pub raw: bool, + + /// The name of the chain for that the genesis state should be exported. + #[structopt(short, long)] + pub chain: Option, +} + +/// Command for exporting the genesis wasm file. +#[derive(Debug, StructOpt)] +pub struct ExportGenesisWasmCommand { + /// Output file name or stdout if unspecified. + #[structopt(parse(from_os_str))] + pub output: Option, + + /// Write output in binary. Default is to write in hex. + #[structopt(short, long)] + pub raw: bool, + + /// The name of the chain for that the genesis wasm file should be exported. + #[structopt(long)] + pub chain: Option, +} + +#[derive(Debug, StructOpt)] +#[structopt(settings = &[ + structopt::clap::AppSettings::GlobalVersion, + structopt::clap::AppSettings::ArgsNegateSubcommands, + structopt::clap::AppSettings::SubcommandsNegateReqs, +])] +pub struct Cli { + #[structopt(subcommand)] + pub subcommand: Option, + + #[structopt(flatten)] + pub run: cumulus_client_cli::RunCmd, + + /// Relaychain arguments + #[structopt(raw = true)] + pub relaychain_args: Vec, +} + +#[derive(Debug)] +pub struct RelayChainCli { + /// The actual relay chain cli object. + pub base: polkadot_cli::RunCmd, + + /// Optional chain id that should be passed to the relay chain. + pub chain_id: Option, + + /// The base path that should be used by the relay chain. + pub base_path: Option, +} + +impl RelayChainCli { + /// Parse the relay chain CLI parameters using the para chain + /// `Configuration`. + pub fn new<'a>( + para_config: &sc_service::Configuration, + relay_chain_args: impl Iterator, + ) -> Self { + let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec); + let chain_id = extension.map(|e| e.relay_chain.clone()); + let base_path = para_config.base_path.as_ref().map(|x| x.path().join("polkadot")); + Self { base_path, chain_id, base: polkadot_cli::RunCmd::from_iter(relay_chain_args) } + } +} diff --git a/node/src/client.rs b/node/src/client.rs new file mode 100644 index 0000000000..e88216fb43 --- /dev/null +++ b/node/src/client.rs @@ -0,0 +1,452 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +use primitives::{AccountId, AssetId, Balance, Block, BlockNumber, Hash, Header, Nonce}; +use sc_client_api::{Backend as BackendT, BlockchainEvents, KeyIterator}; +use sc_service::{TFullBackend, TFullClient}; +use sp_api::{CallApiAt, NumberFor, ProvideRuntimeApi}; +use sp_blockchain::HeaderBackend; +use sp_consensus::BlockStatus; +use sp_runtime::{ + generic::{BlockId, SignedBlock}, + traits::{BlakeTwo256, Block as BlockT}, + Justifications, +}; +use sp_storage::{ChildInfo, PrefixedStorageKey, StorageData, StorageKey}; +use std::sync::Arc; + +/// PINT's full backend. +pub type FullBackend = TFullBackend; + +/// PINT's full client. +pub type FullClient = TFullClient; + +/// A set of APIs that polkadot-like runtimes must implement. +pub trait RuntimeApiCollection: + sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + pallet_asset_index_rpc::AssetIndexRuntimeApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo +where + >::StateBackend: sp_api::StateBackend, +{ +} + +impl RuntimeApiCollection for Api +where + Api: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::ApiExt + + sp_block_builder::BlockBuilder + + frame_system_rpc_runtime_api::AccountNonceApi + + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + + pallet_asset_index_rpc::AssetIndexRuntimeApi + + sp_api::Metadata + + sp_offchain::OffchainWorkerApi + + sp_session::SessionKeys + + cumulus_primitives_core::CollectCollationInfo, + >::StateBackend: sp_api::StateBackend, +{ +} + +/// Config that abstracts over all available client implementations. +/// +/// For a concrete type there exists [`Client`]. +pub trait AbstractClient: + BlockchainEvents + + Sized + + Send + + Sync + + ProvideRuntimeApi + + HeaderBackend + + CallApiAt +where + Block: BlockT, + Backend: BackendT, + Backend::State: sp_api::StateBackend, + Self::Api: RuntimeApiCollection, +{ +} + +impl AbstractClient for Client +where + Block: BlockT, + Backend: BackendT, + Backend::State: sp_api::StateBackend, + Client: BlockchainEvents + + ProvideRuntimeApi + + HeaderBackend + + Sized + + Send + + Sync + + CallApiAt, + Client::Api: RuntimeApiCollection, +{ +} + +/// Execute something with the client instance. +/// +/// As there exist multiple chains inside Polkadot, like Polkadot itself, +/// Kusama, Dev etc, there can exist different kinds of client types. As these +/// client types differ in the generics that are being used, we can not easily +/// return them from a function. For returning them from a function there exists +/// [`Client`]. However, the problem on how to use this client instance still +/// exists. This trait "solves" it in a dirty way. It requires a type to +/// implement this trait and than the [`execute_with_client`](ExecuteWithClient: +/// :execute_with_client) function can be called with any possible client +/// instance. +/// +/// In a perfect world, we could make a closure work in this way. +pub trait ExecuteWithClient { + /// The return type when calling this instance. + type Output; + + /// Execute whatever should be executed with the given client instance. + fn execute_with_client(self, client: Arc) -> Self::Output + where + >::StateBackend: sp_api::StateBackend, + Backend: sc_client_api::Backend, + Backend::State: sp_api::StateBackend, + Api: crate::client::RuntimeApiCollection, + Client: AbstractClient + 'static; +} + +/// A handle to a Polkadot client instance. +/// +/// The Polkadot service supports multiple different runtimes (Kusama, Polkadot +/// itself, etc). As each runtime has a specialized client, we need to hide them +/// behind a trait. This is this trait. +/// +/// When wanting to work with the inner client, you need to use `execute_with`. +pub trait ClientHandle { + /// Execute the given something with the client. + fn execute_with(&self, t: T) -> T::Output; +} + +/// A client instance of Polkadot. +#[derive(Clone)] +pub enum Client { + Dev(Arc>), + #[cfg(feature = "kusama")] + Kusama(Arc>), + #[cfg(feature = "polkadot")] + Polkadot(Arc>), +} + +impl ClientHandle for Client { + fn execute_with(&self, t: T) -> T::Output { + match self { + Self::Dev(client) => T::execute_with_client::<_, _, FullBackend>(t, client.clone()), + #[cfg(feature = "kusama")] + Self::Kusama(client) => T::execute_with_client::<_, _, FullBackend>(t, client.clone()), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => T::execute_with_client::<_, _, FullBackend>(t, client.clone()), + } + } +} + +impl sc_client_api::UsageProvider for Client { + fn usage_info(&self) -> sc_client_api::ClientInfo { + match self { + Self::Dev(client) => client.usage_info(), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.usage_info(), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.usage_info(), + } + } +} + +impl sc_client_api::BlockBackend for Client { + fn block_body(&self, id: &BlockId) -> sp_blockchain::Result::Extrinsic>>> { + match self { + Self::Dev(client) => client.block_body(id), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.block_body(id), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.block_body(id), + } + } + + fn block(&self, id: &BlockId) -> sp_blockchain::Result>> { + match self { + Self::Dev(client) => client.block(id), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.block(id), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.block(id), + } + } + + fn block_status(&self, id: &BlockId) -> sp_blockchain::Result { + match self { + Self::Dev(client) => client.block_status(id), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.block_status(id), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.block_status(id), + } + } + + fn justifications(&self, id: &BlockId) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.justifications(id), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.justifications(id), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.justifications(id), + } + } + + fn block_hash(&self, number: NumberFor) -> sp_blockchain::Result::Hash>> { + match self { + Self::Dev(client) => client.block_hash(number), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.block_hash(number), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.block_hash(number), + } + } + + fn indexed_transaction(&self, hash: &::Hash) -> sp_blockchain::Result>> { + match self { + Self::Dev(client) => client.indexed_transaction(hash), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.indexed_transaction(hash), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.indexed_transaction(hash), + } + } + + fn has_indexed_transaction(&self, hash: &::Hash) -> sp_blockchain::Result { + match self { + Self::Dev(client) => client.has_indexed_transaction(hash), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.has_indexed_transaction(hash), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.has_indexed_transaction(hash), + } + } + + fn block_indexed_body(&self, id: &BlockId) -> sp_blockchain::Result>>> { + match self { + Self::Dev(client) => client.block_indexed_body(id), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.block_indexed_body(id), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.block_indexed_body(id), + } + } +} + +impl sc_client_api::StorageProvider for Client { + fn storage(&self, id: &BlockId, key: &StorageKey) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.storage(id, key), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.storage(id, key), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.storage(id, key), + } + } + + fn storage_keys(&self, id: &BlockId, key_prefix: &StorageKey) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.storage_keys(id, key_prefix), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.storage_keys(id, key_prefix), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.storage_keys(id, key_prefix), + } + } + + fn storage_hash( + &self, + id: &BlockId, + key: &StorageKey, + ) -> sp_blockchain::Result::Hash>> { + match self { + Self::Dev(client) => client.storage_hash(id, key), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.storage_hash(id, key), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.storage_hash(id, key), + } + } + + fn storage_pairs( + &self, + id: &BlockId, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.storage_pairs(id, key_prefix), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.storage_pairs(id, key_prefix), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.storage_pairs(id, key_prefix), + } + } + + fn storage_keys_iter<'a>( + &self, + id: &BlockId, + prefix: Option<&'a StorageKey>, + start_key: Option<&StorageKey>, + ) -> sp_blockchain::Result>::State, Block>> { + match self { + Self::Dev(client) => client.storage_keys_iter(id, prefix, start_key), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.storage_keys_iter(id, prefix, start_key), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.storage_keys_iter(id, prefix, start_key), + } + } + + fn child_storage( + &self, + id: &BlockId, + child_info: &ChildInfo, + key: &StorageKey, + ) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.child_storage(id, child_info, key), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.child_storage(id, child_info, key), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.child_storage(id, child_info, key), + } + } + + fn child_storage_keys( + &self, + id: &BlockId, + child_info: &ChildInfo, + key_prefix: &StorageKey, + ) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.child_storage_keys(id, child_info, key_prefix), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.child_storage_keys(id, child_info, key_prefix), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.child_storage_keys(id, child_info, key_prefix), + } + } + + fn child_storage_keys_iter<'a>( + &self, + id: &BlockId, + child_info: ChildInfo, + prefix: Option<&'a StorageKey>, + start_key: Option<&StorageKey>, + ) -> sp_blockchain::Result>::State, Block>> { + match self { + Self::Dev(client) => client.child_storage_keys_iter(id, child_info, prefix, start_key), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.child_storage_keys_iter(id, child_info, prefix, start_key), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.child_storage_keys_iter(id, child_info, prefix, start_key), + } + } + + fn child_storage_hash( + &self, + id: &BlockId, + child_info: &ChildInfo, + key: &StorageKey, + ) -> sp_blockchain::Result::Hash>> { + match self { + Self::Dev(client) => client.child_storage_hash(id, child_info, key), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.child_storage_hash(id, child_info, key), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.child_storage_hash(id, child_info, key), + } + } + + fn max_key_changes_range( + &self, + first: NumberFor, + last: BlockId, + ) -> sp_blockchain::Result, BlockId)>> { + match self { + Self::Dev(client) => client.max_key_changes_range(first, last), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.max_key_changes_range(first, last), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.max_key_changes_range(first, last), + } + } + + fn key_changes( + &self, + first: NumberFor, + last: BlockId, + storage_key: Option<&PrefixedStorageKey>, + key: &StorageKey, + ) -> sp_blockchain::Result, u32)>> { + match self { + Self::Dev(client) => client.key_changes(first, last, storage_key, key), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.key_changes(first, last, storage_key, key), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.key_changes(first, last, storage_key, key), + } + } +} + +impl sp_blockchain::HeaderBackend for Client { + fn header(&self, id: BlockId) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.header(&id), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.header(&id), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.header(&id), + } + } + + fn info(&self) -> sp_blockchain::Info { + match self { + Self::Dev(client) => client.info(), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.info(), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.info(), + } + } + + fn status(&self, id: BlockId) -> sp_blockchain::Result { + match self { + Self::Dev(client) => client.status(id), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.status(id), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.status(id), + } + } + + fn number(&self, hash: Hash) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.number(hash), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.number(hash), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.number(hash), + } + } + + fn hash(&self, number: BlockNumber) -> sp_blockchain::Result> { + match self { + Self::Dev(client) => client.hash(number), + #[cfg(feature = "kusama")] + Self::Kusama(client) => client.hash(number), + #[cfg(feature = "polkadot")] + Self::Polkadot(client) => client.hash(number), + } + } +} diff --git a/node/src/command.rs b/node/src/command.rs new file mode 100644 index 0000000000..cb0303c45b --- /dev/null +++ b/node/src/command.rs @@ -0,0 +1,453 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use crate::{ + chain_spec, + cli::{Cli, RelayChainCli, Subcommand}, + service::{self, IdentifyVariant}, +}; +use codec::Encode; +use cumulus_client_service::genesis::generate_genesis_block; +use cumulus_primitives_core::ParaId; +use log::info; +use polkadot_parachain::primitives::AccountIdConversion; +use primitives::Block; +use sc_cli::{ + ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams, NetworkParams, Result, + RuntimeVersion, SharedParams, SubstrateCli, +}; +use sc_service::config::{BasePath, PrometheusConfig}; +use sp_core::hexdisplay::HexDisplay; +use sp_runtime::traits::Block as BlockT; +use std::{io::Write, net::SocketAddr}; + +fn load_spec(id: &str, para_id: ParaId) -> std::result::Result, String> { + Ok(match id { + "pint-local" => Box::new(chain_spec::dev::pint_local_config(para_id)), + "pint-dev" => Box::new(chain_spec::dev::pint_development_config(para_id)), + #[cfg(feature = "kusama")] + "pint-kusama-local" => Box::new(chain_spec::kusama::pint_local_config(para_id)), + #[cfg(feature = "kusama")] + "pint-kusama-dev" => Box::new(chain_spec::kusama::pint_development_config(para_id)), + #[cfg(feature = "polkadot")] + "pint-polkadot-local" => Box::new(chain_spec::polkadot::pint_local_config(para_id)), + #[cfg(feature = "polkadot")] + "pint-polkadot-dev" => Box::new(chain_spec::polkadot::pint_development_config(para_id)), + path => { + let path = std::path::PathBuf::from(path); + let starts_with = |prefix: &str| { + path.file_name().map(|f| f.to_str().map(|s| s.starts_with(&prefix))).flatten().unwrap_or(false) + }; + + if starts_with("pint_kusama") { + #[cfg(feature = "kusama")] + { + Box::new(chain_spec::kusama::ChainSpec::from_json_file(path)?) + } + #[cfg(not(feature = "kusama"))] + return Err(service::KUSAMA_RUNTIME_NOT_AVAILABLE.into()); + } else if starts_with("pint_polkadot") { + #[cfg(feature = "polkadot")] + { + Box::new(chain_spec::polkadot::ChainSpec::from_json_file(path)?) + } + #[cfg(not(feature = "polkadot"))] + return Err(service::POLKADOT_RUNTIME_NOT_AVAILABLE.into()); + } else { + Box::new(chain_spec::dev::ChainSpec::from_json_file(path)?) + } + } + }) +} + +impl SubstrateCli for Cli { + fn impl_name() -> String { + "PINT Collator".into() + } + + fn impl_version() -> String { + env!("SUBSTRATE_CLI_IMPL_VERSION").into() + } + + fn description() -> String { + format!( + "PINT Collator\n\nThe command-line arguments provided first will be \ + passed to the parachain node, while the arguments provided after -- will be passed \ + to the relaychain node.\n\n\ + {} [parachain-args] -- [relaychain-args]", + Self::executable_name() + ) + } + + fn author() -> String { + env!("CARGO_PKG_AUTHORS").into() + } + + fn support_url() -> String { + "https://github.com/ChainSafe/PINT/issues/new".into() + } + + fn copyright_start_year() -> i32 { + 2021 + } + + fn load_spec(&self, id: &str) -> std::result::Result, String> { + load_spec(id, self.run.parachain_id.unwrap_or(200).into()) + } + + fn native_runtime_version(chain_spec: &Box) -> &'static RuntimeVersion { + if chain_spec.is_kusama() { + #[cfg(feature = "kusama")] + return &pint_runtime_kusama::VERSION; + #[cfg(not(feature = "kusama"))] + panic!("{}", service::KUSAMA_RUNTIME_NOT_AVAILABLE); + } else if chain_spec.is_polkadot() { + #[cfg(feature = "polkadot")] + return &pint_runtime_polkadot::VERSION; + #[cfg(not(feature = "polkadot"))] + panic!("{}", service::POLKADOT_RUNTIME_NOT_AVAILABLE); + } else { + return &pint_runtime_dev::VERSION; + } + } +} + +impl SubstrateCli for RelayChainCli { + fn impl_name() -> String { + "PINT Collator".into() + } + + fn impl_version() -> String { + env!("SUBSTRATE_CLI_IMPL_VERSION").into() + } + + fn description() -> String { + "PINT Collator\n\nThe command-line arguments provided first will be \ + passed to the parachain node, while the arguments provided after -- will be passed \ + to the relaychain node.\n\n\ + parachain-collator [parachain-args] -- [relaychain-args]" + .into() + } + + fn author() -> String { + env!("CARGO_PKG_AUTHORS").into() + } + + fn support_url() -> String { + "https://github.com/ChainSafe/PINT/issues/new".into() + } + + fn copyright_start_year() -> i32 { + 2017 + } + + fn load_spec(&self, id: &str) -> std::result::Result, String> { + polkadot_cli::Cli::from_iter([RelayChainCli::executable_name().to_string()].iter()).load_spec(id) + } + + fn native_runtime_version(chain_spec: &Box) -> &'static RuntimeVersion { + polkadot_cli::Cli::native_runtime_version(chain_spec) + } +} + +fn extract_genesis_wasm(chain_spec: &Box) -> Result> { + let mut storage = chain_spec.build_storage()?; + + storage + .top + .remove(sp_core::storage::well_known_keys::CODE) + .ok_or_else(|| "Could not find wasm file in genesis state!".into()) +} + +macro_rules! with_runtime { + ($chain_spec:expr, { $( $code:tt )* }) => { + if $chain_spec.is_kusama() { + #[allow(unused_imports)] + #[cfg(feature = "kusama")] + use pint_runtime_kusama::{Block, RuntimeApi}; + #[cfg(feature = "kusama")] + use service::{KusamaExecutor as Executor}; + #[cfg(feature = "kusama")] + $( $code )* + + #[cfg(not(feature = "kusama"))] + return Err(service::KUSAMA_RUNTIME_NOT_AVAILABLE.into()); + } else if $chain_spec.is_polkadot() { + #[allow(unused_imports)] + #[cfg(feature = "polkadot")] + use pint_runtime_polkadot::{Block, RuntimeApi}; + #[cfg(feature = "polkadot")] + use service::{PolkadotExecutor as Executor}; + #[cfg(feature = "polkadot")] + $( $code )* + + #[cfg(not(feature = "polkadot"))] + return Err(service::POLKADOT_RUNTIME_NOT_AVAILABLE.into()); + } else { + #[allow(unused_imports)] + use pint_runtime_dev::{Block, RuntimeApi}; + use service::{DevExecutor as Executor}; + $( $code )* + } + } +} + +/// Parse command line arguments into service configuration. +pub fn run() -> Result<()> { + let cli = Cli::from_args(); + + match &cli.subcommand { + Some(Subcommand::BuildSpec(cmd)) => { + let runner = cli.create_runner(cmd)?; + runner.sync_run(|config| cmd.run(config.chain_spec, config.network)) + } + Some(Subcommand::CheckBlock(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { + let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?; + Ok((cmd.run(client, import_queue), task_manager)) + }), + Some(Subcommand::ExportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { + let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?; + Ok((cmd.run(client, config.database), task_manager)) + }), + Some(Subcommand::ExportState(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { + let (client, _, _, task_manager) = service::new_chain_ops(&mut config)?; + Ok((cmd.run(client, config.chain_spec), task_manager)) + }), + Some(Subcommand::ImportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { + let (client, _, import_queue, task_manager) = service::new_chain_ops(&mut config)?; + Ok((cmd.run(client, import_queue), task_manager)) + }), + Some(Subcommand::PurgeChain(cmd)) => { + let runner = cli.create_runner(cmd)?; + + runner.sync_run(|config| { + let polkadot_cli = RelayChainCli::new( + &config, + [RelayChainCli::executable_name().to_string()].iter().chain(cli.relaychain_args.iter()), + ); + + let polkadot_config = + SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, config.task_executor.clone()) + .map_err(|err| format!("Relay chain argument error: {}", err))?; + + cmd.run(config, polkadot_config) + }) + } + Some(Subcommand::Revert(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| { + let (client, backend, _, task_manager) = service::new_chain_ops(&mut config)?; + Ok((cmd.run(client, backend), task_manager)) + }), + Some(Subcommand::ExportGenesisState(params)) => { + let mut builder = sc_cli::LoggerBuilder::new(""); + builder.with_profiling(sc_tracing::TracingReceiver::Log, ""); + let _ = builder.init(); + + let block: Block = generate_genesis_block(&load_spec( + ¶ms.chain.clone().unwrap_or_default(), + params.parachain_id.unwrap_or(200).into(), + )?)?; + let raw_header = block.header().encode(); + let output_buf = if params.raw { + raw_header + } else { + format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes() + }; + + if let Some(output) = ¶ms.output { + std::fs::write(output, output_buf)?; + } else { + std::io::stdout().write_all(&output_buf)?; + } + + Ok(()) + } + Some(Subcommand::ExportGenesisWasm(params)) => { + let mut builder = sc_cli::LoggerBuilder::new(""); + builder.with_profiling(sc_tracing::TracingReceiver::Log, ""); + let _ = builder.init(); + + let raw_wasm_blob = extract_genesis_wasm(&cli.load_spec(¶ms.chain.clone().unwrap_or_default())?)?; + let output_buf = if params.raw { + raw_wasm_blob + } else { + format!("0x{:?}", HexDisplay::from(&raw_wasm_blob)).into_bytes() + }; + + if let Some(output) = ¶ms.output { + std::fs::write(output, output_buf)?; + } else { + std::io::stdout().write_all(&output_buf)?; + } + + Ok(()) + } + Some(Subcommand::Benchmark(cmd)) => { + if cfg!(feature = "runtime-benchmarks") { + let runner = cli.create_runner(cmd)?; + let chain_spec = &runner.config().chain_spec; + with_runtime!(chain_spec, { + return runner.sync_run(|config| cmd.run::(config)); + }) + } else { + Err("Benchmarking wasn't enabled when building the node. \ + You can enable it with `--features runtime-benchmarks`." + .into()) + } + } + None => { + let runner = cli.create_runner(&cli.run.normalize())?; + + runner.run_node_until_exit(|config| async move { + let para_id = chain_spec::Extensions::try_get(&*config.chain_spec).map(|e| e.para_id); + + let polkadot_cli = RelayChainCli::new( + &config, + [RelayChainCli::executable_name().to_string()].iter().chain(cli.relaychain_args.iter()), + ); + + let id = ParaId::from(cli.run.parachain_id.or(para_id).unwrap_or(200)); + + let parachain_account = AccountIdConversion::::into_account(&id); + + let block: Block = generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?; + let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode())); + + let task_executor = config.task_executor.clone(); + let polkadot_config = SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, task_executor) + .map_err(|err| format!("Relay chain argument error: {}", err))?; + + info!("Parachain id: {:?}", id); + info!("Parachain Account: {}", parachain_account); + info!("Parachain genesis state: {}", genesis_state); + info!("Is collating: {}", if config.role.is_authority() { "yes" } else { "no" }); + + with_runtime!(config.chain_spec, { + { + service::start_node::(config, polkadot_config, id) + .await + .map(|r| r.0) + .map_err(Into::into) + } + }) + }) + } + } +} + +impl DefaultConfigurationValues for RelayChainCli { + fn p2p_listen_port() -> u16 { + 30334 + } + + fn rpc_ws_listen_port() -> u16 { + 9945 + } + + fn rpc_http_listen_port() -> u16 { + 9934 + } + + fn prometheus_listen_port() -> u16 { + 9616 + } +} + +impl CliConfiguration for RelayChainCli { + fn shared_params(&self) -> &SharedParams { + self.base.base.shared_params() + } + + fn import_params(&self) -> Option<&ImportParams> { + self.base.base.import_params() + } + + fn network_params(&self) -> Option<&NetworkParams> { + self.base.base.network_params() + } + + fn keystore_params(&self) -> Option<&KeystoreParams> { + self.base.base.keystore_params() + } + + fn base_path(&self) -> Result> { + Ok(self.shared_params().base_path().or_else(|| self.base_path.clone().map(Into::into))) + } + + fn rpc_http(&self, default_listen_port: u16) -> Result> { + self.base.base.rpc_http(default_listen_port) + } + + fn rpc_ipc(&self) -> Result> { + self.base.base.rpc_ipc() + } + + fn rpc_ws(&self, default_listen_port: u16) -> Result> { + self.base.base.rpc_ws(default_listen_port) + } + + fn prometheus_config(&self, default_listen_port: u16) -> Result> { + self.base.base.prometheus_config(default_listen_port) + } + + fn init(&self) -> Result<()> { + unreachable!("PolkadotCli is never initialized; qed"); + } + + fn chain_id(&self, is_dev: bool) -> Result { + let chain_id = self.base.base.chain_id(is_dev)?; + + Ok(if chain_id.is_empty() { self.chain_id.clone().unwrap_or_default() } else { chain_id }) + } + + fn role(&self, is_dev: bool) -> Result { + self.base.base.role(is_dev) + } + + fn transaction_pool(&self) -> Result { + self.base.base.transaction_pool() + } + + fn state_cache_child_ratio(&self) -> Result> { + self.base.base.state_cache_child_ratio() + } + + fn rpc_methods(&self) -> Result { + self.base.base.rpc_methods() + } + + fn rpc_ws_max_connections(&self) -> Result> { + self.base.base.rpc_ws_max_connections() + } + + fn rpc_cors(&self, is_dev: bool) -> Result>> { + self.base.base.rpc_cors(is_dev) + } + + fn telemetry_external_transport(&self) -> Result> { + self.base.base.telemetry_external_transport() + } + + fn default_heap_pages(&self) -> Result> { + self.base.base.default_heap_pages() + } + + fn force_authoring(&self) -> Result { + self.base.base.force_authoring() + } + + fn disable_grandpa(&self) -> Result { + self.base.base.disable_grandpa() + } + + fn max_runtime_instances(&self) -> Result> { + self.base.base.max_runtime_instances() + } + + fn announce_block(&self) -> Result { + self.base.base.announce_block() + } + + fn telemetry_endpoints(&self, chain_spec: &Box) -> Result> { + self.base.base.telemetry_endpoints(chain_spec) + } +} diff --git a/node/src/lib.rs b/node/src/lib.rs new file mode 100644 index 0000000000..663598ad04 --- /dev/null +++ b/node/src/lib.rs @@ -0,0 +1,6 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +pub mod chain_spec; +pub mod client; +pub mod service; diff --git a/node/src/main.rs b/node/src/main.rs new file mode 100644 index 0000000000..a92ad8a84e --- /dev/null +++ b/node/src/main.rs @@ -0,0 +1,17 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Substrate Parachain Node Template CLI + +#![warn(missing_docs)] + +mod chain_spec; +#[macro_use] +mod service; +mod cli; +mod client; +mod command; + +fn main() -> sc_cli::Result<()> { + command::run() +} diff --git a/node/src/service.rs b/node/src/service.rs new file mode 100644 index 0000000000..608c6d20c7 --- /dev/null +++ b/node/src/service.rs @@ -0,0 +1,511 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +// Cumulus Imports +use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams, SlotProportion}; +use cumulus_client_consensus_common::ParachainConsensus; +use cumulus_client_network::build_block_announce_validator; +use cumulus_client_service::{ + prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, +}; +use cumulus_primitives_core::ParaId; + +// Substrate Imports +use cumulus_primitives_parachain_inherent::MockValidationDataInherentDataProvider; +use sc_chain_spec::ChainSpec; +use sc_client_api::ExecutorProvider; +use sc_consensus::LongestChain; +use sc_consensus_aura::ImportQueueParams; +pub use sc_executor::NativeExecutor; +use sc_executor::{native_executor_instance, NativeExecutionDispatch}; +use sc_network::NetworkService; +use sc_service::{Configuration, PartialComponents, Role, TFullBackend, TFullClient, TaskManager}; +use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; +use sc_transaction_pool::BasicPool; +use sp_api::ConstructRuntimeApi; +use sp_consensus::SlotData; +use sp_consensus_aura::sr25519::{AuthorityId as AuraId, AuthorityPair as AuraPair}; +use sp_keystore::SyncCryptoStorePtr; +use sp_runtime::traits::BlakeTwo256; +use sp_trie::PrefixedMemoryDB; +use std::sync::Arc; +use substrate_prometheus_endpoint::Registry; + +use crate::client::*; + +// Runtime type overrides +type BlockNumber = u32; +type Header = sp_runtime::generic::Header; +pub type Block = sp_runtime::generic::Block; +type Hash = sp_core::H256; + +native_executor_instance!( + pub DevExecutor, + pint_runtime_dev::api::dispatch, + pint_runtime_dev::native_version, + frame_benchmarking::benchmarking::HostFunctions, +); + +#[cfg(feature = "kusama")] +native_executor_instance!( + pub KusamaExecutor, + pint_runtime_kusama::api::dispatch, + pint_runtime_kusama::native_version, + frame_benchmarking::benchmarking::HostFunctions, +); + +#[cfg(feature = "kusama")] +native_executor_instance!( + pub PolkadotExecutor, + pint_runtime_polkadot::api::dispatch, + pint_runtime_polkadot::native_version, + frame_benchmarking::benchmarking::HostFunctions, +); + +pub trait IdentifyVariant { + fn is_kusama(&self) -> bool; + fn is_polkadot(&self) -> bool; + fn is_dev(&self) -> bool; +} + +impl IdentifyVariant for Box { + fn is_kusama(&self) -> bool { + self.id().starts_with("kusama") + } + + fn is_polkadot(&self) -> bool { + self.id().starts_with("polkadot") + } + + fn is_dev(&self) -> bool { + self.id().starts_with("dev") + } +} + +/// PINT's full backend. +type FullBackend = TFullBackend; + +/// PINT's full client. +type FullClient = TFullClient; + +/// Maybe Mandala Dev full select chain. +type MaybeFullSelectChain = Option>; + +fn default_mock_parachain_inherent_data_provider() -> MockValidationDataInherentDataProvider { + MockValidationDataInherentDataProvider { current_para_block: 0, relay_offset: 1000, relay_blocks_per_para_block: 2 } +} + +pub fn new_partial( + config: &Configuration, + dev: bool, + instant_sealing: bool, +) -> Result< + PartialComponents< + FullClient, + FullBackend, + MaybeFullSelectChain, + sc_consensus::import_queue::BasicQueue>, + sc_transaction_pool::FullPool>, + (Option, Option), + >, + sc_service::Error, +> +where + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: RuntimeApiCollection>, + RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, + Executor: NativeExecutionDispatch + 'static, +{ + let telemetry = config + .telemetry_endpoints + .clone() + .filter(|x| !x.is_empty()) + .map(|endpoints| -> Result<_, sc_telemetry::Error> { + let worker = TelemetryWorker::new(16)?; + let telemetry = worker.handle().new_telemetry(endpoints); + Ok((worker, telemetry)) + }) + .transpose()?; + + let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( + &config, + telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), + )?; + let client = Arc::new(client); + + let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle()); + + let telemetry = telemetry.map(|(worker, telemetry)| { + task_manager.spawn_handle().spawn("telemetry", worker.run()); + telemetry + }); + + let registry = config.prometheus_registry(); + + let transaction_pool = BasicPool::new_full( + config.transaction_pool.clone(), + config.role.is_authority().into(), + registry, + task_manager.spawn_essential_handle(), + client.clone(), + ); + + let select_chain = if dev { Some(LongestChain::new(backend.clone())) } else { None }; + + let import_queue = if dev { + if instant_sealing { + // instance sealing + sc_consensus_manual_seal::import_queue( + Box::new(client.clone()), + &task_manager.spawn_essential_handle(), + registry, + ) + } else { + // aura import queue + let slot_duration = sc_consensus_aura::slot_duration(&*client)?.slot_duration(); + + sc_consensus_aura::import_queue::(ImportQueueParams { + block_import: client.clone(), + justification_import: None, + client: client.clone(), + create_inherent_data_providers: move |_, ()| async move { + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *timestamp, + slot_duration, + ); + + Ok((timestamp, slot, default_mock_parachain_inherent_data_provider())) + }, + spawner: &task_manager.spawn_essential_handle(), + registry, + can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), + check_for_equivocation: Default::default(), + telemetry: telemetry.as_ref().map(|x| x.handle()), + })? + } + } else { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + cumulus_client_consensus_aura::import_queue::( + cumulus_client_consensus_aura::ImportQueueParams { + block_import: client.clone(), + client: client.clone(), + create_inherent_data_providers: move |_, _| async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + Ok((time, slot)) + }, + registry, + can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), + spawner: &task_manager.spawn_essential_handle(), + telemetry: telemetry.as_ref().map(|telemetry| telemetry.handle()), + }, + )? + }; + + Ok(PartialComponents { + backend, + client, + import_queue, + keystore_container, + task_manager, + transaction_pool, + select_chain, + other: (telemetry, telemetry_worker_handle), + }) +} + +/// Start a node with the given parachain `Configuration` and relay chain +/// `Configuration`. +/// +/// This is the actual implementation that is abstract over the executor and the +/// runtime api. +#[sc_tracing::logging::prefix_logs_with("Parachain")] +async fn start_node_impl( + parachain_config: Configuration, + polkadot_config: Configuration, + id: ParaId, + _rpc_ext_builder: RB, + build_consensus: BIC, +) -> sc_service::error::Result<(TaskManager, Arc>)> +where + RB: Fn(Arc>) -> jsonrpc_core::IoHandler + Send + 'static, + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: RuntimeApiCollection>, + RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, + Executor: NativeExecutionDispatch + 'static, + BIC: FnOnce( + Arc>, + Option<&Registry>, + Option, + &TaskManager, + &polkadot_service::NewFull, + Arc>>, + Arc>, + SyncCryptoStorePtr, + bool, + ) -> Result>, sc_service::Error>, +{ + if matches!(parachain_config.role, Role::Light) { + return Err("Light client not supported!".into()); + } + + let parachain_config = prepare_node_config(parachain_config); + + let params = new_partial(¶chain_config, false, false)?; + let (mut telemetry, telemetry_worker_handle) = params.other; + + let relay_chain_full_node = + cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle).map_err( + |e| match e { + polkadot_service::Error::Sub(x) => x, + s => format!("{}", s).into(), + }, + )?; + + let client = params.client.clone(); + let backend = params.backend.clone(); + let block_announce_validator = build_block_announce_validator( + relay_chain_full_node.client.clone(), + id, + Box::new(relay_chain_full_node.network.clone()), + relay_chain_full_node.backend.clone(), + ); + + let force_authoring = parachain_config.force_authoring; + let validator = parachain_config.role.is_authority(); + let prometheus_registry = parachain_config.prometheus_registry().cloned(); + let transaction_pool = params.transaction_pool.clone(); + let mut task_manager = params.task_manager; + let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); + let (network, system_rpc_tx, start_network) = sc_service::build_network(sc_service::BuildNetworkParams { + config: ¶chain_config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue: import_queue.clone(), + on_demand: None, + block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)), + warp_sync: None, + })?; + + let rpc_extensions_builder = { + let client = client.clone(); + let transaction_pool = transaction_pool.clone(); + + Box::new(move |deny_unsafe, _| { + let deps = pint_rpc::FullDeps { client: client.clone(), pool: transaction_pool.clone(), deny_unsafe }; + + Ok(pint_rpc::create_full(deps)) + }) + }; + + if parachain_config.offchain_worker.enabled { + sc_service::build_offchain_workers( + ¶chain_config, + task_manager.spawn_handle(), + client.clone(), + network.clone(), + ); + }; + + sc_service::spawn_tasks(sc_service::SpawnTasksParams { + on_demand: None, + remote_blockchain: None, + rpc_extensions_builder, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + task_manager: &mut task_manager, + config: parachain_config, + keystore: params.keystore_container.sync_keystore(), + backend: backend.clone(), + network: network.clone(), + system_rpc_tx, + telemetry: telemetry.as_mut(), + })?; + + let announce_block = { + let network = network.clone(); + Arc::new(move |hash, data| network.announce_block(hash, data)) + }; + + if validator { + let parachain_consensus = build_consensus( + client.clone(), + prometheus_registry.as_ref(), + telemetry.as_ref().map(|t| t.handle()), + &task_manager, + &relay_chain_full_node, + transaction_pool, + network, + params.keystore_container.sync_keystore(), + force_authoring, + )?; + + let spawner = task_manager.spawn_handle(); + + let params = StartCollatorParams { + para_id: id, + block_status: client.clone(), + announce_block, + client: client.clone(), + task_manager: &mut task_manager, + relay_chain_full_node, + spawner, + parachain_consensus, + import_queue, + }; + + start_collator(params).await?; + } else { + let params = StartFullNodeParams { + client: client.clone(), + announce_block, + task_manager: &mut task_manager, + para_id: id, + relay_chain_full_node, + }; + + start_full_node(params)?; + } + + start_network.start_network(); + + Ok((task_manager, client)) +} + +/// Start a normal parachain node. +pub async fn start_node( + parachain_config: Configuration, + polkadot_config: Configuration, + id: ParaId, +) -> sc_service::error::Result<(TaskManager, Arc>)> +where + RuntimeApi: ConstructRuntimeApi> + Send + Sync + 'static, + RuntimeApi::RuntimeApi: RuntimeApiCollection>, + RuntimeApi::RuntimeApi: sp_consensus_aura::AuraApi, + Executor: NativeExecutionDispatch + 'static, +{ + start_node_impl( + parachain_config, + polkadot_config, + id, + |_| Default::default(), + |client, + prometheus_registry, + telemetry, + task_manager, + relay_chain_node, + transaction_pool, + sync_oracle, + keystore, + force_authoring| { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( + task_manager.spawn_handle(), + client.clone(), + transaction_pool, + prometheus_registry, + telemetry.clone(), + ); + + let relay_chain_backend = relay_chain_node.backend.clone(); + let relay_chain_client = relay_chain_node.client.clone(); + Ok(build_aura_consensus::(BuildAuraConsensusParams { + proposer_factory, + create_inherent_data_providers: move |_, (relay_parent, validation_data)| { + let parachain_inherent = + cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client( + relay_parent, + &relay_chain_client, + &*relay_chain_backend, + &validation_data, + id, + ); + async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + let parachain_inherent = parachain_inherent.ok_or_else(|| { + Box::::from("Failed to create parachain inherent") + })?; + Ok((time, slot, parachain_inherent)) + } + }, + block_import: client.clone(), + relay_chain_client: relay_chain_node.client.clone(), + relay_chain_backend: relay_chain_node.backend.clone(), + para_client: client, + backoff_authoring_blocks: Option::<()>::None, + sync_oracle, + keystore, + force_authoring, + slot_duration, + // We got around 500ms for proposing + block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), + // And a maximum of 750ms if slots are skipped + max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), + telemetry, + })) + }, + ) + .await +} + +#[allow(dead_code)] +pub const KUSAMA_RUNTIME_NOT_AVAILABLE: &str = + "pint-kusama runtime is not available. Please compile the node with `--features kusama` to enable it."; +#[allow(dead_code)] +pub const POLKADOT_RUNTIME_NOT_AVAILABLE: &str = + "pint-polkadot runtime is not available. Please compile the node with `--features polkadot` to enable it."; + +/// Builds a new object suitable for chain operations. +pub fn new_chain_ops( + mut config: &mut Configuration, +) -> Result< + ( + Arc, + Arc, + sc_consensus::import_queue::BasicQueue>, + TaskManager, + ), + sc_service::Error, +> { + config.keystore = sc_service::config::KeystoreConfig::InMemory; + if config.chain_spec.is_kusama() { + #[cfg(feature = "kusama")] + { + let PartialComponents { client, backend, import_queue, task_manager, .. } = + new_partial::(config, false, false)?; + Ok((Arc::new(Client::Kusama(client)), backend, import_queue, task_manager)) + } + + #[cfg(not(feature = "kusama"))] + Err(KUSAMA_RUNTIME_NOT_AVAILABLE.into()) + } else if config.chain_spec.is_polkadot() { + #[cfg(feature = "polkadot")] + { + let PartialComponents { client, backend, import_queue, task_manager, .. } = + new_partial::(config, false, false)?; + Ok((Arc::new(Client::Polkadot(client)), backend, import_queue, task_manager)) + } + + #[cfg(not(feature = "polkadot"))] + Err(POLKADOT_RUNTIME_NOT_AVAILABLE.into()) + } else { + let PartialComponents { client, backend, import_queue, task_manager, .. } = + new_partial::(config, false, false)?; + Ok((Arc::new(Client::Dev(client)), backend, import_queue, task_manager)) + } +} diff --git a/primitives/derive/Cargo.toml b/primitives/derive/Cargo.toml new file mode 100644 index 0000000000..cfab711d6d --- /dev/null +++ b/primitives/derive/Cargo.toml @@ -0,0 +1,16 @@ +[package] +authors = ['ChainSafe Systems'] +description = 'PINT proc-macros' +edition = "2018" +license = 'LGPL-3.0-only' +name = "derive" +repository = 'https://github.com/ChainSafe/PINT/' +version = "0.0.1" + +[lib] +proc-macro = true + +[dependencies] +proc-macro2 = "1.0.27" +quote = "1.0.9" +syn = { version = "1.0.73", features = ["full"] } diff --git a/primitives/derive/README.md b/primitives/derive/README.md new file mode 100644 index 0000000000..11f69b5430 --- /dev/null +++ b/primitives/derive/README.md @@ -0,0 +1,17 @@ +# derive + +This module contains `proc-macro`s for developing and testing. + +## #[xcm_error] + +Provides a `From` implementation, could be used for `pallet::Error`. + +For example: + +```rust +#[pallet:error] +#[xcm_error] +pub enum Error { + // ... +} +``` diff --git a/primitives/derive/src/lib.rs b/primitives/derive/src/lib.rs new file mode 100644 index 0000000000..3764403cc9 --- /dev/null +++ b/primitives/derive/src/lib.rs @@ -0,0 +1,17 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +//! PINT proc-macros +extern crate proc_macro; + +// mod derive; +mod xcm; + +use proc_macro::TokenStream; + +/// `#[xcm_error]` +/// +/// This macro is used for expand errors of xcm::v0::Error +#[proc_macro_attribute] +pub fn xcm_error(_attr: TokenStream, item: TokenStream) -> TokenStream { + xcm::error(item) +} diff --git a/primitives/derive/src/xcm/mod.rs b/primitives/derive/src/xcm/mod.rs new file mode 100644 index 0000000000..9a94e8aba3 --- /dev/null +++ b/primitives/derive/src/xcm/mod.rs @@ -0,0 +1,6 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +//! XCM macros +mod result; + +pub use result::error; diff --git a/primitives/derive/src/xcm/result.rs b/primitives/derive/src/xcm/result.rs new file mode 100644 index 0000000000..dfd201aff4 --- /dev/null +++ b/primitives/derive/src/xcm/result.rs @@ -0,0 +1,117 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +//! XCM errors +use proc_macro::TokenStream; +use proc_macro2::Span; +use quote::quote; +use syn::{ + parse_macro_input, punctuated::Punctuated, token::Comma, Arm, DeriveInput, Expr, ExprMatch, Ident, Pat, PatTuple, + PatTupleStruct, Path, PathArguments, PathSegment, +}; + +const XCM_ERRORS: [&str; 27] = [ + "Undefined", + "Unimplemented", + "Overflow", + "UnhandledXcmVersion", + "UnhandledXcmMessage", + "UnhandledEffect", + "EscalationOfPrivilege", + "UntrustedReserveLocation", + "UntrustedTeleportLocation", + "DestinationBufferOverflow", + "SendFailed(_)", + "CannotReachDestination(_, _)", + "MultiLocationFull", + "FailedToDecode", + "BadOrigin", + "ExceedsMaxMessageSize", + "FailedToTransactAsset(_)", + "WeightLimitReached(_)", + "Wildcard", + "TooMuchWeightRequired", + "NotHoldingFees", + "WeightNotComputable", + "Barrier", + "NotWithdrawable", + "LocationCannotHold", + "TooExpensive", + "AssetNotFound", +]; + +/// Expand xcm errors +pub fn expand_errors() -> Vec { + XCM_ERRORS + .iter() + .map(|i| { + let ident = Ident::new(if let Some(idx) = i.find('(') { &i[0..idx] } else { i }, Span::call_site()); + let (body, pat) = (ident.clone(), { + let count = i.matches('_').count(); + if count == 0 { + Pat::Verbatim(quote! { XcmError::#ident }) + } else { + let mut elems = Punctuated::new(); + for _ in 0..count { + elems.push(Pat::Verbatim(quote! { _ })); + } + + let mut segments = Punctuated::new(); + segments.push(PathSegment { ident, arguments: PathArguments::None }); + + let ts = Pat::TupleStruct(PatTupleStruct { + attrs: Default::default(), + path: Path { leading_colon: None, segments }, + pat: PatTuple { attrs: Default::default(), paren_token: Default::default(), elems }, + }); + + Pat::Verbatim(quote! { XcmError::#ts }) + } + }); + + Arm { + attrs: Default::default(), + pat, + guard: None, + fat_arrow_token: Default::default(), + body: Box::new(Expr::Verbatim(quote! { Self::#body })), + comma: Some(Comma::default()), + } + }) + .collect() +} + +fn expand_match(arms: Vec) -> ExprMatch { + ExprMatch { + attrs: Default::default(), + match_token: Default::default(), + expr: Box::new(Expr::Verbatim(quote! {e})), + brace_token: Default::default(), + arms, + } +} + +/// Extends xcm errors +pub fn error(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as DeriveInput); + + // construct expr match + let xcm_match = expand_match(expand_errors()); + + // get generics + let ident = &input.ident; + let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl(); + + let expanded = quote! { + use xcm::v0::Error as XcmError; + + #input + + impl #impl_generics From for #ident #ty_generics #where_clause { + fn from(e: XcmError) -> Self { + #xcm_match + } + } + }; + + TokenStream::from(expanded) +} diff --git a/resources/types.json b/resources/types.json new file mode 100644 index 0000000000..a87eb95f71 --- /dev/null +++ b/resources/types.json @@ -0,0 +1,161 @@ +{ + "Address": "MultiAddress", + "LookupSource": "MultiAddress", + "LookupSourceFor": "LookupSource", + "Action": "Call", + "AssetId": "u32", + "AccountIdFor": "AccountId", + "AccountBalance": { + "available": "Balance", + "reserved": "Balance" + }, + "AssetAvailability": { + "_enum": { + "Liquid": "MultiLocation", + "Saft": null + } + }, + "AssetWithdrawal": { + "asset": "AssetId", + "state": "RedemptionState", + "units": "Balance" + }, + "Balance": "u128", + "BalanceFor": "Balance", + "CommitteeMember": { + "account_id": "AccountId", + "member_type": "MemberType" + }, + "CurrencyId": "AssetId", + "CurrencyIdOf": "CurrencyId", + "FeeRate": { + "numerator": "u32", + "denominator": "u32" + }, + "HashFor": "Hash", + "IndexAssetData": { + "units": "Balance", + "availability": "AssetAvailability" + }, + "MemberType": { + "_enum": { + "Council": null, + "Constituent": null + } + }, + "MemberVote": { + "member": "CommitteeMember", + "vote": "Vote" + }, + "PendingRedemption": { + "initiated": "BlockNumber", + "assets": "Vec" + }, + "ProposalNonce": "u32", + "ProxyType": { + "_enum": [ + "Any", + "NonTransfer", + "Governance", + "Staking" + ] + }, + "ProxyState": { + "added": "Vec" + }, + "RedemptionState": { + "_enum": { + "Initiated": null, + "Unbonding": null, + "Transferred": null + } + }, + "SAFTRecord": { + "nav": "Balance", + "units": "Balance" + }, + "StakingBondState": { + "controller": "LookupSourceFor", + "bonded": "Balance", + "unbonded": "Balance", + "unlocked_chunks": "u32" + }, + "Vote": { + "_enum": { + "Aye": null, + "Nay": null, + "Abstain": null + } + }, + "SAFTId": "u32", + "VoteAggregate": { + "votes": "Vec", + "end": "BlockNumber" + }, + "SpecIndex": "Vec", + "RequestIdentifier": "u64", + "DataVersion": "u64", + "FeedId": "u32", + "RoundId": "u32", + "Value": "u128", + "FeedConfig": { + "owner": "AccountId", + "pending_owner": "Option", + "submission_value_bounds": "(Value, Value)", + "submission_count_bounds": "(u32, u32)", + "payment": "Balance", + "timeout": "BlockNumber", + "decimals": "u8", + "description": "Vec", + "restart_delay": "RoundId", + "reporting_round": "RoundId", + "latest_round": "RoundId", + "first_valid_round": "Option", + "oracle_count": "u32", + "pruning_window": "RoundId", + "next_round_to_prune": "RoundId", + "debt": "Balance", + "max_debt": "Option" + }, + "FeedConfigOf": "FeedConfig", + "Round": { + "started_at": "BlockNumber", + "answer": "Option", + "updated_at": "Option", + "answered_in_round": "Option" + }, + "RoundOf": "Round", + "RoundDetails": { + "submissions": "Vec", + "submission_count_bounds": "(u32, u32)", + "payment": "Balance", + "timeout": "BlockNumber" + }, + "RoundDetailsOf": "RoundDetails", + "OracleMeta": { + "withdrawable": "Balance", + "admin": "AccountId", + "pending_admin": "Option" + }, + "OracleMetaOf": "OracleMeta", + "OracleStatus": { + "starting_round": "RoundId", + "ending_round": "Option", + "last_reported_round": "Option", + "last_started_round": "Option", + "latest_submission": "Option" + }, + "OracleStatusOf": "OracleStatus", + "Requester": { + "delay": "RoundId", + "last_started_round": "Option" + }, + "RoundData": { + "started_at": "BlockNumber", + "answer": "Value", + "updated_at": "BlockNumber", + "answered_in_round": "RoundId" + }, + "RoundDataOf": "RoundData", + "SubmissionBounds": "(u32, u32)" +} \ No newline at end of file diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml new file mode 100644 index 0000000000..977502ce19 --- /dev/null +++ b/rpc/Cargo.toml @@ -0,0 +1,31 @@ +[package] +authors = ['ChainSafe Systems'] +description = 'PINT specific RPC.' +edition = '2018' +license = 'LGPL-3.0-only' +name = 'pint-rpc' +repository = 'https://github.com/ChainSafe/PINT/' +version = '0.0.1' + +[dependencies] +jsonrpc-core = "15.0.0" +codec = { package = "parity-scale-codec", version = "2.2.0" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +#sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } + +# PINT dependencies +pallet-asset-index-rpc= { path = "../pallets/asset-index/rpc" } +pint-runtime-common = { path = "../runtime/common" } +primitives = { path = "../primitives/primitives" } + +[package.metadata.docs.rs] +targets = ['x86_64-unknown-linux-gnu'] diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs new file mode 100644 index 0000000000..120b88d3af --- /dev/null +++ b/rpc/src/lib.rs @@ -0,0 +1,95 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! PINT-specific RPCs implementation. + +#![warn(missing_docs)] + +use primitives::{AccountId, AssetId, Balance, Block, Hash, Nonce}; +use sc_client_api::light::{Fetcher, RemoteBlockchain}; +pub use sc_rpc_api::DenyUnsafe; +use sc_transaction_pool_api::TransactionPool; +use sp_api::ProvideRuntimeApi; +use sp_block_builder::BlockBuilder; +use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; +use std::sync::Arc; + +pub use sc_rpc::SubscriptionTaskExecutor; + +/// A type representing all RPC extensions. +pub type RpcExtension = jsonrpc_core::IoHandler; + +/// Light client extra dependencies. +pub struct LightDeps { + /// The client instance to use. + pub client: Arc, + /// Transaction pool instance. + pub pool: Arc

, + /// Remote access to the blockchain (async). + pub remote_blockchain: Arc>, + /// Fetcher instance. + pub fetcher: Arc, +} + +/// Full client dependencies. +pub struct FullDeps { + /// The client instance to use. + pub client: Arc, + /// Transaction pool instance. + pub pool: Arc

, + /// Whether to deny unsafe calls + pub deny_unsafe: DenyUnsafe, +} + +/// Instantiate all Full RPC extensions. +pub fn create_full(deps: FullDeps) -> RpcExtension +where + C: ProvideRuntimeApi, + C: HeaderBackend + HeaderMetadata, + C: Send + Sync + 'static, + C::Api: substrate_frame_rpc_system::AccountNonceApi, + C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, + C::Api: pallet_asset_index_rpc::AssetIndexRuntimeApi, + C::Api: BlockBuilder, + P: TransactionPool + Sync + Send + 'static, +{ + use pallet_asset_index_rpc::{AssetIndexApi, AssetIndexBackend}; + use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; + use substrate_frame_rpc_system::{FullSystem, SystemApi}; + + let mut io = jsonrpc_core::IoHandler::default(); + let FullDeps { client, pool, deny_unsafe } = deps; + + io.extend_with(SystemApi::to_delegate(FullSystem::new(client.clone(), pool, deny_unsafe))); + io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone()))); + // Making synchronous calls in light client freezes the browser currently, + // more context: https://github.com/paritytech/substrate/pull/3480 + // These RPCs should use an asynchronous caller instead. + io.extend_with(AssetIndexApi::to_delegate(AssetIndexBackend::new(client))); + io +} + +/// Instantiate all RPC extensions for light node. +pub fn create_light(deps: LightDeps) -> RpcExtension +where + C: ProvideRuntimeApi, + C: HeaderBackend, + C: Send + Sync + 'static, + C::Api: substrate_frame_rpc_system::AccountNonceApi, + C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, + F: Fetcher + 'static, + P: TransactionPool + 'static, +{ + use substrate_frame_rpc_system::{LightSystem, SystemApi}; + + let LightDeps { client, pool, remote_blockchain, fetcher } = deps; + let mut io = jsonrpc_core::IoHandler::default(); + io.extend_with(SystemApi::::to_delegate(LightSystem::new( + client, + remote_blockchain, + fetcher, + pool, + ))); + + io +} diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml new file mode 100644 index 0000000000..d71ce6ed66 --- /dev/null +++ b/runtime/common/Cargo.toml @@ -0,0 +1,57 @@ +[package] +authors = ['ChainSafe Systems'] +edition = '2018' +homepage = 'https://github.com/ChainSafe/PINT' +license = 'LGPL-3.0-only' +name = 'pint-runtime-common' +repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' +version = '0.0.1' + +[dependencies] +frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +# xcm +xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm-calls = { path = "../../primitives/xcm-calls", default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } + +# orml +orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } + +# chainlink +pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } + +# pint +primitives = { path = '../../primitives/primitives', default-features = false } +pallet-committee = {path = '../../pallets/committee', default-features = false } +pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } +pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } +pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } +pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } +pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } + + +[features] +default = ['std'] +std = [ + "frame-support/std", + 'frame-system/std', + 'sp-std/std', + + "xcm/std", + "xcm-calls/std", + "cumulus-pallet-xcm/std", + + "orml-traits/std", + + 'pallet-asset-index/std', + 'pallet-committee/std', + 'pallet-local-treasury/std', + 'pallet-price-feed/std', + 'pallet-remote-asset-manager/std', + 'pallet-saft-registry/std', + 'pallet-chainlink-feed/std', + "primitives/std", +] diff --git a/runtime/common/src/constants.rs b/runtime/common/src/constants.rs new file mode 100644 index 0000000000..925ce57e54 --- /dev/null +++ b/runtime/common/src/constants.rs @@ -0,0 +1,172 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +use cumulus_pallet_xcm::Origin; +use frame_support::{ + parameter_types, + sp_runtime::{traits::AccountIdConversion, Perbill}, + sp_std::prelude::*, + traits::{Contains, LockIdentifier}, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, WEIGHT_PER_SECOND}, + DispatchClass, Weight, + }, + PalletId, +}; +use frame_system::limits::{BlockLength, BlockWeights}; +use orml_traits::{arithmetic::Zero, parameter_type_with_key}; +use primitives::{fee::FeeRate, AccountId, AssetId, Balance, BlockNumber}; +use xcm::v0::{Junction, MultiLocation}; + +// 1 in 4 blocks (on average, not counting collisions) will be primary babe +// blocks. +pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4); + +/// We assume that ~10% of the block weight is consumed by `on_initalize` +/// handlers. This is used to limit the maximal weight of a single extrinsic. +pub const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); +/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be +/// used by Operational extrinsics. +pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); +/// We allow for 0.5 seconds of compute with a 6 second average block time. +pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND / 2; + +/// This determines the average expected block time that we are targeting. +/// Blocks will be produced at a minimum duration defined by +/// `SLOT_DURATION`. `SLOT_DURATION` is picked up by `pallet_timestamp` +/// which is in turn picked up by `pallet_aura` to implement `fn +/// slot_duration()`. +/// +/// Change this to adjust the block time. +pub const MILLISECS_PER_BLOCK: u64 = 6000; + +pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; + +// Time is measured by number of blocks. +pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber); +pub const HOURS: BlockNumber = MINUTES * 60; +pub const DAYS: BlockNumber = HOURS * 24; + +// Unit = the base number of indivisible units for balances +pub const UNIT: Balance = 1_000_000_000_000; +pub const MILLIUNIT: Balance = 1_000_000_000; +pub const MICROUNIT: Balance = 1_000_000; + +// NOTE: same block time as PINT +pub const KUSAMA_EPOCH_DURATION_IN_SLOTS: BlockNumber = 1 * HOURS; +pub const POLKADOT_EPOCH_DURATION_IN_SLOTS: BlockNumber = 4 * HOURS; + +// 28 eras for unbonding (7 days). Six sessions in an era (6 hours). +pub const KUSAMA_BONDING_DURATION_IN_BLOCKS: BlockNumber = 28 * 6 * KUSAMA_EPOCH_DURATION_IN_SLOTS; + +/// 28 eras for unbonding (28 days). Six sessions in an era (24 hours) +pub const POLKADOT_BONDING_DURATION_IN_BLOCKS: BlockNumber = 28 * 6 * POLKADOT_EPOCH_DURATION_IN_SLOTS; + +parameter_types! { + // TODO: use actual fees + pub const BaseWithdrawalFee: FeeRate = FeeRate{ numerator: 0, denominator: 1_000,}; + // The base weight for an XCM message + // The actual weight for an XCM message will determined by + // `T::BaseXcmWeight + T::Weigher::weight(&msg)` + pub const BaseXcmWeight: Weight = 100_000_000; + pub const BlockHashCount: BlockNumber = 250; + pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(33); + pub const DOTContributionLimit: Balance = 999; + /// Same as Polkadot Relay Chain. + pub const ExistentialDeposit: Balance = 500; + // Used to determine the account for storing the funds used to pay the oracles. + pub const FeedPalletId: PalletId = PalletId(*b"linkfeed"); + // Maximum number of feeds + pub const FeedLimit: u16 = 10; + pub const IndexTokenLockIdentifier: LockIdentifier = *b"pintlock"; + pub const Offset: BlockNumber = 0; + // Maximum number of oracles per feed + pub const OracleLimit: u32 = 10; + pub const PalletIndexStringLimit: u32 = 50; + pub const Period: u32 = 6 * HOURS; + pub const PINTAssetId: AssetId = 1; + pub PintTreasuryAccount: AccountId = TreasuryPalletId::get().into_account(); + pub const PotId: PalletId = PalletId(*b"PotStake"); + pub const RelayChainAssetId: AssetId = 0; + pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay; + pub const RelayLocation: MultiLocation = MultiLocation::X1(Junction::Parent); + pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; + pub RuntimeBlockLength: BlockLength = + BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() + .base_block(BlockExecutionWeight::get()) + .for_class(DispatchClass::all(), |weights| { + weights.base_extrinsic = ExtrinsicBaseWeight::get(); + }) + .for_class(DispatchClass::Normal, |weights| { + weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + }) + .for_class(DispatchClass::Operational, |weights| { + weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); + // Operational transactions have some extra reserved space, so that they + // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. + weights.reserved = Some( + MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT + ); + }) + .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) + .build_or_panic(); + pub const SS58Prefix: u8 = 0; + // Maximum allowed string length for feed names + pub const StringLimit: u32 = 15; + pub const TransactionByteFee: Balance = 1 ; + pub const TreasuryPalletId: PalletId = PalletId(*b"Treasury"); + pub const LockupPeriod: BlockNumber = 10; + pub const MaxCandidates: u32 = 200; + pub const MaxInvulnerables: u32 = 50; + // For weight estimation, we assume that the most locks on an individual account will be 50. + // This number may need to be adjusted in the future if this assumption no longer holds true. + pub const MaxLocks: u32 = 50; + pub const MinCandidates: u32 = 1; + pub const MinCouncilVotes: usize = 4; + pub const MinimumPeriod: u64 = SLOT_DURATION / 2; + pub const MinimumRedemption: u32 = 0; + pub const MinimumStatemintTransferAmount: Balance = 1; + // Minimum amount of funds that need to be present in the fund account + pub const MinimumReserve: Balance = 100; + pub const UncleGenerations: u32 = 0; + // One UNIT buys 1 second of weight. + pub const UnitPerSecond: (MultiLocation, u128) = (MultiLocation::X1(Junction::Parent), UNIT); + // One XCM operation is 200_000_000 weight, cross-chain transfer ~= 2x of transfer. + pub const UnitWeightCost: Weight = 200_000_000; + pub const WithdrawalPeriod: BlockNumber = 10; +} + +pub fn get_all_pallet_accounts() -> Vec { + vec![TreasuryPalletId::get().into_account()] +} + +pub struct DustRemovalWhitelist; +impl Contains for DustRemovalWhitelist { + fn contains(a: &AccountId) -> bool { + get_all_pallet_accounts().contains(a) + } +} + +// --- ORML configurations +parameter_type_with_key! { + pub ExistentialDeposits: |_asset_id: AssetId| -> Balance { + Zero::zero() + }; +} + +// The minimum amount of assets that should remain unbonded. +parameter_type_with_key! { + pub MinimumRemoteReserveBalance: |_asset_id: AssetId| -> Balance { + // Same as relaychain existential deposit + ExistentialDeposit::get() + }; +} + +// The minimum amount of asset required for an additional bond_extr +parameter_type_with_key! { + pub MinimumBondExtra: |_asset_id: AssetId| -> Balance { + // set this to max for now, effectively preventing automated bond_extra + Balance::MAX + }; +} diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs new file mode 100644 index 0000000000..5937bee8db --- /dev/null +++ b/runtime/common/src/lib.rs @@ -0,0 +1,9 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +//! PINT runtime common + +#![cfg_attr(not(feature = "std"), no_std)] +pub mod constants; +pub mod traits; +pub mod types; +pub mod weights; diff --git a/runtime/common/src/traits.rs b/runtime/common/src/traits.rs new file mode 100644 index 0000000000..4873e14250 --- /dev/null +++ b/runtime/common/src/traits.rs @@ -0,0 +1,9 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +//! PINT common traits + +/// Weights of Xcm calls for different runtimes +pub trait XcmRuntimeCallWeights { + fn polkadot() -> Self; + fn kusama() -> Self; +} diff --git a/runtime/common/src/types.rs b/runtime/common/src/types.rs new file mode 100644 index 0000000000..d78f8a16cb --- /dev/null +++ b/runtime/common/src/types.rs @@ -0,0 +1,9 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +/// Origin that approved by committee +pub type GovernanceOrigin = frame_system::EnsureOneOf< + AccountId, + frame_system::EnsureRoot, + pallet_committee::EnsureApprovedByCommittee, +>; diff --git a/runtime/common/src/weights/mod.rs b/runtime/common/src/weights/mod.rs new file mode 100644 index 0000000000..95c501bf02 --- /dev/null +++ b/runtime/common/src/weights/mod.rs @@ -0,0 +1,98 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only +pub mod pallet_asset_index; +pub mod pallet_chainlink_feed; +pub mod pallet_committee; +pub mod pallet_local_treasury; +pub mod pallet_price_feed; +pub mod pallet_remote_asset_manager; +pub mod pallet_saft_registry; + +use crate::traits::XcmRuntimeCallWeights; +use frame_support::weights::{constants::RocksDbWeight, Weight}; +use xcm_calls::{proxy::ProxyWeights, staking::StakingWeights}; + +impl XcmRuntimeCallWeights for StakingWeights { + /// The weights as defined in `pallet_staking` on polkadot + fn polkadot() -> Self { + #![allow(clippy::unnecessary_cast)] + let weight = RocksDbWeight::get(); + Self { + bond: (75_102_000 as Weight) + .saturating_add(weight.reads(5 as Weight)) + .saturating_add(weight.writes(4 as Weight)), + bond_extra: (57_637_000 as Weight) + .saturating_add(weight.reads(3 as Weight)) + .saturating_add(weight.writes(2 as Weight)), + unbond: (52_115_000 as Weight) + .saturating_add(weight.reads(4 as Weight)) + .saturating_add(weight.writes(3 as Weight)), + // Same as unbounded temporarily + // + // Check https://github.com/paritytech/substrate/blob/0803f7d953938aa65de36993ed74cecb1f7b5407/frame/staking/src/lib.rs#L1622 + withdraw_unbonded: (52_115_000 as Weight) + .saturating_add(weight.reads(4 as Weight)) + .saturating_add(weight.writes(3 as Weight)), + } + } + + fn kusama() -> Self { + #![allow(clippy::unnecessary_cast)] + let weight = RocksDbWeight::get(); + Self { + bond: (70_648_000 as Weight) + .saturating_add(weight.reads(5 as Weight)) + .saturating_add(weight.writes(4 as Weight)), + bond_extra: (54_235_000 as Weight) + .saturating_add(weight.reads(3 as Weight)) + .saturating_add(weight.writes(2 as Weight)), + unbond: (57_950_000 as Weight) + .saturating_add(weight.reads(6 as Weight)) + .saturating_add(weight.writes(3 as Weight)), + // Same as unbounded temporarily + // + // Check https://github.com/paritytech/substrate/blob/0803f7d953938aa65de36993ed74cecb1f7b5407/frame/staking/src/lib.rs#L1622 + withdraw_unbonded: (57_950_000 as Weight) + .saturating_add(weight.reads(6 as Weight)) + .saturating_add(weight.writes(3 as Weight)), + } + } +} + +impl XcmRuntimeCallWeights for ProxyWeights { + /// The weights as defined in `pallet_staking` on polkadot + /// + /// 32 is from https://github.com/paritytech/polkadot/blob/0c670d826c7ce80b26e6214c411dc7320af58854/runtime/polkadot/src/lib.rs#L871 + fn polkadot() -> Self { + #![allow(clippy::unnecessary_cast)] + let weight = RocksDbWeight::get(); + Self { + add_proxy: (34_650_000 as Weight) + .saturating_add((212_000 as Weight).saturating_mul(32 as Weight)) + .saturating_add(weight.reads(1 as Weight)) + .saturating_add(weight.writes(1 as Weight)), + remove_proxy: (34_378_000 as Weight) + .saturating_add((240_000 as Weight).saturating_mul(32 as Weight)) + .saturating_add(weight.reads(1 as Weight)) + .saturating_add(weight.writes(1 as Weight)), + } + } + + /// The weights as defined in `pallet_staking` on polkadot + /// + /// 32 is from https://github.com/paritytech/polkadot/blob/0c670d826c7ce80b26e6214c411dc7320af58854/runtime/kusama/src/lib.rs#L965 + fn kusama() -> Self { + #![allow(clippy::unnecessary_cast)] + let weight = RocksDbWeight::get(); + Self { + add_proxy: (36_114_000 as Weight) + .saturating_add((223_000 as Weight).saturating_mul(32 as Weight)) + .saturating_add(weight.reads(1 as Weight)) + .saturating_add(weight.writes(1 as Weight)), + remove_proxy: (35_456_000 as Weight) + .saturating_add((246_000 as Weight).saturating_mul(32 as Weight)) + .saturating_add(weight.reads(1 as Weight)) + .saturating_add(weight.writes(1 as Weight)), + } + } +} diff --git a/runtime/common/src/weights/pallet_asset_index.rs b/runtime/common/src/weights/pallet_asset_index.rs new file mode 100644 index 0000000000..17d99ec82a --- /dev/null +++ b/runtime/common/src/weights/pallet_asset_index.rs @@ -0,0 +1,76 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for pallet_asset_index +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-06-16, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("pint-local"), +//! DB CACHE: 128 + +// Executed Command: +// ./target/release/pint +// benchmark +// -p +// pallet_asset_index +// -e +// * +// --execution +// Wasm +// --wasm-execution +// Compiled +// --raw +// --output +// ./runtime/src/weights/pallet_asset_index.rs +// --chain +// pint-local + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_asset_index. +pub struct WeightInfo(PhantomData); +impl pallet_asset_index::WeightInfo for WeightInfo { + fn add_asset() -> Weight { + (38_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + + fn complete_withdraw() -> Weight { + Default::default() + } + + fn remove_asset() -> Weight { + Default::default() + } + + fn register_asset() -> Weight { + (38_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + + fn deposit() -> Weight { + (38_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + + fn set_metadata() -> Weight { + (18_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + + fn unlock() -> Weight { + Default::default() + } + + fn withdraw() -> Weight { + Default::default() + } +} diff --git a/runtime/common/src/weights/pallet_chainlink_feed.rs b/runtime/common/src/weights/pallet_chainlink_feed.rs new file mode 100644 index 0000000000..48f3c44e83 --- /dev/null +++ b/runtime/common/src/weights/pallet_chainlink_feed.rs @@ -0,0 +1,170 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for pallet_chainlink_feed +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-05-20, STEPS: `[20, ]`, REPEAT: 10, LOW RANGE: `[]`, HIGH RANGE: +//! `[]` EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: +//! 128 + +// Executed Command: +// ./target/release/pint +// benchmark +// --execution +// wasm +// --wasm-execution +// compiled +// --pallet +// pallet_chainlink_feed +// -e +// * +// -s +// 20 +// -r +// 10 +// --raw +// --output +// ./runtime/src/weights + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_chainlink_feed. +pub struct WeightInfo(PhantomData); +impl pallet_chainlink_feed::WeightInfo for WeightInfo { + fn create_feed(o: u32) -> Weight { + (38_850_000 as Weight) + // Standard Error: 66_000 + .saturating_add((15_164_000 as Weight).saturating_mul(o as Weight)) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(o as Weight))) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(o as Weight))) + } + fn transfer_ownership() -> Weight { + (21_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + + fn cancel_ownership_transfer() -> Weight { + Default::default() + } + + fn accept_ownership() -> Weight { + (20_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn set_pruning_window(o: u32) -> Weight { + (1_727_000 as Weight) + // Standard Error: 14_000 + .saturating_add((3_253_000 as Weight).saturating_mul(o as Weight)) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(o as Weight))) + } + fn submit_opening_round_answers() -> Weight { + (90_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(6 as Weight)) + .saturating_add(T::DbWeight::get().writes(6 as Weight)) + } + fn submit_closing_answer(o: u32) -> Weight { + (72_296_000 as Weight) + // Standard Error: 18_000 + .saturating_add((211_000 as Weight).saturating_mul(o as Weight)) + .saturating_add(T::DbWeight::get().reads(7 as Weight)) + .saturating_add(T::DbWeight::get().writes(6 as Weight)) + } + fn change_oracles(d: u32, n: u32) -> Weight { + (0 as Weight) + // Standard Error: 81_000 + .saturating_add((14_745_000 as Weight).saturating_mul(d as Weight)) + // Standard Error: 81_000 + .saturating_add((17_320_000 as Weight).saturating_mul(n as Weight)) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(d as Weight))) + .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(n as Weight))) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(d as Weight))) + .saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(n as Weight))) + } + fn update_future_rounds() -> Weight { + (22_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn set_requester() -> Weight { + (25_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn remove_requester() -> Weight { + (23_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn request_new_round() -> Weight { + (48_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn withdraw_payment() -> Weight { + (53_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(3 as Weight)) + .saturating_add(T::DbWeight::get().writes(3 as Weight)) + } + fn transfer_admin() -> Weight { + (19_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + + fn cancel_admin_transfer() -> Weight { + Default::default() + } + + fn accept_admin() -> Weight { + (19_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn withdraw_funds() -> Weight { + (50_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(3 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + fn reduce_debt() -> Weight { + (31_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + fn transfer_pallet_admin() -> Weight { + (17_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + + fn cancel_pallet_admin_transfer() -> Weight { + Default::default() + } + + fn accept_pallet_admin() -> Weight { + (18_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + fn set_feed_creator() -> Weight { + (17_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn remove_feed_creator() -> Weight { + (17_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } +} diff --git a/runtime/common/src/weights/pallet_committee.rs b/runtime/common/src/weights/pallet_committee.rs new file mode 100644 index 0000000000..ae36249d01 --- /dev/null +++ b/runtime/common/src/weights/pallet_committee.rs @@ -0,0 +1,54 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for pallet_committee +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-06-04, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 + +// Executed Command: +// ./target/release/pint +// benchmark +// --execution +// wasm +// --wasm-execution +// compiled +// -p +// pallet_committee +// -e +// * +// --raw +// --output +// runtime/src/weights/pallet_committee.rs + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_committee. +pub struct WeightInfo(PhantomData); +impl pallet_committee::WeightInfo for WeightInfo { + fn propose() -> Weight { + (30_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(4 as Weight)) + } + fn vote() -> Weight { + (28_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn close() -> Weight { + (42_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(4 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn add_constituent() -> Weight { + (16_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } +} diff --git a/runtime/common/src/weights/pallet_local_treasury.rs b/runtime/common/src/weights/pallet_local_treasury.rs new file mode 100644 index 0000000000..b2236cfee8 --- /dev/null +++ b/runtime/common/src/weights/pallet_local_treasury.rs @@ -0,0 +1,39 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for pallet_local_treasury +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 + +// Executed Command: +// ./target/release/pint +// benchmark +// --execution +// wasm +// --wasm-execution +// compiled +// -p +// pallet_local_treasury +// -e +// * +// --raw +// --output +// runtime/src/weights/pallet_local_treasury.rs + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_local_treasury. +pub struct WeightInfo(PhantomData); +impl pallet_local_treasury::WeightInfo for WeightInfo { + fn withdraw() -> Weight { + (52_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } +} diff --git a/runtime/common/src/weights/pallet_price_feed.rs b/runtime/common/src/weights/pallet_price_feed.rs new file mode 100644 index 0000000000..3ce13be38e --- /dev/null +++ b/runtime/common/src/weights/pallet_price_feed.rs @@ -0,0 +1,42 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for pallet_price_feed +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 + +// Executed Command: +// ./target/release/pint +// benchmark +// --execution +// wasm +// --wasm-execution +// compiled +// -p +// pallet_price_feed +// -e +// * +// --raw +// --output +// runtime/src/weights/pallet_price_feed.rs + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_price_feed. +pub struct WeightInfo(PhantomData); +impl pallet_price_feed::WeightInfo for WeightInfo { + fn map_asset_price_feed() -> Weight { + (18_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn unmap_asset_price_feed() -> Weight { + (15_000_000 as Weight).saturating_add(T::DbWeight::get().reads(1 as Weight)) + } +} diff --git a/runtime/common/src/weights/pallet_remote_asset_manager.rs b/runtime/common/src/weights/pallet_remote_asset_manager.rs new file mode 100644 index 0000000000..af903ef8e9 --- /dev/null +++ b/runtime/common/src/weights/pallet_remote_asset_manager.rs @@ -0,0 +1,37 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for pallet_remote_asset_manager +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 + +// Executed Command: +// ./target/release/pint +// benchmark +// --execution +// wasm +// --wasm-execution +// compiled +// -p +// pallet_remote_asset_manager +// -e +// * +// --raw +// --output +// runtime/src/weights/pallet_remote_asset_manager.rs + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_remote_asset_manager. +pub struct WeightInfo(PhantomData); +impl pallet_remote_asset_manager::WeightInfo for WeightInfo { + fn transfer() -> Weight { + (2_000_000 as Weight) + } +} diff --git a/runtime/common/src/weights/pallet_saft_registry.rs b/runtime/common/src/weights/pallet_saft_registry.rs new file mode 100644 index 0000000000..856288dbbb --- /dev/null +++ b/runtime/common/src/weights/pallet_saft_registry.rs @@ -0,0 +1,56 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for pallet_saft_registry +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 +//! DATE: 2021-06-03, STEPS: `[]`, REPEAT: 1, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 128 + +// Executed Command: +// ./target/release/pint +// benchmark +// --execution +// wasm +// --wasm-execution +// compiled +// -p +// pallet_saft_registry +// -e +// * +// --raw +// --output +// runtime/src/weights/pallet_saft_registry.rs + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for pallet_saft_registry. +pub struct WeightInfo(PhantomData); +impl pallet_saft_registry::WeightInfo for WeightInfo { + fn add_saft() -> Weight { + (23_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + + fn remove_saft() -> Weight { + (23_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(2 as Weight)) + .saturating_add(T::DbWeight::get().writes(2 as Weight)) + } + + fn report_nav() -> Weight { + (18_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + fn convert_to_liquid(_: u32) -> Weight { + (18_000_000 as Weight) + .saturating_add(T::DbWeight::get().reads(1 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } +} diff --git a/runtime/dev/Cargo.toml b/runtime/dev/Cargo.toml new file mode 100644 index 0000000000..8ea6c65bf5 --- /dev/null +++ b/runtime/dev/Cargo.toml @@ -0,0 +1,194 @@ +[package] +authors = ['ChainSafe Systems'] +edition = '2018' +homepage = 'https://substrate.dev' +license = 'LGPL-3.0-only' +name = 'pint-runtime-dev' +repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' + +version = '2.0.0' +[package.metadata.docs.rs] +targets = ['x86_64-unknown-linux-gnu'] + +[build-dependencies] +substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +[dependencies] +codec = { package = 'parity-scale-codec', version = '2.2.0', default-features = false, features = ['derive', 'max-encoded-len']} +log = { version = '0.4.14', default-features = false } +serde = { version = '1.0.119', optional = true, features = ['derive'] } +hex-literal = { version = '0.3.1', optional = true } + +# Substrate Dependencies +## Substrate Primitive Dependencies +sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +sp-version = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +## Substrate FRAME Dependencies +frame-executive = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +## Substrate Pallet Dependencies +pallet-aura = { git = 'https://github.com/paritytech/substrate', default-features = false, branch = 'polkadot-v0.9.9' } +pallet-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false} +pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-collective = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9", default-features = false } +pallet-randomness-collective-flip = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, features = ['historical'] } +pallet-sudo = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +# Cumulus Dependencies +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9", default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } + +# Polkadot Dependencies +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } + +# ORML Dependencies +orml-currencies = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-unknown-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } + +# PINT dependencies +pint-runtime-common = {path = '../common', default-features = false } +pallet-committee = {path = '../../pallets/committee', default-features = false } +pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } +pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } +pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } +pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } +pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } +primitives = { path = '../../primitives/primitives', default-features = false } +xcm-calls = { path = '../../primitives/xcm-calls', default-features = false } +pallet-asset-index-rpc-runtime-api = { path = '../../pallets/asset-index/rpc/runtime-api', default-features = false } + +pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } + +[dev-dependencies] +hex-literal = '0.3.1' +hex = '0.4.3' + +[features] +default = ['std'] +runtime-benchmarks = [ + 'hex-literal', + 'sp-runtime/runtime-benchmarks', + 'frame-benchmarking', + 'frame-support/runtime-benchmarks', + 'frame-system-benchmarking', + 'frame-system/runtime-benchmarks', + 'xcm-builder/runtime-benchmarks', + 'pallet-collator-selection/runtime-benchmarks', + 'pallet-balances/runtime-benchmarks', + 'pallet-timestamp/runtime-benchmarks', + + 'pallet-asset-index/runtime-benchmarks', + 'pallet-price-feed/runtime-benchmarks', + 'pallet-local-treasury/runtime-benchmarks', + 'pallet-balances/runtime-benchmarks', + 'pallet-timestamp/runtime-benchmarks', + 'pallet-committee/runtime-benchmarks', + 'pallet-xcm/runtime-benchmarks', + 'pallet-saft-registry/runtime-benchmarks', + 'pallet-remote-asset-manager/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', + + 'orml-tokens/runtime-benchmarks', +] +std = [ + 'codec/std', + 'serde', + 'log/std', + + 'frame-support/std', + 'frame-executive/std', + 'frame-system/std', + 'frame-try-runtime/std', + + 'sp-api/std', + 'sp-std/std', + 'sp-io/std', + 'sp-consensus-aura/std', + 'sp-core/std', + 'sp-runtime/std', + 'sp-version/std', + 'sp-offchain/std', + 'sp-session/std', + 'sp-block-builder/std', + 'sp-transaction-pool/std', + 'sp-inherents/std', + 'pallet-aura/std', + 'pallet-authorship/std', + 'pallet-balances/std', + 'pallet-collective/std', + 'pallet-randomness-collective-flip/std', + 'pallet-timestamp/std', + 'pallet-sudo/std', + 'pallet-session/std', + 'pallet-transaction-payment/std', + 'primitives/std', + 'pallet-asset-index-rpc-runtime-api/std', + + 'parachain-info/std', + 'cumulus-pallet-aura-ext/std', + 'cumulus-pallet-parachain-system/std', + 'cumulus-pallet-xcmp-queue/std', + 'cumulus-pallet-xcm/std', + 'cumulus-primitives-core/std', + 'cumulus-primitives-utility/std', + 'cumulus-primitives-timestamp/std', + + 'xcm/std', + 'xcm-builder/std', + 'xcm-executor/std', + + 'pint-runtime-common/std', + 'pallet-asset-index/std', + "pallet-collator-selection/std", + 'pallet-committee/std', + 'pallet-local-treasury/std', + 'pallet-price-feed/std', + 'pallet-remote-asset-manager/std', + 'pallet-saft-registry/std', + 'pallet-chainlink-feed/std', + 'xcm-calls/std', + + 'orml-currencies/std', + 'orml-unknown-tokens/std', + 'orml-tokens/std', + 'orml-xtokens/std', + 'orml-xcm-support/std', + 'orml-traits/std', +] diff --git a/runtime/dev/build.rs b/runtime/dev/build.rs new file mode 100644 index 0000000000..4a18e19492 --- /dev/null +++ b/runtime/dev/build.rs @@ -0,0 +1,8 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use substrate_wasm_builder::WasmBuilder; + +fn main() { + WasmBuilder::new().with_current_project().export_heap_base().import_memory().build() +} diff --git a/runtime/dev/src/lib.rs b/runtime/dev/src/lib.rs new file mode 100644 index 0000000000..8376aeab84 --- /dev/null +++ b/runtime/dev/src/lib.rs @@ -0,0 +1,902 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +#![cfg_attr(not(feature = "std"), no_std)] +// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. +#![recursion_limit = "256"] +// Required as construct_runtime! produces code that violates this lint +#![allow(clippy::from_over_into)] + +// A few exports that help ease life for downstream crates. +use codec::Decode; +// Polkadot imports +use cumulus_primitives_core::ParaId; +pub use frame_support::{ + construct_runtime, match_type, ord_parameter_types, parameter_types, + traits::{IsInVec, Randomness}, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + DispatchClass, IdentityFee, Weight, + }, + PalletId, StorageValue, +}; +use frame_system::EnsureSigned; + +// orml imports +use orml_currencies::BasicCurrencyAdapter; +use orml_xcm_support::{IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_timestamp::Call as TimestampCall; +use pallet_xcm::XcmPassthrough; +use polkadot_parachain::primitives::Sibling; +use sp_api::impl_runtime_apis; +pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +use sp_runtime::{ + create_runtime_str, generic, impl_opaque_keys, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, Convert}, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, +}; +pub use sp_runtime::{Perbill, Permill, Perquintill}; +use sp_std::prelude::*; +#[cfg(feature = "std")] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; +use xcm::v0::{BodyId, Junction, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId}; +use xcm_builder::{ + AccountId32Aliases, AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedRateOfConcreteFungible, + FixedWeightBounds, LocationInverter, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, + SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, + TakeRevenue, TakeWeightCredit, +}; +use xcm_executor::XcmExecutor; + +use frame_support::traits::Everything; +use pallet_committee::EnsureMember; + +pub use pint_runtime_common::{constants::*, types::GovernanceOrigin, weights}; +use primitives::traits::MultiAssetRegistry; +pub use primitives::*; +use xcm_calls::{ + proxy::{ProxyCallEncoder, ProxyType}, + staking::StakingCallEncoder, + PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, +}; + +// Make the WASM binary available. +#[cfg(feature = "std")] +include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); + +/// Opaque types. These are used by the CLI to instantiate machinery that don't +/// need to know the specifics of the runtime. They can then be made to be +/// agnostic over specific formats of data like extrinsics, allowing for them to +/// continue syncing the network through upgrades to even the core data +/// structures. +pub mod opaque { + pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; + + use super::*; + + /// Opaque block type. + pub type Block = generic::Block; + + pub type SessionHandlers = (); + + impl_opaque_keys! { + pub struct SessionKeys { + pub aura: Aura, + } + } +} + +pub const VERSION: RuntimeVersion = RuntimeVersion { + spec_name: create_runtime_str!("pint-parachain"), + impl_name: create_runtime_str!("pint-parachain"), + authoring_version: 1, + spec_version: 1, + impl_version: 1, + apis: RUNTIME_API_VERSIONS, + transaction_version: 1, +}; + +/// The version information used to identify this runtime when compiled +/// natively. +#[cfg(feature = "std")] +pub fn native_version() -> NativeVersion { + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } +} + +parameter_types! { + // network + pub Ancestry: MultiLocation = Junction::Parachain( + ParachainInfo::parachain_id().into() + ).into(); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub SelfLocation: MultiLocation = MultiLocation::X2(Junction::Parent, Junction::Parachain(ParachainInfo::parachain_id().into())); + pub const Version: RuntimeVersion = VERSION; + // pallet-committee + pub const ProposalSubmissionPeriod: BlockNumber = 10; + pub const VotingPeriod: BlockNumber = 10; +} + +// Configure FRAME pallets to include in runtime. + +impl frame_system::Config for Runtime { + /// The basic call filter to use in dispatchable. + type BaseCallFilter = Everything; + /// Block & extrinsics weights: base values and limits. + type BlockWeights = RuntimeBlockWeights; + /// The maximum length of a block (in bytes). + type BlockLength = RuntimeBlockLength; + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + /// The aggregated dispatch type that is available for extrinsics. + type Call = Call; + /// The lookup mechanism to get account ID from whatever is passed in + /// dispatchers. + type Lookup = AccountIdLookup; + /// The index type for storing how many extrinsics an account has signed. + type Index = Index; + /// The index type for blocks. + type BlockNumber = BlockNumber; + /// The type for hashing blocks and tries. + type Hash = Hash; + /// The hashing algorithm used. + type Hashing = BlakeTwo256; + /// The header type. + type Header = generic::Header; + /// The ubiquitous event type. + type Event = Event; + /// The ubiquitous origin type. + type Origin = Origin; + /// Maximum number of block number to block hash mappings to keep (oldest + /// pruned first). + type BlockHashCount = BlockHashCount; + /// The weight of database operations that the runtime can invoke. + type DbWeight = RocksDbWeight; + /// Version of the runtime. + type Version = Version; + /// Converts a pallet to the index of the pallet in `construct_runtime!`. + /// + /// This type is being generated by `construct_runtime!`. + type PalletInfo = PalletInfo; + /// What to do if a new account is created. + type OnNewAccount = (); + /// What to do if an account is fully reaped from the system. + type OnKilledAccount = (); + /// The data to be stored in an account. + type AccountData = pallet_balances::AccountData; + /// Weight information for the extrinsics of this pallet. + type SystemWeightInfo = (); + /// This is used as an identifier of the chain. 42 is the generic substrate + /// prefix. + type SS58Prefix = SS58Prefix; + /// The set code logic of the parachain. + type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; +} + +impl pallet_timestamp::Config for Runtime { + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = (); + type MinimumPeriod = MinimumPeriod; + type WeightInfo = (); +} + +impl pallet_balances::Config for Runtime { + type MaxLocks = MaxLocks; + /// The type for recording an account's balance. + type Balance = Balance; + /// The ubiquitous event type. + type Event = Event; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type WeightInfo = pallet_balances::weights::SubstrateWeight; +} + +impl pallet_transaction_payment::Config for Runtime { + type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; + type TransactionByteFee = TransactionByteFee; + type WeightToFee = IdentityFee; + type FeeMultiplierUpdate = (); +} + +impl pallet_sudo::Config for Runtime { + type Event = Event; + type Call = Call; +} + +impl cumulus_pallet_parachain_system::Config for Runtime { + type Event = Event; + type OnValidationData = (); + type SelfParaId = parachain_info::Pallet; + type OutboundXcmpMessageSource = XcmpQueue; + type DmpMessageHandler = DmpQueue; + type ReservedDmpWeight = ReservedDmpWeight; + type XcmpMessageHandler = XcmpQueue; + type ReservedXcmpWeight = ReservedXcmpWeight; +} + +impl parachain_info::Config for Runtime {} + +impl cumulus_pallet_aura_ext::Config for Runtime {} + +/// Type for specifying how a `MultiLocation` can be converted into an +/// `AccountId`. This is used when determining ownership of accounts for asset +/// transacting and when attempting to use XCM `Transact` in order to determine +/// the dispatch Origin. +pub type LocationToAccountId = ( + // The parent (Relay-chain) origin converts to the default `AccountId`. + ParentIsDefault, + // Sibling parachain origins convert to AccountId via the `ParaId::into`. + SiblingParachainConvertsVia, + // Straight up local `AccountId32` origins just alias directly to `AccountId`. + AccountId32Aliases, +); + +/// Means for transacting assets on this chain. +pub type LocalAssetTransactor = MultiCurrencyAdapter< + // Use this multicurrency for asset balances + Currencies, + // handle in event of unknown tokens + UnknownTokens, + // Convert + IsNativeConcrete, + AccountId, + LocationToAccountId, + AssetId, + AssetIdConvert, +>; + +/// This is the type we use to convert an (incoming) XCM origin into a local +/// `Origin` instance, ready for dispatching a transaction with Xcm's +/// `Transact`. There is an `OriginKind` which can biases the kind of local +/// `Origin` it will become. +pub type XcmOriginToTransactDispatchOrigin = ( + // Sovereign account converter; this attempts to derive an `AccountId` from the origin location + // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for + // foreign chains who want to have a local sovereign account on this chain which they control. + SovereignSignedViaLocation, + // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when + // recognised. + RelayChainAsNative, + // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when + // recognised. + SiblingParachainAsNative, + // Native signed account converter; this just converts an `AccountId32` origin into a normal + // `Origin::Signed` origin of the same 32-byte value. + SignedAccountId32AsNative, + // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. + XcmPassthrough, +); + +match_type! { + pub type ParentOrParentsUnitPlurality: impl Contains = { + X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. }) + }; +} + +pub type Barrier = (TakeWeightCredit, AllowTopLevelPaidExecutionFrom); + +pub struct ToTreasury; +impl TakeRevenue for ToTreasury { + fn take_revenue(revenue: MultiAsset) { + use orml_traits::currency::MultiCurrency; + if let MultiAsset::ConcreteFungible { id, amount } = revenue { + if let Some(asset_id) = AssetIdConvert::convert(id) { + // ensure PINT Treasury account have ed for all of the cross-chain asset. + // Ignore the result. + let _ = Currencies::deposit(asset_id, &PintTreasuryAccount::get(), amount); + } + } + } +} + +pub struct XcmConfig; +impl xcm_executor::Config for XcmConfig { + type Call = Call; + type XcmSender = XcmRouter; + // How to withdraw and deposit an asset. + type AssetTransactor = LocalAssetTransactor; + type OriginConverter = XcmOriginToTransactDispatchOrigin; + type IsReserve = MultiNativeAsset; + type IsTeleporter = (); + type LocationInverter = LocationInverter; + type Barrier = Barrier; + type Weigher = FixedWeightBounds; + type Trader = FixedRateOfConcreteFungible; + type ResponseHandler = (); // Don't handle responses for now. +} + +pub type LocalOriginToLocation = SignedToAccountId32; + +/// The means for routing XCM messages which are not for local execution into +/// the right message queues. +pub type XcmRouter = ( + // Two routers - use UMP to communicate with the relay chain: + cumulus_primitives_utility::ParentAsUmp, + // ..and XCMP to communicate with the sibling chains. + XcmpQueue, +); + +impl pallet_xcm::Config for Runtime { + type Event = Event; + type SendXcmOrigin = EnsureXcmOrigin; + type XcmRouter = XcmRouter; + type ExecuteXcmOrigin = EnsureXcmOrigin; + type XcmExecuteFilter = Everything; + type XcmExecutor = XcmExecutor; + type XcmTeleportFilter = (); + type XcmReserveTransferFilter = Everything; + type Weigher = FixedWeightBounds; + type LocationInverter = LocationInverter; +} + +impl cumulus_pallet_xcm::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; +} + +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type ChannelInfo = ParachainSystem; +} + +impl cumulus_pallet_dmp_queue::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type ExecuteOverweightOrigin = frame_system::EnsureRoot; +} + +impl pallet_aura::Config for Runtime { + type AuthorityId = AuraId; + type DisabledValidators = (); +} + +impl pallet_authorship::Config for Runtime { + type FindAuthor = pallet_session::FindAccountFromAuthorIndex; + type UncleGenerations = UncleGenerations; + type FilterUncle = (); + type EventHandler = CollatorSelection; +} + +impl pallet_session::Config for Runtime { + type Event = Event; + type ValidatorId = ::AccountId; + // we don't have stash and controller, thus we don't need the convert as well. + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ShouldEndSession = pallet_session::PeriodicSessions; + type NextSessionRotation = pallet_session::PeriodicSessions; + type SessionManager = CollatorSelection; + // Essentially just Aura, but lets be pedantic. + type SessionHandler = ::KeyTypeIdProviders; + type Keys = opaque::SessionKeys; + type DisabledValidatorsThreshold = DisabledValidatorsThreshold; + type WeightInfo = (); +} + +impl pallet_collator_selection::Config for Runtime { + type Event = Event; + type Currency = Balances; + type UpdateOrigin = GovernanceOrigin; + type PotId = PotId; + type MaxCandidates = MaxCandidates; + type MinCandidates = MinCandidates; + type MaxInvulnerables = MaxInvulnerables; + // should be a multiple of session or things will get inconsistent + type KickThreshold = Period; + type ValidatorId = ::AccountId; + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ValidatorRegistration = Session; + type WeightInfo = (); +} + +impl pallet_local_treasury::Config for Runtime { + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureRoot; + type PalletId = TreasuryPalletId; + type Currency = Balances; + type Event = Event; + type WeightInfo = weights::pallet_local_treasury::WeightInfo; +} + +impl pallet_saft_registry::Config for Runtime { + type AdminOrigin = GovernanceOrigin; + type AssetRecorder = AssetIndex; + type Balance = Balance; + type AssetId = AssetId; + type Event = Event; + type WeightInfo = weights::pallet_saft_registry::WeightInfo; +} + +impl pallet_committee::Config for Runtime { + type Origin = Origin; + type Action = Call; + type ProposalNonce = u32; + type ProposalSubmissionPeriod = ProposalSubmissionPeriod; + type VotingPeriod = VotingPeriod; + type MinCouncilVotes = MinCouncilVotes; + type ProposalSubmissionOrigin = EnsureSigned; + type ProposalExecutionOrigin = EnsureMember; + type ApprovedByCommitteeOrigin = GovernanceOrigin; + type Event = Event; + type WeightInfo = weights::pallet_committee::WeightInfo; +} + +impl pallet_price_feed::Config for Runtime { + type AdminOrigin = frame_system::EnsureRoot; + type SelfAssetId = PINTAssetId; + type AssetId = AssetId; + type Time = Timestamp; + type Event = Event; + type WeightInfo = weights::pallet_price_feed::WeightInfo; +} + +impl pallet_chainlink_feed::Config for Runtime { + type Event = Event; + type FeedId = FeedId; + type Value = Value; + type Currency = Balances; + type PalletId = FeedPalletId; + type MinimumReserve = MinimumReserve; + type StringLimit = StringLimit; + type OracleCountLimit = OracleLimit; + type FeedLimit = FeedLimit; + type OnAnswerHandler = PriceFeed; + type WeightInfo = (); +} + +impl pallet_asset_index::Config for Runtime { + // Using signed as the admin origin for testing now + type AdminOrigin = frame_system::EnsureSigned; + type IndexToken = Balances; + type Balance = Balance; + type LockupPeriod = LockupPeriod; + type IndexTokenLockIdentifier = IndexTokenLockIdentifier; + type MinimumRedemption = MinimumRedemption; + type WithdrawalPeriod = WithdrawalPeriod; + type DOTContributionLimit = DOTContributionLimit; + type RemoteAssetManager = RemoteAssetManager; + type AssetId = AssetId; + type SelfAssetId = PINTAssetId; + type Currency = Currencies; + type PriceFeed = PriceFeed; + #[cfg(feature = "runtime-benchmarks")] + type PriceFeedBenchmarks = PriceFeed; + type SaftRegistry = SaftRegistry; + type BaseWithdrawalFee = BaseWithdrawalFee; + type TreasuryPalletId = TreasuryPalletId; + type Event = Event; + type StringLimit = PalletIndexStringLimit; + type WeightInfo = weights::pallet_asset_index::WeightInfo; +} + +impl orml_tokens::Config for Runtime { + type Event = Event; + type Balance = Balance; + type Amount = Amount; + type CurrencyId = AssetId; + type WeightInfo = (); + type ExistentialDeposits = ExistentialDeposits; + type OnDust = orml_tokens::TransferDust; + type MaxLocks = MaxLocks; + type DustRemovalWhitelist = DustRemovalWhitelist; +} + +impl orml_currencies::Config for Runtime { + type Event = Event; + type MultiCurrency = Tokens; + type NativeCurrency = BasicCurrencyAdapter; + type GetNativeCurrencyId = PINTAssetId; + type WeightInfo = (); +} + +impl orml_xtokens::Config for Runtime { + type Event = Event; + type Balance = Balance; + type CurrencyId = AssetId; + type CurrencyIdConvert = AssetIdConvert; + type AccountIdToMultiLocation = AccountId32Convert; + type SelfLocation = SelfLocation; + type XcmExecutor = XcmExecutor; + type Weigher = FixedWeightBounds; + type BaseXcmWeight = BaseXcmWeight; +} + +impl orml_unknown_tokens::Config for Runtime { + type Event = Event; +} + +pub struct AssetIdConvert; +impl Convert> for AssetIdConvert { + fn convert(asset: AssetId) -> Option { + AssetIndex::native_asset_location(&asset) + } +} + +impl Convert> for AssetIdConvert { + fn convert(location: MultiLocation) -> Option { + match location { + MultiLocation::X1(Junction::Parent) => return Some(RelayChainAssetId::get()), + MultiLocation::X3(Junction::Parent, Junction::Parachain(id), Junction::GeneralKey(key)) + if ParaId::from(id) == ParachainInfo::parachain_id() => + { + // decode the general key + if let Ok(asset_id) = AssetId::decode(&mut &key[..]) { + // check `asset_id` is supported + if AssetIndex::is_liquid_asset(&asset_id) { + return Some(asset_id); + } + } + } + _ => {} + } + None + } +} + +impl Convert> for AssetIdConvert { + fn convert(asset: MultiAsset) -> Option { + if let MultiAsset::ConcreteFungible { ref id, amount: _ } = asset { + Self::convert(id.clone()) + } else { + None + } + } +} + +pub struct AccountId32Convert; +impl Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> [u8; 32] { + account_id.into() + } +} + +impl Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> MultiLocation { + Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() + } +} + +/// The encoder to use when transacting `pallet_proxy` calls +pub struct PalletProxyEncoder; +impl ProxyCallEncoder for PalletProxyEncoder { + type AccountIdEncoder = PassthroughEncoder; + type ProxyTypeEncoder = PassthroughEncoder; + type BlockNumberEncoder = PassthroughEncoder; +} +impl PalletCallEncoder for PalletProxyEncoder { + type Context = AssetId; + fn can_encode(_ctx: &Self::Context) -> bool { + // TODO check in `AssetRegistry` + true + } +} + +type AccountLookupSource = sp_runtime::MultiAddress; + +/// The encoder to use when transacting `pallet_staking` calls +pub struct PalletStakingEncoder; +impl StakingCallEncoder for PalletStakingEncoder { + type CompactBalanceEncoder = PassthroughCompactEncoder; + type SourceEncoder = PassthroughEncoder; + type AccountIdEncoder = PassthroughEncoder; +} + +impl PalletCallEncoder for PalletStakingEncoder { + type Context = AssetId; + fn can_encode(_ctx: &Self::Context) -> bool { + // TODO check in `AssetRegistry` + true + } +} + +impl pallet_remote_asset_manager::Config for Runtime { + type Balance = Balance; + type AssetId = AssetId; + type AssetIdConvert = AssetIdConvert; + type AccountId32Convert = AccountId32Convert; + // Encodes `pallet_staking` calls before transaction them to other chains + type PalletStakingCallEncoder = PalletStakingEncoder; + // Encodes `pallet_proxy` calls before transaction them to other chains + type PalletProxyCallEncoder = PalletProxyEncoder; + type MinimumStatemintTransferAmount = MinimumStatemintTransferAmount; + type SelfAssetId = PINTAssetId; + type SelfLocation = SelfLocation; + type SelfParaId = parachain_info::Pallet; + type RelayChainAssetId = RelayChainAssetId; + type StakingThreshold = (MinimumRemoteReserveBalance, MinimumBondExtra); + type Assets = Currencies; + type XcmExecutor = XcmExecutor; + type XcmAssetTransfer = XTokens; + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureSigned; + type XcmSender = XcmRouter; + type Event = Event; + type AssetRegistry = AssetIndex; + type WeightInfo = weights::pallet_remote_asset_manager::WeightInfo; +} + +// Create the runtime by composing the FRAME pallets that were previously +// configured. +construct_runtime!( + pub enum Runtime where + Block = Block, + NodeBlock = opaque::Block, + UncheckedExtrinsic = UncheckedExtrinsic, + { + System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, + Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, + Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 2, + TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 3, + Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 4, + + // Parachain + ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Config, Event} = 20, + ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, + + // Collator. The order of the 4 below are important and shall not change. + Authorship: pallet_authorship::{Pallet, Call, Storage} = 40, + CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 41, + Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 42, + Aura: pallet_aura::{Pallet, Config} = 43, + AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 44, + + // ORML related pallets + Tokens: orml_tokens::{Pallet, Storage, Call, Event, Config} = 60, + Currencies: orml_currencies::{Pallet, Call, Event} = 61, + XTokens: orml_xtokens::{Pallet, Storage, Call, Event} = 62, + UnknownTokens: orml_unknown_tokens::{Pallet, Storage, Event} = 63, + + // PINT pallets + AssetIndex: pallet_asset_index::{Pallet, Call, Storage, Event} = 80, + Committee: pallet_committee::{Pallet, Call, Storage, Origin, Event, Config} = 81, + LocalTreasury: pallet_local_treasury::{Pallet, Call, Storage, Event} = 82, + SaftRegistry: pallet_saft_registry::{Pallet, Call, Storage, Event} = 83, + RemoteAssetManager: pallet_remote_asset_manager::{Pallet, Call, Storage, Event, Config} = 84, + PriceFeed: pallet_price_feed::{Pallet, Call, Storage, Event} = 85, + ChainlinkFeed: pallet_chainlink_feed::{Pallet, Call, Storage, Event, Config} = 86, + + // XCM + XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 100, + DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 101, + PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin} = 102, + CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 103 + } +); + +/// The address format for describing accounts. +pub type Address = sp_runtime::MultiAddress; +/// Block header type as expected by this runtime. +pub type Header = generic::Header; +/// Block type as expected by this runtime. +pub type Block = generic::Block; +/// A Block signed with a Justification +pub type SignedBlock = generic::SignedBlock; +/// BlockId type as expected by this runtime. +pub type BlockId = generic::BlockId; +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + frame_system::CheckSpecVersion, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, + pallet_transaction_payment::ChargeTransactionPayment, +); +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +/// Extrinsic type that has already been checked. +pub type CheckedExtrinsic = generic::CheckedExtrinsic; +/// Executive: handles dispatch to the various pallets. +pub type Executive = + frame_executive::Executive, Runtime, AllPallets, ()>; + +impl_runtime_apis! { + impl sp_api::Core for Runtime { + fn version() -> RuntimeVersion { + VERSION + } + + fn execute_block(block: Block) { + Executive::execute_block(block) + } + + fn initialize_block(header: &::Header) { + Executive::initialize_block(header) + } + } + + impl sp_api::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + Runtime::metadata().into() + } + } + + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + + fn finalize_block() -> ::Header { + Executive::finalize_block() + } + + fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { + data.create_extrinsics() + } + + fn check_inherents( + block: Block, + data: sp_inherents::InherentData, + ) -> sp_inherents::CheckInherentsResult { + data.check_extrinsics(&block) + } + } + + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + block_hash: ::Hash, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx, block_hash) + } + } + + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } + } + + impl sp_session::SessionKeys for Runtime { + fn generate_session_keys(seed: Option>) -> Vec { + opaque::SessionKeys::generate(seed) + } + + fn decode_session_keys( + encoded: Vec, + ) -> Option, KeyTypeId)>> { + opaque::SessionKeys::decode_into_raw_public_keys(&encoded) + } + } + + impl sp_consensus_aura::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) + } + + fn authorities() -> Vec { + Aura::authorities() + } + } + + impl cumulus_primitives_core::CollectCollationInfo for Runtime { + fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { + ParachainSystem::collect_collation_info() + } + } + + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { + fn account_nonce(account: AccountId) -> Index { + System::account_nonce(account) + } + } + + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { + fn query_info( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { + TransactionPayment::query_info(uxt, len) + } + fn query_fee_details( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_fee_details(uxt, len) + } + } + + impl pallet_asset_index_rpc_runtime_api::AssetIndexApi< + Block, + AccountId, + AssetId, + Balance, + > for Runtime { + fn get_nav() -> primitives::Ratio { + use primitives::traits::NavProvider; + AssetIndex::nav().unwrap_or_default() + } + } + + #[cfg(feature = "runtime-benchmarks")] + impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(_extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking::BenchmarkList; + use frame_support::traits::StorageInfoTrait; + + let list = Vec::::new(); + + let storage_info = AllPalletsWithSystem::storage_info(); + return (list, storage_info) + } + + fn dispatch_benchmark( + config: frame_benchmarking::BenchmarkConfig + ) -> Result, sp_runtime::RuntimeString> { + use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; + + use frame_system_benchmarking::Pallet as SystemBench; + impl frame_system_benchmarking::Config for Runtime {} + + let whitelist: Vec = vec![ + // Block Number + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), + // Total Issuance + hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), + // Execution Phase + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), + // Event Count + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), + // System Events + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), + ]; + + let mut batches = Vec::::new(); + let params = (&config, &whitelist); + + add_benchmark!(params, batches, frame_system, SystemBench::); + add_benchmark!(params, batches, pallet_balances, Balances); + add_benchmark!(params, batches, pallet_timestamp, Timestamp); + add_benchmark!(params, batches, pallet_asset_index, AssetIndex); + add_benchmark!(params, batches, pallet_committee, Committee); + add_benchmark!(params, batches, pallet_local_treasury, LocalTreasury); + add_benchmark!(params, batches, pallet_price_feed, PriceFeed); + // add_benchmark!(params, batches, pallet_remote_asset_manager, RemoteAssetManager); + add_benchmark!(params, batches, pallet_saft_registry, SaftRegistry); + + if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } + Ok(batches) + } + } +} + +struct CheckInherents; + +impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { + fn check_inherents( + block: &Block, + relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, + ) -> sp_inherents::CheckInherentsResult { + let relay_chain_slot = + relay_state_proof.read_slot().expect("Could not read the relay chain slot from the proof"); + + let inherent_data = cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( + relay_chain_slot, + sp_std::time::Duration::from_secs(6), + ) + .create_inherent_data() + .expect("Could not create the timestamp inherent data"); + + inherent_data.check_extrinsics(block) + } +} + +cumulus_pallet_parachain_system::register_validate_block!( + Runtime = Runtime, + BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, + CheckInherents = CheckInherents, +); diff --git a/runtime/kusama/Cargo.toml b/runtime/kusama/Cargo.toml new file mode 100644 index 0000000000..56acf498ae --- /dev/null +++ b/runtime/kusama/Cargo.toml @@ -0,0 +1,194 @@ +[package] +authors = ['ChainSafe Systems'] +edition = '2018' +homepage = 'https://substrate.dev' +license = 'LGPL-3.0-only' +name = 'pint-runtime-kusama' +repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' + +version = '2.0.0' +[package.metadata.docs.rs] +targets = ['x86_64-unknown-linux-gnu'] + +[build-dependencies] +substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +[dependencies] +codec = { package = 'parity-scale-codec', version = '2.2.0', default-features = false, features = ['derive', 'max-encoded-len']} +log = { version = '0.4.14', default-features = false } +serde = { version = '1.0.119', optional = true, features = ['derive'] } +hex-literal = { version = '0.3.1', optional = true } + +# Substrate Dependencies +## Substrate Primitive Dependencies +sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +sp-version = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +## Substrate FRAME Dependencies +frame-executive = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +## Substrate Pallet Dependencies +pallet-aura = { git = 'https://github.com/paritytech/substrate', default-features = false, branch = 'polkadot-v0.9.9' } +pallet-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false} +pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-collective = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9", default-features = false } +pallet-randomness-collective-flip = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, features = ['historical'] } +pallet-sudo = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +# Cumulus Dependencies +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9", default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } + +# Polkadot Dependencies +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } + +# ORML Dependencies +orml-currencies = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-unknown-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } + +# PINT dependencies +pint-runtime-common = {path = '../common', default-features = false } +pallet-committee = {path = '../../pallets/committee', default-features = false } +pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } +pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } +pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } +pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } +pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } +primitives = { path = '../../primitives/primitives', default-features = false } +xcm-calls = {path = '../../primitives/xcm-calls', default-features = false } +pallet-asset-index-rpc-runtime-api = { path = '../../pallets/asset-index/rpc/runtime-api', default-features = false } + +pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } + +[dev-dependencies] +hex-literal = '0.3.1' +hex = '0.4.3' + +[features] +default = ['std'] +runtime-benchmarks = [ + 'hex-literal', + 'sp-runtime/runtime-benchmarks', + 'frame-benchmarking', + 'frame-support/runtime-benchmarks', + 'frame-system-benchmarking', + 'frame-system/runtime-benchmarks', + 'xcm-builder/runtime-benchmarks', + 'pallet-collator-selection/runtime-benchmarks', + 'pallet-balances/runtime-benchmarks', + 'pallet-timestamp/runtime-benchmarks', + + 'pallet-asset-index/runtime-benchmarks', + 'pallet-price-feed/runtime-benchmarks', + 'pallet-local-treasury/runtime-benchmarks', + 'pallet-balances/runtime-benchmarks', + 'pallet-timestamp/runtime-benchmarks', + 'pallet-committee/runtime-benchmarks', + 'pallet-xcm/runtime-benchmarks', + 'pallet-saft-registry/runtime-benchmarks', + 'pallet-remote-asset-manager/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', + + 'orml-tokens/runtime-benchmarks' +] +std = [ + 'codec/std', + 'serde', + 'log/std', + + 'frame-support/std', + 'frame-executive/std', + 'frame-system/std', + 'frame-try-runtime/std', + + 'sp-api/std', + 'sp-std/std', + 'sp-io/std', + 'sp-consensus-aura/std', + 'sp-core/std', + 'sp-runtime/std', + 'sp-version/std', + 'sp-offchain/std', + 'sp-session/std', + 'sp-block-builder/std', + 'sp-transaction-pool/std', + 'sp-inherents/std', + 'pallet-aura/std', + 'pallet-authorship/std', + 'pallet-balances/std', + 'pallet-collective/std', + 'pallet-randomness-collective-flip/std', + 'pallet-timestamp/std', + 'pallet-sudo/std', + 'pallet-session/std', + 'pallet-transaction-payment/std', + 'primitives/std', + 'pallet-asset-index-rpc-runtime-api/std', + + 'parachain-info/std', + 'cumulus-pallet-aura-ext/std', + 'cumulus-pallet-parachain-system/std', + 'cumulus-pallet-xcmp-queue/std', + 'cumulus-pallet-xcm/std', + 'cumulus-primitives-core/std', + 'cumulus-primitives-utility/std', + 'cumulus-primitives-timestamp/std', + + 'xcm/std', + 'xcm-builder/std', + 'xcm-executor/std', + + 'pint-runtime-common/std', + 'pallet-asset-index/std', + "pallet-collator-selection/std", + 'pallet-committee/std', + 'pallet-local-treasury/std', + 'pallet-price-feed/std', + 'pallet-remote-asset-manager/std', + 'pallet-saft-registry/std', + 'pallet-chainlink-feed/std', + 'xcm-calls/std', + + 'orml-currencies/std', + 'orml-unknown-tokens/std', + 'orml-tokens/std', + 'orml-xtokens/std', + 'orml-xcm-support/std', + 'orml-traits/std', +] diff --git a/runtime/kusama/build.rs b/runtime/kusama/build.rs new file mode 100644 index 0000000000..4a18e19492 --- /dev/null +++ b/runtime/kusama/build.rs @@ -0,0 +1,8 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use substrate_wasm_builder::WasmBuilder; + +fn main() { + WasmBuilder::new().with_current_project().export_heap_base().import_memory().build() +} diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs new file mode 100644 index 0000000000..86af752a4d --- /dev/null +++ b/runtime/kusama/src/lib.rs @@ -0,0 +1,900 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +#![cfg_attr(not(feature = "std"), no_std)] +// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. +#![recursion_limit = "256"] +// Required as construct_runtime! produces code that violates this lint +#![allow(clippy::from_over_into)] + +// A few exports that help ease life for downstream crates. +use codec::Decode; +// Polkadot imports +use cumulus_primitives_core::ParaId; +pub use frame_support::{ + construct_runtime, match_type, ord_parameter_types, parameter_types, + traits::{IsInVec, Randomness}, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + DispatchClass, IdentityFee, Weight, + }, + PalletId, StorageValue, +}; +use frame_system::EnsureSigned; + +// orml imports +use orml_currencies::BasicCurrencyAdapter; +use orml_xcm_support::{IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_timestamp::Call as TimestampCall; +use pallet_xcm::XcmPassthrough; +use polkadot_parachain::primitives::Sibling; +use sp_api::impl_runtime_apis; +pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +use sp_runtime::{ + create_runtime_str, generic, impl_opaque_keys, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, Convert}, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, +}; +pub use sp_runtime::{Perbill, Permill, Perquintill}; +use sp_std::prelude::*; +#[cfg(feature = "std")] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; +use xcm::v0::{BodyId, Junction, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId}; +use xcm_builder::{ + AccountId32Aliases, AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedRateOfConcreteFungible, + FixedWeightBounds, LocationInverter, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, + SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, + TakeRevenue, TakeWeightCredit, +}; +use xcm_executor::XcmExecutor; + +use frame_support::traits::Everything; +use pallet_committee::EnsureMember; +pub use pint_runtime_common::{constants::*, types::GovernanceOrigin, weights}; +use primitives::traits::MultiAssetRegistry; +pub use primitives::*; +use xcm_calls::{ + proxy::{ProxyCallEncoder, ProxyType}, + staking::StakingCallEncoder, + PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, +}; + +// Make the WASM binary available. +#[cfg(feature = "std")] +include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); + +/// Opaque types. These are used by the CLI to instantiate machinery that don't +/// need to know the specifics of the runtime. They can then be made to be +/// agnostic over specific formats of data like extrinsics, allowing for them to +/// continue syncing the network through upgrades to even the core data +/// structures. +pub mod opaque { + pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; + + use super::*; + + /// Opaque block type. + pub type Block = generic::Block; + + pub type SessionHandlers = (); + + impl_opaque_keys! { + pub struct SessionKeys { + pub aura: Aura, + } + } +} + +pub const VERSION: RuntimeVersion = RuntimeVersion { + spec_name: create_runtime_str!("pint-parachain"), + impl_name: create_runtime_str!("pint-parachain"), + authoring_version: 1, + spec_version: 1, + impl_version: 1, + apis: RUNTIME_API_VERSIONS, + transaction_version: 1, +}; + +/// The version information used to identify this runtime when compiled +/// natively. +#[cfg(feature = "std")] +pub fn native_version() -> NativeVersion { + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } +} + +parameter_types! { + pub Ancestry: MultiLocation = Junction::Parachain( + ParachainInfo::parachain_id().into() + ).into(); + pub const RelayNetwork: NetworkId = NetworkId::Kusama; + pub SelfLocation: MultiLocation = MultiLocation::X2(Junction::Parent, Junction::Parachain(ParachainInfo::parachain_id().into())); + pub const Version: RuntimeVersion = VERSION; + pub const ProposalSubmissionPeriod: BlockNumber = 10; + pub const VotingPeriod: BlockNumber = 10; +} + +// Configure FRAME pallets to include in runtime. + +impl frame_system::Config for Runtime { + /// The basic call filter to use in dispatchable. + type BaseCallFilter = Everything; + /// Block & extrinsics weights: base values and limits. + type BlockWeights = RuntimeBlockWeights; + /// The maximum length of a block (in bytes). + type BlockLength = RuntimeBlockLength; + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + /// The aggregated dispatch type that is available for extrinsics. + type Call = Call; + /// The lookup mechanism to get account ID from whatever is passed in + /// dispatchers. + type Lookup = AccountIdLookup; + /// The index type for storing how many extrinsics an account has signed. + type Index = Index; + /// The index type for blocks. + type BlockNumber = BlockNumber; + /// The type for hashing blocks and tries. + type Hash = Hash; + /// The hashing algorithm used. + type Hashing = BlakeTwo256; + /// The header type. + type Header = generic::Header; + /// The ubiquitous event type. + type Event = Event; + /// The ubiquitous origin type. + type Origin = Origin; + /// Maximum number of block number to block hash mappings to keep (oldest + /// pruned first). + type BlockHashCount = BlockHashCount; + /// The weight of database operations that the runtime can invoke. + type DbWeight = RocksDbWeight; + /// Version of the runtime. + type Version = Version; + /// Converts a pallet to the index of the pallet in `construct_runtime!`. + /// + /// This type is being generated by `construct_runtime!`. + type PalletInfo = PalletInfo; + /// What to do if a new account is created. + type OnNewAccount = (); + /// What to do if an account is fully reaped from the system. + type OnKilledAccount = (); + /// The data to be stored in an account. + type AccountData = pallet_balances::AccountData; + /// Weight information for the extrinsics of this pallet. + type SystemWeightInfo = (); + /// This is used as an identifier of the chain. 42 is the generic substrate + /// prefix. + type SS58Prefix = SS58Prefix; + /// The set code logic of the parachain. + type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; +} + +impl pallet_timestamp::Config for Runtime { + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = (); + type MinimumPeriod = MinimumPeriod; + type WeightInfo = (); +} + +impl pallet_balances::Config for Runtime { + type MaxLocks = MaxLocks; + /// The type for recording an account's balance. + type Balance = Balance; + /// The ubiquitous event type. + type Event = Event; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type WeightInfo = pallet_balances::weights::SubstrateWeight; +} + +impl pallet_transaction_payment::Config for Runtime { + type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; + type TransactionByteFee = TransactionByteFee; + type WeightToFee = IdentityFee; + type FeeMultiplierUpdate = (); +} + +impl pallet_sudo::Config for Runtime { + type Event = Event; + type Call = Call; +} + +impl cumulus_pallet_parachain_system::Config for Runtime { + type Event = Event; + type OnValidationData = (); + type SelfParaId = parachain_info::Pallet; + type OutboundXcmpMessageSource = XcmpQueue; + type DmpMessageHandler = DmpQueue; + type ReservedDmpWeight = ReservedDmpWeight; + type XcmpMessageHandler = XcmpQueue; + type ReservedXcmpWeight = ReservedXcmpWeight; +} + +impl parachain_info::Config for Runtime {} + +impl cumulus_pallet_aura_ext::Config for Runtime {} + +/// Type for specifying how a `MultiLocation` can be converted into an +/// `AccountId`. This is used when determining ownership of accounts for asset +/// transacting and when attempting to use XCM `Transact` in order to determine +/// the dispatch Origin. +pub type LocationToAccountId = ( + // The parent (Relay-chain) origin converts to the default `AccountId`. + ParentIsDefault, + // Sibling parachain origins convert to AccountId via the `ParaId::into`. + SiblingParachainConvertsVia, + // Straight up local `AccountId32` origins just alias directly to `AccountId`. + AccountId32Aliases, +); + +/// Means for transacting assets on this chain. +pub type LocalAssetTransactor = MultiCurrencyAdapter< + // Use this multicurrency for asset balances + Currencies, + // handle in event of unknown tokens + UnknownTokens, + // Convert + IsNativeConcrete, + AccountId, + LocationToAccountId, + AssetId, + AssetIdConvert, +>; + +/// This is the type we use to convert an (incoming) XCM origin into a local +/// `Origin` instance, ready for dispatching a transaction with Xcm's +/// `Transact`. There is an `OriginKind` which can biases the kind of local +/// `Origin` it will become. +pub type XcmOriginToTransactDispatchOrigin = ( + // Sovereign account converter; this attempts to derive an `AccountId` from the origin location + // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for + // foreign chains who want to have a local sovereign account on this chain which they control. + SovereignSignedViaLocation, + // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when + // recognised. + RelayChainAsNative, + // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when + // recognised. + SiblingParachainAsNative, + // Native signed account converter; this just converts an `AccountId32` origin into a normal + // `Origin::Signed` origin of the same 32-byte value. + SignedAccountId32AsNative, + // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. + XcmPassthrough, +); + +match_type! { + pub type ParentOrParentsUnitPlurality: impl Contains = { + X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. }) + }; +} + +pub type Barrier = (TakeWeightCredit, AllowTopLevelPaidExecutionFrom); + +pub struct ToTreasury; +impl TakeRevenue for ToTreasury { + fn take_revenue(revenue: MultiAsset) { + use orml_traits::currency::MultiCurrency; + if let MultiAsset::ConcreteFungible { id, amount } = revenue { + if let Some(asset_id) = AssetIdConvert::convert(id) { + // ensure PINT Treasury account have ed for all of the cross-chain asset. + // Ignore the result. + let _ = Currencies::deposit(asset_id, &PintTreasuryAccount::get(), amount); + } + } + } +} + +pub struct XcmConfig; +impl xcm_executor::Config for XcmConfig { + type Call = Call; + type XcmSender = XcmRouter; + // How to withdraw and deposit an asset. + type AssetTransactor = LocalAssetTransactor; + type OriginConverter = XcmOriginToTransactDispatchOrigin; + type IsReserve = MultiNativeAsset; + type IsTeleporter = (); + type LocationInverter = LocationInverter; + type Barrier = Barrier; + type Weigher = FixedWeightBounds; + type Trader = FixedRateOfConcreteFungible; + type ResponseHandler = (); // Don't handle responses for now. +} + +pub type LocalOriginToLocation = SignedToAccountId32; + +/// The means for routing XCM messages which are not for local execution into +/// the right message queues. +pub type XcmRouter = ( + // Two routers - use UMP to communicate with the relay chain: + cumulus_primitives_utility::ParentAsUmp, + // ..and XCMP to communicate with the sibling chains. + XcmpQueue, +); + +impl pallet_xcm::Config for Runtime { + type Event = Event; + type SendXcmOrigin = EnsureXcmOrigin; + type XcmRouter = XcmRouter; + type ExecuteXcmOrigin = EnsureXcmOrigin; + type XcmExecuteFilter = Everything; + type XcmExecutor = XcmExecutor; + type XcmTeleportFilter = (); + type XcmReserveTransferFilter = Everything; + type Weigher = FixedWeightBounds; + type LocationInverter = LocationInverter; +} + +impl cumulus_pallet_xcm::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; +} + +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type ChannelInfo = ParachainSystem; +} + +impl cumulus_pallet_dmp_queue::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type ExecuteOverweightOrigin = frame_system::EnsureRoot; +} + +impl pallet_aura::Config for Runtime { + type AuthorityId = AuraId; + type DisabledValidators = (); +} + +impl pallet_authorship::Config for Runtime { + type FindAuthor = pallet_session::FindAccountFromAuthorIndex; + type UncleGenerations = UncleGenerations; + type FilterUncle = (); + type EventHandler = CollatorSelection; +} + +impl pallet_session::Config for Runtime { + type Event = Event; + type ValidatorId = ::AccountId; + // we don't have stash and controller, thus we don't need the convert as well. + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ShouldEndSession = pallet_session::PeriodicSessions; + type NextSessionRotation = pallet_session::PeriodicSessions; + type SessionManager = CollatorSelection; + // Essentially just Aura, but lets be pedantic. + type SessionHandler = ::KeyTypeIdProviders; + type Keys = opaque::SessionKeys; + type DisabledValidatorsThreshold = DisabledValidatorsThreshold; + type WeightInfo = (); +} + +impl pallet_collator_selection::Config for Runtime { + type Event = Event; + type Currency = Balances; + type UpdateOrigin = GovernanceOrigin; + type PotId = PotId; + type MaxCandidates = MaxCandidates; + type MinCandidates = MinCandidates; + type MaxInvulnerables = MaxInvulnerables; + // should be a multiple of session or things will get inconsistent + type KickThreshold = Period; + type ValidatorId = ::AccountId; + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ValidatorRegistration = Session; + type WeightInfo = (); +} + +impl pallet_local_treasury::Config for Runtime { + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureRoot; + type PalletId = TreasuryPalletId; + type Currency = Balances; + type Event = Event; + type WeightInfo = weights::pallet_local_treasury::WeightInfo; +} + +impl pallet_saft_registry::Config for Runtime { + type AdminOrigin = GovernanceOrigin; + type AssetRecorder = AssetIndex; + type Balance = Balance; + type AssetId = AssetId; + type Event = Event; + type WeightInfo = weights::pallet_saft_registry::WeightInfo; +} + +impl pallet_committee::Config for Runtime { + type Origin = Origin; + type Action = Call; + type ProposalNonce = u32; + type ProposalSubmissionPeriod = ProposalSubmissionPeriod; + type VotingPeriod = VotingPeriod; + type MinCouncilVotes = MinCouncilVotes; + type ProposalExecutionOrigin = EnsureMember; + type ProposalSubmissionOrigin = EnsureSigned; + type ApprovedByCommitteeOrigin = GovernanceOrigin; + type Event = Event; + type WeightInfo = weights::pallet_committee::WeightInfo; +} + +impl pallet_price_feed::Config for Runtime { + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureRoot; + type SelfAssetId = PINTAssetId; + type AssetId = AssetId; + type Time = Timestamp; + type Event = Event; + type WeightInfo = weights::pallet_price_feed::WeightInfo; +} + +impl pallet_chainlink_feed::Config for Runtime { + type Event = Event; + type FeedId = FeedId; + type Value = Value; + type Currency = Balances; + type PalletId = FeedPalletId; + type MinimumReserve = MinimumReserve; + type StringLimit = StringLimit; + type OracleCountLimit = OracleLimit; + type FeedLimit = FeedLimit; + type OnAnswerHandler = PriceFeed; + type WeightInfo = (); +} + +impl pallet_asset_index::Config for Runtime { + // Using signed as the admin origin for testing now + type AdminOrigin = frame_system::EnsureSigned; + type IndexToken = Balances; + type Balance = Balance; + type LockupPeriod = LockupPeriod; + type IndexTokenLockIdentifier = IndexTokenLockIdentifier; + type MinimumRedemption = MinimumRedemption; + type WithdrawalPeriod = WithdrawalPeriod; + type DOTContributionLimit = DOTContributionLimit; + type RemoteAssetManager = RemoteAssetManager; + type AssetId = AssetId; + type SelfAssetId = PINTAssetId; + type Currency = Currencies; + type PriceFeed = PriceFeed; + #[cfg(feature = "runtime-benchmarks")] + type PriceFeedBenchmarks = PriceFeed; + type SaftRegistry = SaftRegistry; + type BaseWithdrawalFee = BaseWithdrawalFee; + type TreasuryPalletId = TreasuryPalletId; + type Event = Event; + type StringLimit = PalletIndexStringLimit; + type WeightInfo = weights::pallet_asset_index::WeightInfo; +} + +impl orml_tokens::Config for Runtime { + type Event = Event; + type Balance = Balance; + type Amount = Amount; + type CurrencyId = AssetId; + type WeightInfo = (); + type ExistentialDeposits = ExistentialDeposits; + type OnDust = orml_tokens::TransferDust; + type MaxLocks = MaxLocks; + type DustRemovalWhitelist = DustRemovalWhitelist; +} + +impl orml_currencies::Config for Runtime { + type Event = Event; + type MultiCurrency = Tokens; + type NativeCurrency = BasicCurrencyAdapter; + type GetNativeCurrencyId = PINTAssetId; + type WeightInfo = (); +} + +impl orml_xtokens::Config for Runtime { + type Event = Event; + type Balance = Balance; + type CurrencyId = AssetId; + type CurrencyIdConvert = AssetIdConvert; + type AccountIdToMultiLocation = AccountId32Convert; + type SelfLocation = SelfLocation; + type XcmExecutor = XcmExecutor; + type Weigher = FixedWeightBounds; + type BaseXcmWeight = BaseXcmWeight; +} + +impl orml_unknown_tokens::Config for Runtime { + type Event = Event; +} + +pub struct AssetIdConvert; +impl Convert> for AssetIdConvert { + fn convert(asset: AssetId) -> Option { + AssetIndex::native_asset_location(&asset) + } +} + +impl Convert> for AssetIdConvert { + fn convert(location: MultiLocation) -> Option { + match location { + MultiLocation::X1(Junction::Parent) => return Some(RelayChainAssetId::get()), + MultiLocation::X3(Junction::Parent, Junction::Parachain(id), Junction::GeneralKey(key)) + if ParaId::from(id) == ParachainInfo::parachain_id() => + { + // decode the general key + if let Ok(asset_id) = AssetId::decode(&mut &key[..]) { + // check `asset_id` is supported + if AssetIndex::is_liquid_asset(&asset_id) { + return Some(asset_id); + } + } + } + _ => {} + } + None + } +} + +impl Convert> for AssetIdConvert { + fn convert(asset: MultiAsset) -> Option { + if let MultiAsset::ConcreteFungible { ref id, amount: _ } = asset { + Self::convert(id.clone()) + } else { + None + } + } +} + +pub struct AccountId32Convert; +impl Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> [u8; 32] { + account_id.into() + } +} + +impl Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> MultiLocation { + Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() + } +} + +/// The encoder to use when transacting `pallet_proxy` calls +pub struct PalletProxyEncoder; +impl ProxyCallEncoder for PalletProxyEncoder { + type AccountIdEncoder = PassthroughEncoder; + type ProxyTypeEncoder = PassthroughEncoder; + type BlockNumberEncoder = PassthroughEncoder; +} +impl PalletCallEncoder for PalletProxyEncoder { + type Context = AssetId; + fn can_encode(_ctx: &Self::Context) -> bool { + // TODO check in `AssetRegistry` + true + } +} + +type AccountLookupSource = sp_runtime::MultiAddress; + +/// The encoder to use when transacting `pallet_staking` calls +pub struct PalletStakingEncoder; +impl StakingCallEncoder for PalletStakingEncoder { + type CompactBalanceEncoder = PassthroughCompactEncoder; + type SourceEncoder = PassthroughEncoder; + type AccountIdEncoder = PassthroughEncoder; +} + +impl PalletCallEncoder for PalletStakingEncoder { + type Context = AssetId; + fn can_encode(_ctx: &Self::Context) -> bool { + // TODO check in `AssetRegistry` + true + } +} + +impl pallet_remote_asset_manager::Config for Runtime { + type Balance = Balance; + type AssetId = AssetId; + type AssetIdConvert = AssetIdConvert; + type AccountId32Convert = AccountId32Convert; + // Encodes `pallet_staking` calls before transaction them to other chains + type PalletStakingCallEncoder = PalletStakingEncoder; + // Encodes `pallet_proxy` calls before transaction them to other chains + type PalletProxyCallEncoder = PalletProxyEncoder; + type MinimumStatemintTransferAmount = MinimumStatemintTransferAmount; + type SelfAssetId = PINTAssetId; + type SelfLocation = SelfLocation; + type SelfParaId = parachain_info::Pallet; + type RelayChainAssetId = RelayChainAssetId; + type StakingThreshold = (MinimumRemoteReserveBalance, MinimumBondExtra); + type Assets = Currencies; + type XcmExecutor = XcmExecutor; + type XcmAssetTransfer = XTokens; + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureSigned; + type XcmSender = XcmRouter; + type Event = Event; + type AssetRegistry = AssetIndex; + type WeightInfo = weights::pallet_remote_asset_manager::WeightInfo; +} + +// Create the runtime by composing the FRAME pallets that were previously +// configured. +construct_runtime!( + pub enum Runtime where + Block = Block, + NodeBlock = opaque::Block, + UncheckedExtrinsic = UncheckedExtrinsic, + { + System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, + Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, + Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 2, + TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 3, + Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 4, + + // Parachain + ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Config, Event} = 20, + ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, + + // Collator. The order of the 4 below are important and shall not change. + Authorship: pallet_authorship::{Pallet, Call, Storage} = 40, + CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 41, + Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 42, + Aura: pallet_aura::{Pallet, Config} = 43, + AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 44, + + // ORML related pallets + Tokens: orml_tokens::{Pallet, Storage, Call, Event, Config} = 60, + Currencies: orml_currencies::{Pallet, Call, Event} = 61, + XTokens: orml_xtokens::{Pallet, Storage, Call, Event} = 62, + UnknownTokens: orml_unknown_tokens::{Pallet, Storage, Event} = 63, + + // PINT pallets + AssetIndex: pallet_asset_index::{Pallet, Call, Storage, Event} = 80, + Committee: pallet_committee::{Pallet, Call, Storage, Origin, Event, Config} = 81, + LocalTreasury: pallet_local_treasury::{Pallet, Call, Storage, Event} = 82, + SaftRegistry: pallet_saft_registry::{Pallet, Call, Storage, Event} = 83, + RemoteAssetManager: pallet_remote_asset_manager::{Pallet, Call, Storage, Event, Config} = 84, + PriceFeed: pallet_price_feed::{Pallet, Call, Storage, Event} = 85, + ChainlinkFeed: pallet_chainlink_feed::{Pallet, Call, Storage, Event, Config} = 86, + + // XCM + XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 100, + DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 101, + PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin} = 102, + CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 103 + } +); + +/// The address format for describing accounts. +pub type Address = sp_runtime::MultiAddress; +/// Block header type as expected by this runtime. +pub type Header = generic::Header; +/// Block type as expected by this runtime. +pub type Block = generic::Block; +/// A Block signed with a Justification +pub type SignedBlock = generic::SignedBlock; +/// BlockId type as expected by this runtime. +pub type BlockId = generic::BlockId; +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + frame_system::CheckSpecVersion, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, + pallet_transaction_payment::ChargeTransactionPayment, +); +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +/// Extrinsic type that has already been checked. +pub type CheckedExtrinsic = generic::CheckedExtrinsic; +/// Executive: handles dispatch to the various pallets. +pub type Executive = + frame_executive::Executive, Runtime, AllPallets, ()>; + +impl_runtime_apis! { + impl sp_api::Core for Runtime { + fn version() -> RuntimeVersion { + VERSION + } + + fn execute_block(block: Block) { + Executive::execute_block(block) + } + + fn initialize_block(header: &::Header) { + Executive::initialize_block(header) + } + } + + impl sp_api::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + Runtime::metadata().into() + } + } + + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + + fn finalize_block() -> ::Header { + Executive::finalize_block() + } + + fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { + data.create_extrinsics() + } + + fn check_inherents( + block: Block, + data: sp_inherents::InherentData, + ) -> sp_inherents::CheckInherentsResult { + data.check_extrinsics(&block) + } + } + + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + block_hash: ::Hash, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx, block_hash) + } + } + + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } + } + + impl sp_session::SessionKeys for Runtime { + fn generate_session_keys(seed: Option>) -> Vec { + opaque::SessionKeys::generate(seed) + } + + fn decode_session_keys( + encoded: Vec, + ) -> Option, KeyTypeId)>> { + opaque::SessionKeys::decode_into_raw_public_keys(&encoded) + } + } + + impl sp_consensus_aura::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) + } + + fn authorities() -> Vec { + Aura::authorities() + } + } + + impl cumulus_primitives_core::CollectCollationInfo for Runtime { + fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { + ParachainSystem::collect_collation_info() + } + } + + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { + fn account_nonce(account: AccountId) -> Index { + System::account_nonce(account) + } + } + + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { + fn query_info( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { + TransactionPayment::query_info(uxt, len) + } + fn query_fee_details( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_fee_details(uxt, len) + } + } + + impl pallet_asset_index_rpc_runtime_api::AssetIndexApi< + Block, + AccountId, + AssetId, + Balance, + > for Runtime { + fn get_nav() -> primitives::Ratio { + use primitives::traits::NavProvider; + AssetIndex::nav().unwrap_or_default() + } + } + + #[cfg(feature = "runtime-benchmarks")] + impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(_extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking:: BenchmarkList; + use frame_support::traits::StorageInfoTrait; + + let list = Vec::::new(); + + let storage_info = AllPalletsWithSystem::storage_info(); + return (list, storage_info) + } + + fn dispatch_benchmark( + config: frame_benchmarking::BenchmarkConfig + ) -> Result, sp_runtime::RuntimeString> { + use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; + + use frame_system_benchmarking::Pallet as SystemBench; + impl frame_system_benchmarking::Config for Runtime {} + + let whitelist: Vec = vec![ + // Block Number + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), + // Total Issuance + hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), + // Execution Phase + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), + // Event Count + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), + // System Events + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), + ]; + + let mut batches = Vec::::new(); + let params = (&config, &whitelist); + + add_benchmark!(params, batches, frame_system, SystemBench::); + add_benchmark!(params, batches, pallet_balances, Balances); + add_benchmark!(params, batches, pallet_timestamp, Timestamp); + add_benchmark!(params, batches, pallet_asset_index, AssetIndex); + add_benchmark!(params, batches, pallet_committee, Committee); + add_benchmark!(params, batches, pallet_local_treasury, LocalTreasury); + add_benchmark!(params, batches, pallet_price_feed, PriceFeed); + // add_benchmark!(params, batches, pallet_remote_asset_manager, RemoteAssetManager); + add_benchmark!(params, batches, pallet_saft_registry, SaftRegistry); + + if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } + Ok(batches) + } + } +} + +struct CheckInherents; + +impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { + fn check_inherents( + block: &Block, + relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, + ) -> sp_inherents::CheckInherentsResult { + let relay_chain_slot = + relay_state_proof.read_slot().expect("Could not read the relay chain slot from the proof"); + + let inherent_data = cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( + relay_chain_slot, + sp_std::time::Duration::from_secs(6), + ) + .create_inherent_data() + .expect("Could not create the timestamp inherent data"); + + inherent_data.check_extrinsics(block) + } +} + +cumulus_pallet_parachain_system::register_validate_block!( + Runtime = Runtime, + BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, + CheckInherents = CheckInherents, +); diff --git a/runtime/polkadot/Cargo.toml b/runtime/polkadot/Cargo.toml new file mode 100644 index 0000000000..50458e8382 --- /dev/null +++ b/runtime/polkadot/Cargo.toml @@ -0,0 +1,194 @@ +[package] +authors = ['ChainSafe Systems'] +edition = '2018' +homepage = 'https://substrate.dev' +license = 'LGPL-3.0-only' +name = 'pint-runtime-polkadot' +repository = 'https://github.com/substrate-developer-hub/substrate-parachain-template' + +version = '2.0.0' +[package.metadata.docs.rs] +targets = ['x86_64-unknown-linux-gnu'] + +[build-dependencies] +substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +[dependencies] +codec = { package = 'parity-scale-codec', version = '2.2.0', default-features = false, features = ['derive', 'max-encoded-len']} +log = { version = '0.4.14', default-features = false } +serde = { version = '1.0.119', optional = true, features = ['derive'] } +hex-literal = { version = '0.3.1', optional = true } + +# Substrate Dependencies +## Substrate Primitive Dependencies +sp-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-core = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-io = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-std = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +sp-version = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +## Substrate FRAME Dependencies +frame-executive = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-system = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, optional = true } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +## Substrate Pallet Dependencies +pallet-aura = { git = 'https://github.com/paritytech/substrate', default-features = false, branch = 'polkadot-v0.9.9' } +pallet-authorship = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false} +pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-collective = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9", default-features = false } +pallet-randomness-collective-flip = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false, features = ['historical'] } +pallet-sudo = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9', default-features = false } + +# Cumulus Dependencies +pallet-collator-selection = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-aura-ext = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-parachain-system = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-dmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-xcm = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-pallet-xcmp-queue = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-core = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-utility = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9", default-features = false } +parachain-info = { git = 'https://github.com/paritytech/cumulus', branch = 'polkadot-v0.9.9', default-features = false } + +# Polkadot Dependencies +polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm-builder = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +xcm-executor = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } +pallet-xcm = { git = 'https://github.com/paritytech/polkadot', branch = 'release-v0.9.9', default-features = false } + +# ORML Dependencies +orml-currencies = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-unknown-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-tokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-xtokens = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-xcm-support = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } +orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master', default-features = false } + +# PINT dependencies +pint-runtime-common = {path = '../common', default-features = false } +pallet-committee = {path = '../../pallets/committee', default-features = false } +pallet-local-treasury = {path = '../../pallets/local-treasury', default-features = false } +pallet-asset-index = {path = '../../pallets/asset-index', default-features = false } +pallet-saft-registry = {path = '../../pallets/saft-registry', default-features = false } +pallet-price-feed = {path = '../../pallets/price-feed', default-features = false } +pallet-remote-asset-manager = { path = '../../pallets/remote-asset-manager', default-features = false } +primitives = { path = '../../primitives/primitives', default-features = false } +xcm-calls = {path = '../../primitives/xcm-calls', default-features = false } +pallet-asset-index-rpc-runtime-api = { path = '../../pallets/asset-index/rpc/runtime-api', default-features = false } + +pallet-chainlink-feed = { git = 'https://github.com/smartcontractkit/chainlink-polkadot', branch = 'polkadot-v0.9.8', default-features = false } + +[dev-dependencies] +hex-literal = '0.3.1' +hex = '0.4.3' + +[features] +default = ['std'] +runtime-benchmarks = [ + 'hex-literal', + 'sp-runtime/runtime-benchmarks', + 'frame-benchmarking', + 'frame-support/runtime-benchmarks', + 'frame-system-benchmarking', + 'frame-system/runtime-benchmarks', + 'xcm-builder/runtime-benchmarks', + 'pallet-collator-selection/runtime-benchmarks', + 'pallet-balances/runtime-benchmarks', + 'pallet-timestamp/runtime-benchmarks', + + 'pallet-asset-index/runtime-benchmarks', + 'pallet-price-feed/runtime-benchmarks', + 'pallet-local-treasury/runtime-benchmarks', + 'pallet-balances/runtime-benchmarks', + 'pallet-timestamp/runtime-benchmarks', + 'pallet-committee/runtime-benchmarks', + 'pallet-xcm/runtime-benchmarks', + 'pallet-saft-registry/runtime-benchmarks', + 'pallet-remote-asset-manager/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', + + 'orml-tokens/runtime-benchmarks' +] +std = [ + 'codec/std', + 'serde', + 'log/std', + + 'frame-support/std', + 'frame-executive/std', + 'frame-system/std', + 'frame-try-runtime/std', + + 'sp-api/std', + 'sp-std/std', + 'sp-io/std', + 'sp-consensus-aura/std', + 'sp-core/std', + 'sp-runtime/std', + 'sp-version/std', + 'sp-offchain/std', + 'sp-session/std', + 'sp-block-builder/std', + 'sp-transaction-pool/std', + 'sp-inherents/std', + 'pallet-aura/std', + 'pallet-authorship/std', + 'pallet-balances/std', + 'pallet-collective/std', + 'pallet-randomness-collective-flip/std', + 'pallet-timestamp/std', + 'pallet-sudo/std', + 'pallet-session/std', + 'pallet-transaction-payment/std', + 'primitives/std', + 'pallet-asset-index-rpc-runtime-api/std', + + 'parachain-info/std', + 'cumulus-pallet-aura-ext/std', + 'cumulus-pallet-parachain-system/std', + 'cumulus-pallet-xcmp-queue/std', + 'cumulus-pallet-xcm/std', + 'cumulus-primitives-core/std', + 'cumulus-primitives-utility/std', + 'cumulus-primitives-timestamp/std', + + 'xcm/std', + 'xcm-builder/std', + 'xcm-executor/std', + + 'pint-runtime-common/std', + 'pallet-asset-index/std', + "pallet-collator-selection/std", + 'pallet-committee/std', + 'pallet-local-treasury/std', + 'pallet-price-feed/std', + 'pallet-remote-asset-manager/std', + 'pallet-saft-registry/std', + 'pallet-chainlink-feed/std', + 'xcm-calls/std', + + 'orml-currencies/std', + 'orml-unknown-tokens/std', + 'orml-tokens/std', + 'orml-xtokens/std', + 'orml-xcm-support/std', + 'orml-traits/std', +] diff --git a/runtime/polkadot/build.rs b/runtime/polkadot/build.rs new file mode 100644 index 0000000000..4a18e19492 --- /dev/null +++ b/runtime/polkadot/build.rs @@ -0,0 +1,8 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use substrate_wasm_builder::WasmBuilder; + +fn main() { + WasmBuilder::new().with_current_project().export_heap_base().import_memory().build() +} diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs new file mode 100644 index 0000000000..53c1fa6f38 --- /dev/null +++ b/runtime/polkadot/src/lib.rs @@ -0,0 +1,901 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +#![cfg_attr(not(feature = "std"), no_std)] +// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. +#![recursion_limit = "256"] +// Required as construct_runtime! produces code that violates this lint +#![allow(clippy::from_over_into)] + +// A few exports that help ease life for downstream crates. +use codec::Decode; +// Polkadot imports +use cumulus_primitives_core::ParaId; +pub use frame_support::{ + construct_runtime, match_type, ord_parameter_types, parameter_types, + traits::{IsInVec, Randomness}, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + DispatchClass, IdentityFee, Weight, + }, + PalletId, StorageValue, +}; +use frame_system::EnsureSigned; + +// orml imports +use orml_currencies::BasicCurrencyAdapter; +use orml_xcm_support::{IsNativeConcrete, MultiCurrencyAdapter, MultiNativeAsset}; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_timestamp::Call as TimestampCall; +use pallet_xcm::XcmPassthrough; +use polkadot_parachain::primitives::Sibling; +use sp_api::impl_runtime_apis; +pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +use sp_runtime::{ + create_runtime_str, generic, impl_opaque_keys, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, Convert}, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, +}; +pub use sp_runtime::{Perbill, Permill, Perquintill}; +use sp_std::prelude::*; +#[cfg(feature = "std")] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; +use xcm::v0::{BodyId, Junction, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId}; +use xcm_builder::{ + AccountId32Aliases, AllowTopLevelPaidExecutionFrom, EnsureXcmOrigin, FixedRateOfConcreteFungible, + FixedWeightBounds, LocationInverter, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, + SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, + TakeRevenue, TakeWeightCredit, +}; +use xcm_executor::XcmExecutor; + +use frame_support::traits::Everything; +use pallet_committee::EnsureMember; +pub use pint_runtime_common::{constants::*, types::GovernanceOrigin, weights}; +use primitives::traits::MultiAssetRegistry; +pub use primitives::*; +use xcm_calls::{ + proxy::{ProxyCallEncoder, ProxyType}, + staking::StakingCallEncoder, + PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, +}; + +// Make the WASM binary available. +#[cfg(feature = "std")] +include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); + +/// Opaque types. These are used by the CLI to instantiate machinery that don't +/// need to know the specifics of the runtime. They can then be made to be +/// agnostic over specific formats of data like extrinsics, allowing for them to +/// continue syncing the network through upgrades to even the core data +/// structures. +pub mod opaque { + pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; + + use super::*; + + /// Opaque block type. + pub type Block = generic::Block; + + pub type SessionHandlers = (); + + impl_opaque_keys! { + pub struct SessionKeys { + pub aura: Aura, + } + } +} + +pub const VERSION: RuntimeVersion = RuntimeVersion { + spec_name: create_runtime_str!("pint-parachain"), + impl_name: create_runtime_str!("pint-parachain"), + authoring_version: 1, + spec_version: 1, + impl_version: 1, + apis: RUNTIME_API_VERSIONS, + transaction_version: 1, +}; + +/// The version information used to identify this runtime when compiled +/// natively. +#[cfg(feature = "std")] +pub fn native_version() -> NativeVersion { + NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } +} + +parameter_types! { + // network + pub Ancestry: MultiLocation = Junction::Parachain( + ParachainInfo::parachain_id().into() + ).into(); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub SelfLocation: MultiLocation = MultiLocation::X2(Junction::Parent, Junction::Parachain(ParachainInfo::parachain_id().into())); + pub const Version: RuntimeVersion = VERSION; + // pallet-committee + pub const ProposalSubmissionPeriod: BlockNumber = 10; + pub const VotingPeriod: BlockNumber = 10; +} + +// Configure FRAME pallets to include in runtime. + +impl frame_system::Config for Runtime { + /// The basic call filter to use in dispatchable. + type BaseCallFilter = Everything; + /// Block & extrinsics weights: base values and limits. + type BlockWeights = RuntimeBlockWeights; + /// The maximum length of a block (in bytes). + type BlockLength = RuntimeBlockLength; + /// The identifier used to distinguish between accounts. + type AccountId = AccountId; + /// The aggregated dispatch type that is available for extrinsics. + type Call = Call; + /// The lookup mechanism to get account ID from whatever is passed in + /// dispatchers. + type Lookup = AccountIdLookup; + /// The index type for storing how many extrinsics an account has signed. + type Index = Index; + /// The index type for blocks. + type BlockNumber = BlockNumber; + /// The type for hashing blocks and tries. + type Hash = Hash; + /// The hashing algorithm used. + type Hashing = BlakeTwo256; + /// The header type. + type Header = generic::Header; + /// The ubiquitous event type. + type Event = Event; + /// The ubiquitous origin type. + type Origin = Origin; + /// Maximum number of block number to block hash mappings to keep (oldest + /// pruned first). + type BlockHashCount = BlockHashCount; + /// The weight of database operations that the runtime can invoke. + type DbWeight = RocksDbWeight; + /// Version of the runtime. + type Version = Version; + /// Converts a pallet to the index of the pallet in `construct_runtime!`. + /// + /// This type is being generated by `construct_runtime!`. + type PalletInfo = PalletInfo; + /// What to do if a new account is created. + type OnNewAccount = (); + /// What to do if an account is fully reaped from the system. + type OnKilledAccount = (); + /// The data to be stored in an account. + type AccountData = pallet_balances::AccountData; + /// Weight information for the extrinsics of this pallet. + type SystemWeightInfo = (); + /// This is used as an identifier of the chain. 42 is the generic substrate + /// prefix. + type SS58Prefix = SS58Prefix; + /// The set code logic of the parachain. + type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; +} + +impl pallet_timestamp::Config for Runtime { + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = (); + type MinimumPeriod = MinimumPeriod; + type WeightInfo = (); +} + +impl pallet_balances::Config for Runtime { + type MaxLocks = MaxLocks; + /// The type for recording an account's balance. + type Balance = Balance; + /// The ubiquitous event type. + type Event = Event; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type WeightInfo = pallet_balances::weights::SubstrateWeight; +} + +impl pallet_transaction_payment::Config for Runtime { + type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; + type TransactionByteFee = TransactionByteFee; + type WeightToFee = IdentityFee; + type FeeMultiplierUpdate = (); +} + +impl pallet_sudo::Config for Runtime { + type Event = Event; + type Call = Call; +} + +impl cumulus_pallet_parachain_system::Config for Runtime { + type Event = Event; + type OnValidationData = (); + type SelfParaId = parachain_info::Pallet; + type OutboundXcmpMessageSource = XcmpQueue; + type DmpMessageHandler = DmpQueue; + type ReservedDmpWeight = ReservedDmpWeight; + type XcmpMessageHandler = XcmpQueue; + type ReservedXcmpWeight = ReservedXcmpWeight; +} + +impl parachain_info::Config for Runtime {} + +impl cumulus_pallet_aura_ext::Config for Runtime {} + +/// Type for specifying how a `MultiLocation` can be converted into an +/// `AccountId`. This is used when determining ownership of accounts for asset +/// transacting and when attempting to use XCM `Transact` in order to determine +/// the dispatch Origin. +pub type LocationToAccountId = ( + // The parent (Relay-chain) origin converts to the default `AccountId`. + ParentIsDefault, + // Sibling parachain origins convert to AccountId via the `ParaId::into`. + SiblingParachainConvertsVia, + // Straight up local `AccountId32` origins just alias directly to `AccountId`. + AccountId32Aliases, +); + +/// Means for transacting assets on this chain. +pub type LocalAssetTransactor = MultiCurrencyAdapter< + // Use this multicurrency for asset balances + Currencies, + // handle in event of unknown tokens + UnknownTokens, + // Convert + IsNativeConcrete, + AccountId, + LocationToAccountId, + AssetId, + AssetIdConvert, +>; + +/// This is the type we use to convert an (incoming) XCM origin into a local +/// `Origin` instance, ready for dispatching a transaction with Xcm's +/// `Transact`. There is an `OriginKind` which can biases the kind of local +/// `Origin` it will become. +pub type XcmOriginToTransactDispatchOrigin = ( + // Sovereign account converter; this attempts to derive an `AccountId` from the origin location + // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for + // foreign chains who want to have a local sovereign account on this chain which they control. + SovereignSignedViaLocation, + // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when + // recognised. + RelayChainAsNative, + // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when + // recognised. + SiblingParachainAsNative, + // Native signed account converter; this just converts an `AccountId32` origin into a normal + // `Origin::Signed` origin of the same 32-byte value. + SignedAccountId32AsNative, + // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. + XcmPassthrough, +); + +match_type! { + pub type ParentOrParentsUnitPlurality: impl Contains = { + X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. }) + }; +} + +pub type Barrier = (TakeWeightCredit, AllowTopLevelPaidExecutionFrom); + +pub struct ToTreasury; +impl TakeRevenue for ToTreasury { + fn take_revenue(revenue: MultiAsset) { + use orml_traits::currency::MultiCurrency; + if let MultiAsset::ConcreteFungible { id, amount } = revenue { + if let Some(asset_id) = AssetIdConvert::convert(id) { + // ensure PINT Treasury account have ed for all of the cross-chain asset. + // Ignore the result. + let _ = Currencies::deposit(asset_id, &PintTreasuryAccount::get(), amount); + } + } + } +} + +pub struct XcmConfig; +impl xcm_executor::Config for XcmConfig { + type Call = Call; + type XcmSender = XcmRouter; + // How to withdraw and deposit an asset. + type AssetTransactor = LocalAssetTransactor; + type OriginConverter = XcmOriginToTransactDispatchOrigin; + type IsReserve = MultiNativeAsset; + type IsTeleporter = (); + type LocationInverter = LocationInverter; + type Barrier = Barrier; + type Weigher = FixedWeightBounds; + type Trader = FixedRateOfConcreteFungible; + type ResponseHandler = (); // Don't handle responses for now. +} + +pub type LocalOriginToLocation = SignedToAccountId32; + +/// The means for routing XCM messages which are not for local execution into +/// the right message queues. +pub type XcmRouter = ( + // Two routers - use UMP to communicate with the relay chain: + cumulus_primitives_utility::ParentAsUmp, + // ..and XCMP to communicate with the sibling chains. + XcmpQueue, +); + +impl pallet_xcm::Config for Runtime { + type Event = Event; + type SendXcmOrigin = EnsureXcmOrigin; + type XcmRouter = XcmRouter; + type ExecuteXcmOrigin = EnsureXcmOrigin; + type XcmExecuteFilter = Everything; + type XcmExecutor = XcmExecutor; + type XcmTeleportFilter = (); + type XcmReserveTransferFilter = Everything; + type Weigher = FixedWeightBounds; + type LocationInverter = LocationInverter; +} + +impl cumulus_pallet_xcm::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; +} + +impl cumulus_pallet_xcmp_queue::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type ChannelInfo = ParachainSystem; +} + +impl cumulus_pallet_dmp_queue::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type ExecuteOverweightOrigin = frame_system::EnsureRoot; +} + +impl pallet_aura::Config for Runtime { + type AuthorityId = AuraId; + type DisabledValidators = (); +} + +impl pallet_authorship::Config for Runtime { + type FindAuthor = pallet_session::FindAccountFromAuthorIndex; + type UncleGenerations = UncleGenerations; + type FilterUncle = (); + type EventHandler = CollatorSelection; +} + +impl pallet_session::Config for Runtime { + type Event = Event; + type ValidatorId = ::AccountId; + // we don't have stash and controller, thus we don't need the convert as well. + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ShouldEndSession = pallet_session::PeriodicSessions; + type NextSessionRotation = pallet_session::PeriodicSessions; + type SessionManager = CollatorSelection; + // Essentially just Aura, but lets be pedantic. + type SessionHandler = ::KeyTypeIdProviders; + type Keys = opaque::SessionKeys; + type DisabledValidatorsThreshold = DisabledValidatorsThreshold; + type WeightInfo = (); +} + +impl pallet_collator_selection::Config for Runtime { + type Event = Event; + type Currency = Balances; + type UpdateOrigin = GovernanceOrigin; + type PotId = PotId; + type MaxCandidates = MaxCandidates; + type MinCandidates = MinCandidates; + type MaxInvulnerables = MaxInvulnerables; + // should be a multiple of session or things will get inconsistent + type KickThreshold = Period; + type ValidatorId = ::AccountId; + type ValidatorIdOf = pallet_collator_selection::IdentityCollator; + type ValidatorRegistration = Session; + type WeightInfo = (); +} + +impl pallet_local_treasury::Config for Runtime { + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureRoot; + type PalletId = TreasuryPalletId; + type Currency = Balances; + type Event = Event; + type WeightInfo = weights::pallet_local_treasury::WeightInfo; +} + +impl pallet_saft_registry::Config for Runtime { + type AdminOrigin = GovernanceOrigin; + type AssetRecorder = AssetIndex; + type Balance = Balance; + type AssetId = AssetId; + type Event = Event; + type WeightInfo = weights::pallet_saft_registry::WeightInfo; +} + +impl pallet_committee::Config for Runtime { + type Origin = Origin; + type Action = Call; + type ProposalNonce = u32; + type ProposalSubmissionPeriod = ProposalSubmissionPeriod; + type VotingPeriod = VotingPeriod; + type MinCouncilVotes = MinCouncilVotes; + type ProposalSubmissionOrigin = EnsureSigned; + type ProposalExecutionOrigin = EnsureMember; + type ApprovedByCommitteeOrigin = GovernanceOrigin; + type Event = Event; + type WeightInfo = weights::pallet_committee::WeightInfo; +} + +impl pallet_price_feed::Config for Runtime { + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureRoot; + type SelfAssetId = PINTAssetId; + type AssetId = AssetId; + type Time = Timestamp; + type Event = Event; + type WeightInfo = weights::pallet_price_feed::WeightInfo; +} + +impl pallet_chainlink_feed::Config for Runtime { + type Event = Event; + type FeedId = FeedId; + type Value = Value; + type Currency = Balances; + type PalletId = FeedPalletId; + type MinimumReserve = MinimumReserve; + type StringLimit = StringLimit; + type OracleCountLimit = OracleLimit; + type FeedLimit = FeedLimit; + type OnAnswerHandler = PriceFeed; + type WeightInfo = (); +} + +impl pallet_asset_index::Config for Runtime { + type AdminOrigin = GovernanceOrigin; + type IndexToken = Balances; + type Balance = Balance; + type LockupPeriod = LockupPeriod; + type IndexTokenLockIdentifier = IndexTokenLockIdentifier; + type MinimumRedemption = MinimumRedemption; + type WithdrawalPeriod = WithdrawalPeriod; + type DOTContributionLimit = DOTContributionLimit; + type RemoteAssetManager = RemoteAssetManager; + type AssetId = AssetId; + type SelfAssetId = PINTAssetId; + type Currency = Currencies; + type PriceFeed = PriceFeed; + #[cfg(feature = "runtime-benchmarks")] + type PriceFeedBenchmarks = PriceFeed; + type SaftRegistry = SaftRegistry; + type BaseWithdrawalFee = BaseWithdrawalFee; + type TreasuryPalletId = TreasuryPalletId; + type Event = Event; + type StringLimit = PalletIndexStringLimit; + type WeightInfo = weights::pallet_asset_index::WeightInfo; +} + +impl orml_tokens::Config for Runtime { + type Event = Event; + type Balance = Balance; + type Amount = Amount; + type CurrencyId = AssetId; + type WeightInfo = (); + type ExistentialDeposits = ExistentialDeposits; + type OnDust = orml_tokens::TransferDust; + type MaxLocks = MaxLocks; + type DustRemovalWhitelist = DustRemovalWhitelist; +} + +impl orml_currencies::Config for Runtime { + type Event = Event; + type MultiCurrency = Tokens; + type NativeCurrency = BasicCurrencyAdapter; + type GetNativeCurrencyId = PINTAssetId; + type WeightInfo = (); +} + +impl orml_xtokens::Config for Runtime { + type Event = Event; + type Balance = Balance; + type CurrencyId = AssetId; + type CurrencyIdConvert = AssetIdConvert; + type AccountIdToMultiLocation = AccountId32Convert; + type SelfLocation = SelfLocation; + type XcmExecutor = XcmExecutor; + type Weigher = FixedWeightBounds; + type BaseXcmWeight = BaseXcmWeight; +} + +impl orml_unknown_tokens::Config for Runtime { + type Event = Event; +} + +pub struct AssetIdConvert; +impl Convert> for AssetIdConvert { + fn convert(asset: AssetId) -> Option { + AssetIndex::native_asset_location(&asset) + } +} + +impl Convert> for AssetIdConvert { + fn convert(location: MultiLocation) -> Option { + match location { + MultiLocation::X1(Junction::Parent) => return Some(RelayChainAssetId::get()), + MultiLocation::X3(Junction::Parent, Junction::Parachain(id), Junction::GeneralKey(key)) + if ParaId::from(id) == ParachainInfo::parachain_id() => + { + // decode the general key + if let Ok(asset_id) = AssetId::decode(&mut &key[..]) { + // check `asset_id` is supported + if AssetIndex::is_liquid_asset(&asset_id) { + return Some(asset_id); + } + } + } + _ => {} + } + None + } +} + +impl Convert> for AssetIdConvert { + fn convert(asset: MultiAsset) -> Option { + if let MultiAsset::ConcreteFungible { ref id, amount: _ } = asset { + Self::convert(id.clone()) + } else { + None + } + } +} + +pub struct AccountId32Convert; +impl Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> [u8; 32] { + account_id.into() + } +} + +impl Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> MultiLocation { + Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() + } +} + +/// The encoder to use when transacting `pallet_proxy` calls +pub struct PalletProxyEncoder; +impl ProxyCallEncoder for PalletProxyEncoder { + type AccountIdEncoder = PassthroughEncoder; + type ProxyTypeEncoder = PassthroughEncoder; + type BlockNumberEncoder = PassthroughEncoder; +} +impl PalletCallEncoder for PalletProxyEncoder { + type Context = AssetId; + fn can_encode(_ctx: &Self::Context) -> bool { + // TODO check in `AssetRegistry` + true + } +} + +type AccountLookupSource = sp_runtime::MultiAddress; + +/// The encoder to use when transacting `pallet_staking` calls +pub struct PalletStakingEncoder; +impl StakingCallEncoder for PalletStakingEncoder { + type CompactBalanceEncoder = PassthroughCompactEncoder; + type SourceEncoder = PassthroughEncoder; + type AccountIdEncoder = PassthroughEncoder; +} + +impl PalletCallEncoder for PalletStakingEncoder { + type Context = AssetId; + fn can_encode(_ctx: &Self::Context) -> bool { + // TODO check in `AssetRegistry` + true + } +} + +impl pallet_remote_asset_manager::Config for Runtime { + type Balance = Balance; + type AssetId = AssetId; + type AssetIdConvert = AssetIdConvert; + type AccountId32Convert = AccountId32Convert; + // Encodes `pallet_staking` calls before transaction them to other chains + type PalletStakingCallEncoder = PalletStakingEncoder; + // Encodes `pallet_proxy` calls before transaction them to other chains + type PalletProxyCallEncoder = PalletProxyEncoder; + type MinimumStatemintTransferAmount = MinimumStatemintTransferAmount; + type SelfAssetId = PINTAssetId; + type SelfLocation = SelfLocation; + type SelfParaId = parachain_info::Pallet; + type RelayChainAssetId = RelayChainAssetId; + type StakingThreshold = (MinimumRemoteReserveBalance, MinimumBondExtra); + type Assets = Currencies; + type XcmExecutor = XcmExecutor; + type XcmAssetTransfer = XTokens; + // Using root as the admin origin for now + type AdminOrigin = frame_system::EnsureSigned; + type XcmSender = XcmRouter; + type Event = Event; + type AssetRegistry = AssetIndex; + type WeightInfo = weights::pallet_remote_asset_manager::WeightInfo; +} + +// Create the runtime by composing the FRAME pallets that were previously +// configured. +construct_runtime!( + pub enum Runtime where + Block = Block, + NodeBlock = opaque::Block, + UncheckedExtrinsic = UncheckedExtrinsic, + { + System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, + Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 1, + Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 2, + TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 3, + Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event} = 4, + + // Parachain + ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Config, Event} = 20, + ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, + + // Collator. The order of the 4 below are important and shall not change. + Authorship: pallet_authorship::{Pallet, Call, Storage} = 40, + CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 41, + Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 42, + Aura: pallet_aura::{Pallet, Config} = 43, + AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 44, + + // ORML related pallets + Tokens: orml_tokens::{Pallet, Storage, Call, Event, Config} = 60, + Currencies: orml_currencies::{Pallet, Call, Event} = 61, + XTokens: orml_xtokens::{Pallet, Storage, Call, Event} = 62, + UnknownTokens: orml_unknown_tokens::{Pallet, Storage, Event} = 63, + + // PINT pallets + AssetIndex: pallet_asset_index::{Pallet, Call, Storage, Event} = 80, + Committee: pallet_committee::{Pallet, Call, Storage, Origin, Event, Config} = 81, + LocalTreasury: pallet_local_treasury::{Pallet, Call, Storage, Event} = 82, + SaftRegistry: pallet_saft_registry::{Pallet, Call, Storage, Event} = 83, + RemoteAssetManager: pallet_remote_asset_manager::{Pallet, Call, Storage, Event, Config} = 84, + PriceFeed: pallet_price_feed::{Pallet, Call, Storage, Event} = 85, + ChainlinkFeed: pallet_chainlink_feed::{Pallet, Call, Storage, Event, Config} = 86, + + // XCM + XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 100, + DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 101, + PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin} = 102, + CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 103 + } +); + +/// The address format for describing accounts. +pub type Address = sp_runtime::MultiAddress; +/// Block header type as expected by this runtime. +pub type Header = generic::Header; +/// Block type as expected by this runtime. +pub type Block = generic::Block; +/// A Block signed with a Justification +pub type SignedBlock = generic::SignedBlock; +/// BlockId type as expected by this runtime. +pub type BlockId = generic::BlockId; +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + frame_system::CheckSpecVersion, + frame_system::CheckTxVersion, + frame_system::CheckGenesis, + frame_system::CheckEra, + frame_system::CheckNonce, + frame_system::CheckWeight, + pallet_transaction_payment::ChargeTransactionPayment, +); +/// Unchecked extrinsic type as expected by this runtime. +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +/// Extrinsic type that has already been checked. +pub type CheckedExtrinsic = generic::CheckedExtrinsic; +/// Executive: handles dispatch to the various pallets. +pub type Executive = + frame_executive::Executive, Runtime, AllPallets, ()>; + +impl_runtime_apis! { + impl sp_api::Core for Runtime { + fn version() -> RuntimeVersion { + VERSION + } + + fn execute_block(block: Block) { + Executive::execute_block(block) + } + + fn initialize_block(header: &::Header) { + Executive::initialize_block(header) + } + } + + impl sp_api::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + Runtime::metadata().into() + } + } + + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + + fn finalize_block() -> ::Header { + Executive::finalize_block() + } + + fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { + data.create_extrinsics() + } + + fn check_inherents( + block: Block, + data: sp_inherents::InherentData, + ) -> sp_inherents::CheckInherentsResult { + data.check_extrinsics(&block) + } + } + + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + tx: ::Extrinsic, + block_hash: ::Hash, + ) -> TransactionValidity { + Executive::validate_transaction(source, tx, block_hash) + } + } + + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } + } + + impl sp_session::SessionKeys for Runtime { + fn generate_session_keys(seed: Option>) -> Vec { + opaque::SessionKeys::generate(seed) + } + + fn decode_session_keys( + encoded: Vec, + ) -> Option, KeyTypeId)>> { + opaque::SessionKeys::decode_into_raw_public_keys(&encoded) + } + } + + impl sp_consensus_aura::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) + } + + fn authorities() -> Vec { + Aura::authorities() + } + } + + impl cumulus_primitives_core::CollectCollationInfo for Runtime { + fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { + ParachainSystem::collect_collation_info() + } + } + + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { + fn account_nonce(account: AccountId) -> Index { + System::account_nonce(account) + } + } + + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { + fn query_info( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { + TransactionPayment::query_info(uxt, len) + } + fn query_fee_details( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_fee_details(uxt, len) + } + } + + impl pallet_asset_index_rpc_runtime_api::AssetIndexApi< + Block, + AccountId, + AssetId, + Balance, + > for Runtime { + fn get_nav() -> primitives::Ratio { + use primitives::traits::NavProvider; + AssetIndex::nav().unwrap_or_default() + } + } + + #[cfg(feature = "runtime-benchmarks")] + impl frame_benchmarking::Benchmark for Runtime { + fn benchmark_metadata(_extra: bool) -> ( + Vec, + Vec, + ) { + use frame_benchmarking:: BenchmarkList; + use frame_support::traits::StorageInfoTrait; + + let list = Vec::::new(); + + let storage_info = AllPalletsWithSystem::storage_info(); + return (list, storage_info) + } + + fn dispatch_benchmark( + config: frame_benchmarking::BenchmarkConfig + ) -> Result, sp_runtime::RuntimeString> { + use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; + + use frame_system_benchmarking::Pallet as SystemBench; + impl frame_system_benchmarking::Config for Runtime {} + + let whitelist: Vec = vec![ + // Block Number + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(), + // Total Issuance + hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(), + // Execution Phase + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(), + // Event Count + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(), + // System Events + hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(), + ]; + + let mut batches = Vec::::new(); + let params = (&config, &whitelist); + + add_benchmark!(params, batches, frame_system, SystemBench::); + add_benchmark!(params, batches, pallet_balances, Balances); + add_benchmark!(params, batches, pallet_timestamp, Timestamp); + add_benchmark!(params, batches, pallet_asset_index, AssetIndex); + add_benchmark!(params, batches, pallet_committee, Committee); + add_benchmark!(params, batches, pallet_local_treasury, LocalTreasury); + add_benchmark!(params, batches, pallet_price_feed, PriceFeed); + // add_benchmark!(params, batches, pallet_remote_asset_manager, RemoteAssetManager); + add_benchmark!(params, batches, pallet_saft_registry, SaftRegistry); + + if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } + Ok(batches) + } + } +} + +struct CheckInherents; + +impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { + fn check_inherents( + block: &Block, + relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, + ) -> sp_inherents::CheckInherentsResult { + let relay_chain_slot = + relay_state_proof.read_slot().expect("Could not read the relay chain slot from the proof"); + + let inherent_data = cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( + relay_chain_slot, + sp_std::time::Duration::from_secs(6), + ) + .create_inherent_data() + .expect("Could not create the timestamp inherent data"); + + inherent_data.check_extrinsics(block) + } +} + +cumulus_pallet_parachain_system::register_validate_block!( + Runtime = Runtime, + BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, + CheckInherents = CheckInherents, +); diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000000..b3392f3a3d --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,11 @@ +reorder_imports = true +imports_granularity = "Crate" +hard_tabs = true +max_width = 120 +use_small_heuristics = "Max" +comment_width = 100 +wrap_comments = true +binop_separator = "Back" +trailing_comma = "Vertical" +use_field_init_shorthand = true +license_template_path = "HEADER-LICENSE" \ No newline at end of file diff --git a/scripts/header.txt b/scripts/header.txt new file mode 100644 index 0000000000..a2e965fcf0 --- /dev/null +++ b/scripts/header.txt @@ -0,0 +1,2 @@ +Copyright 2021 ChainSafe Systems +SPDX-License-Identifier: LGPL-3.0-only \ No newline at end of file diff --git a/scripts/init.sh b/scripts/init.sh new file mode 100755 index 0000000000..1405a41ef3 --- /dev/null +++ b/scripts/init.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -e + +echo "*** Initializing WASM build environment" + +if [ -z $CI_PROJECT_NAME ] ; then + rustup update nightly + rustup update stable +fi + +rustup target add wasm32-unknown-unknown --toolchain nightly diff --git a/templates/pallet-weight-template.hbs b/templates/pallet-weight-template.hbs new file mode 100644 index 0000000000..ef522ea5e8 --- /dev/null +++ b/templates/pallet-weight-template.hbs @@ -0,0 +1,91 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for {{pallet}} +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}} +//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}` +//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}} + +// Executed Command: +{{#each args as |arg|~}} +// {{arg}} +{{/each}} + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(clippy::unnecessary_cast)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use sp_std::marker::PhantomData; + +/// Weight functions needed for {{pallet}}. +pub trait WeightInfo { + {{~#each benchmarks as |benchmark|}} + fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{c.name}}: u32, {{/each~}} + ) -> Weight; + {{~/each}} +} + +/// Weights for {{pallet}} using the PINT node and recommended hardware. +pub struct PintWeight(PhantomData); +impl WeightInfo for PintWeight { + {{~#each benchmarks as |benchmark|}} + fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} + ) -> Weight { + ({{underscore benchmark.base_weight}} as Weight) + {{~#each benchmark.component_weight as |cw|}} + // Standard Error: {{underscore cw.error}} + .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)) + {{~/each}} + {{~#if (ne benchmark.base_reads "0")}} + .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight)) + {{~/if}} + {{~#each benchmark.component_reads as |cr|}} + .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight))) + {{~/each}} + {{~#if (ne benchmark.base_writes "0")}} + .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight)) + {{~/if}} + {{~#each benchmark.component_writes as |cw|}} + .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))) + {{~/each}} + } + {{~/each}} +} + +// For backwards compatibility and tests +impl WeightInfo for () { + {{~#each benchmarks as |benchmark|}} + fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} + ) -> Weight { + ({{underscore benchmark.base_weight}} as Weight) + {{~#each benchmark.component_weight as |cw|}} + // Standard Error: {{underscore cw.error}} + .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)) + {{~/each}} + {{~#if (ne benchmark.base_reads "0")}} + .saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}} as Weight)) + {{~/if}} + {{~#each benchmark.component_reads as |cr|}} + .saturating_add(RocksDbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight))) + {{~/each}} + {{~#if (ne benchmark.base_writes "0")}} + .saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}} as Weight)) + {{~/if}} + {{~#each benchmark.component_writes as |cw|}} + .saturating_add(RocksDbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))) + {{~/each}} + } + {{~/each}} +} \ No newline at end of file diff --git a/templates/runtime-weight-template.hbs b/templates/runtime-weight-template.hbs new file mode 100644 index 0000000000..0021ebac93 --- /dev/null +++ b/templates/runtime-weight-template.hbs @@ -0,0 +1,50 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +//! Autogenerated weights for {{pallet}} +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}} +//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}` +//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}} + +// Executed Command: +{{#each args as |arg|~}} +// {{arg}} +{{/each}} + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for {{pallet}}. +pub struct WeightInfo(PhantomData); +impl {{pallet}}::WeightInfo for WeightInfo { + {{~#each benchmarks as |benchmark|}} + fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} + ) -> Weight { + ({{underscore benchmark.base_weight}} as Weight) + {{~#each benchmark.component_weight as |cw|}} + // Standard Error: {{underscore cw.error}} + .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)) + {{~/each}} + {{~#if (ne benchmark.base_reads "0")}} + .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight)) + {{~/if}} + {{~#each benchmark.component_reads as |cr|}} + .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight))) + {{~/each}} + {{~#if (ne benchmark.base_writes "0")}} + .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight)) + {{~/if}} + {{~#each benchmark.component_writes as |cw|}} + .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))) + {{~/each}} + } + {{~/each}} +} \ No newline at end of file diff --git a/test-utils/xcm-test-support/Cargo.lock b/test-utils/xcm-test-support/Cargo.lock new file mode 100644 index 0000000000..6c2650cd89 --- /dev/null +++ b/test-utils/xcm-test-support/Cargo.lock @@ -0,0 +1,8375 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aead" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "aes" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd2bc6d3f370b5666245ff421e231cba4353df936e26986d2918e61a8fd6aef6" +dependencies = [ + "aes-soft", + "aesni", + "block-cipher", +] + +[[package]] +name = "aes-gcm" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0301c9e9c443494d970a07885e8cf3e587bae8356a1d5abd0999068413f7205f" +dependencies = [ + "aead", + "aes", + "block-cipher", + "ghash", + "subtle 2.4.0", +] + +[[package]] +name = "aes-soft" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6" +dependencies = [ + "block-cipher", + "byteorder", + "opaque-debug 0.3.0", +] + +[[package]] +name = "aesni" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6fe808308bb07d393e2ea47780043ec47683fcf19cf5efc8ca51c50cc8c68a" +dependencies = [ + "block-cipher", + "opaque-debug 0.3.0", +] + +[[package]] +name = "ahash" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" + +[[package]] +name = "ahash" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" +dependencies = [ + "getrandom 0.2.3", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "anyhow" +version = "1.0.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" + +[[package]] +name = "approx" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" +dependencies = [ + "nodrop", +] + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" + +[[package]] +name = "asn1_der" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3" + +[[package]] +name = "async-channel" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "once_cell", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6" +dependencies = [ + "async-channel", + "async-executor", + "async-io", + "async-mutex", + "blocking", + "futures-lite", + "num_cpus", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" +dependencies = [ + "concurrent-queue", + "futures-lite", + "libc", + "log", + "once_cell", + "parking", + "polling", + "slab", + "socket2 0.4.0", + "waker-fn", + "winapi 0.3.9", +] + +[[package]] +name = "async-lock" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-mutex" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-process" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f38756dd9ac84671c428afbf7c9f7495feff9ec5b0710f17100098e5b354ac" +dependencies = [ + "async-io", + "blocking", + "cfg-if 1.0.0", + "event-listener", + "futures-lite", + "libc", + "once_cell", + "signal-hook", + "winapi 0.3.9", +] + +[[package]] +name = "async-std" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341" +dependencies = [ + "async-channel", + "async-global-executor", + "async-io", + "async-lock", + "async-process", + "crossbeam-utils 0.8.5", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "num_cpus", + "once_cell", + "pin-project-lite 0.2.7", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-std-resolver" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed4e2c3da14d8ad45acb1e3191db7a918e9505b6f155b218e70a7c9a1a48c638" +dependencies = [ + "async-std", + "async-trait", + "futures-io", + "futures-util", + "pin-utils", + "trust-dns-resolver", +] + +[[package]] +name = "async-task" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" + +[[package]] +name = "async-trait" +version = "0.1.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "asynchronous-codec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6" +dependencies = [ + "bytes 1.0.1", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite 0.2.7", +] + +[[package]] +name = "asynchronous-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" +dependencies = [ + "bytes 1.0.1", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite 0.2.7", +] + +[[package]] +name = "atomic" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281" +dependencies = [ + "autocfg", +] + +[[package]] +name = "atomic-waker" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "backtrace" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" +dependencies = [ + "addr2line", + "cc", + "cfg-if 1.0.0", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base-x" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" + +[[package]] +name = "base58" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" + +[[package]] +name = "base64" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "beefy-primitives" +version = "0.1.0" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.7#299dd5fd3fabd99c3c919f1312001283ddc5b365" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a5720225ef5daecf08657f23791354e1685a8c91a4c60c7f3d3b2892f978f4" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "blake2-rfc" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +dependencies = [ + "arrayvec 0.4.12", + "constant_time_eq", +] + +[[package]] +name = "blake2b_simd" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq", +] + +[[package]] +name = "blake2s_simd" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq", +] + +[[package]] +name = "blake3" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "constant_time_eq", + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "block-buffer" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +dependencies = [ + "block-padding 0.1.5", + "byte-tools", + "byteorder", + "generic-array 0.12.4", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "block-padding 0.2.1", + "generic-array 0.14.4", +] + +[[package]] +name = "block-cipher" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f337a3e6da609650eb74e02bc9fac7b735049f7623ab12f2e4c719316fcc7e80" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "block-padding" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools", +] + +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + +[[package]] +name = "blocking" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9" +dependencies = [ + "async-channel", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", + "once_cell", +] + +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + +[[package]] +name = "bstr" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" +dependencies = [ + "memchr", +] + +[[package]] +name = "build-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" +dependencies = [ + "semver 0.6.0", +] + +[[package]] +name = "bumpalo" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" + +[[package]] +name = "byte-slice-cast" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c1bf4a04a88c54f589125563643d773f3254b5c38571395e2b591c693bbc81" + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" +dependencies = [ + "byteorder", + "either", + "iovec", +] + +[[package]] +name = "bytes" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" + +[[package]] +name = "bytes" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" + +[[package]] +name = "cache-padded" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" + +[[package]] +name = "cargo-platform" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0226944a63d1bf35a3b5f948dd7c59e263db83695c9e8bffc4037de02e30f1d7" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714a157da7991e23d90686b9524b9e12e0407a108647f52e9328f4b3d51ac7f" +dependencies = [ + "cargo-platform", + "semver 0.11.0", + "semver-parser 0.10.2", + "serde", + "serde_json", +] + +[[package]] +name = "cc" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chacha20" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "244fbce0d47e97e8ef2f63b81d5e05882cb518c68531eb33194990d7b7e85845" +dependencies = [ + "stream-cipher", + "zeroize", +] + +[[package]] +name = "chacha20poly1305" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bf18d374d66df0c05cdddd528a7db98f78c28e2519b120855c4f84c5027b1f5" +dependencies = [ + "aead", + "chacha20", + "poly1305", + "stream-cipher", + "zeroize", +] + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi 0.3.9", +] + +[[package]] +name = "cid" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff0e3bc0b6446b3f9663c1a6aba6ef06c5aeaa1bc92bd18077be337198ab9768" +dependencies = [ + "multibase", + "multihash", + "unsigned-varint 0.5.1", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "ckb-merkle-mountain-range" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e486fe53bb9f2ca0f58cb60e8679a5354fd6687a839942ef0a75967250289ca6" +dependencies = [ + "cfg-if 0.1.10", +] + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +dependencies = [ + "bitflags", +] + +[[package]] +name = "concurrent-queue" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" +dependencies = [ + "cache-padded", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + +[[package]] +name = "cpufeatures" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" +dependencies = [ + "libc", +] + +[[package]] +name = "cpuid-bool" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" + +[[package]] +name = "crc32fast" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossbeam-deque" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +dependencies = [ + "autocfg", + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "lazy_static", + "maybe-uninit", + "memoffset", + "scopeguard", +] + +[[package]] +name = "crossbeam-queue" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" +dependencies = [ + "cfg-if 0.1.10", + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + +[[package]] +name = "crossbeam-utils" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +dependencies = [ + "autocfg", + "cfg-if 0.1.10", + "lazy_static", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +dependencies = [ + "cfg-if 1.0.0", + "lazy_static", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-mac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +dependencies = [ + "generic-array 0.12.4", + "subtle 1.0.0", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.4", + "subtle 2.4.0", +] + +[[package]] +name = "ct-logs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c8e13110a84b6315df212c045be706af261fd364791cad863285439ebba672e" +dependencies = [ + "sct", +] + +[[package]] +name = "ctor" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "cuckoofilter" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b810a8449931679f64cd7eef1bbd0fa315801b6d5d9cdc1ace2804d6529eee18" +dependencies = [ + "byteorder", + "fnv", + "rand 0.7.3", +] + +[[package]] +name = "cumulus-pallet-dmp-queue" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.4", + "rand_chacha 0.3.1", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "cumulus-pallet-parachain-system" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "cumulus-pallet-parachain-system-proc-macro", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "environmental", + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "polkadot-parachain", + "serde", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-version", + "xcm", +] + +[[package]] +name = "cumulus-pallet-parachain-system-proc-macro" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "cumulus-pallet-xcm" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", +] + +[[package]] +name = "cumulus-pallet-xcmp-queue" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.4", + "rand_chacha 0.3.1", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "cumulus-primitives-core" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain", + "polkadot-primitives", + "sp-api", + "sp-runtime", + "sp-std", + "sp-trie", + "xcm", +] + +[[package]] +name = "cumulus-primitives-parachain-inherent" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "async-trait", + "cumulus-primitives-core", + "parity-scale-codec", + "polkadot-client", + "sc-client-api", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "tracing", +] + +[[package]] +name = "curve25519-dalek" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "434e1720189a637d44fe464f4df1e6eb900b4835255b14354497c78af37d9bb8" +dependencies = [ + "byteorder", + "digest 0.8.1", + "rand_core 0.5.1", + "subtle 2.4.0", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle 2.4.0", + "zeroize", +] + +[[package]] +name = "data-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" + +[[package]] +name = "data-encoding-macro" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" +dependencies = [ + "data-encoding", + "data-encoding-macro-internal", +] + +[[package]] +name = "data-encoding-macro-internal" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" +dependencies = [ + "data-encoding", + "syn", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_more" +version = "0.99.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array 0.12.4", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.4", +] + +[[package]] +name = "directories" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dns-parser" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" +dependencies = [ + "byteorder", + "quick-error", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "dyn-clonable" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +dependencies = [ + "dyn-clonable-impl", + "dyn-clone", +] + +[[package]] +name = "dyn-clonable-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dyn-clone" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf" + +[[package]] +name = "ed25519" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d0860415b12243916284c67a9be413e044ee6668247b99ba26d94b2bc06c8f6" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.1.0", + "ed25519", + "rand 0.7.3", + "serde", + "sha2 0.9.5", + "zeroize", +] + +[[package]] +name = "either" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" + +[[package]] +name = "enum-as-inner" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "enumflags2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" +dependencies = [ + "enumflags2_derive", +] + +[[package]] +name = "enumflags2_derive" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "enumn" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e58b112d5099aa0857c5d05f0eacab86406dd8c0f85fe5d320a13256d29ecf4" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "environmental" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" + +[[package]] +name = "erased-serde" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3de9ad4541d99dc22b59134e7ff8dc3d6c988c89ecd7324bf10a8362b07a2afa" +dependencies = [ + "serde", +] + +[[package]] +name = "ethbloom" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-rlp", + "impl-serde", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-rlp", + "impl-serde", + "primitive-types", + "uint", +] + +[[package]] +name = "event-listener" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" + +[[package]] +name = "exit-future" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" +dependencies = [ + "futures 0.3.15", +] + +[[package]] +name = "failure" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" +dependencies = [ + "backtrace", + "failure_derive", +] + +[[package]] +name = "failure_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "fastrand" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77b705829d1e87f762c2df6da140b26af5839e1033aa84aa5f56bb688e4e1bdb" +dependencies = [ + "instant", +] + +[[package]] +name = "finality-grandpa" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74a1bfdcc776e63e49f741c7ce6116fa1b887e8ac2e3ccb14dd4aa113e54feb9" +dependencies = [ + "either", + "futures 0.3.15", + "futures-timer 3.0.2", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.1", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.4", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" + +[[package]] +name = "flate2" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" +dependencies = [ + "cfg-if 1.0.0", + "crc32fast", + "libc", + "libz-sys", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "fork-tree" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding 2.1.0", +] + +[[package]] +name = "frame-benchmarking" +version = "3.1.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "linregress", + "log", + "parity-scale-codec", + "paste", + "sp-api", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-std", + "sp-storage", +] + +[[package]] +name = "frame-election-provider-support" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-arithmetic", + "sp-npos-elections", + "sp-std", +] + +[[package]] +name = "frame-executive" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", +] + +[[package]] +name = "frame-metadata" +version = "13.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-core", + "sp-std", +] + +[[package]] +name = "frame-support" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "bitflags", + "frame-metadata", + "frame-support-procedural", + "impl-trait-for-tuples", + "log", + "max-encoded-len", + "once_cell", + "parity-scale-codec", + "paste", + "serde", + "smallvec 1.6.1", + "sp-arithmetic", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-state-machine", + "sp-std", + "sp-tracing", +] + +[[package]] +name = "frame-support-procedural" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "Inflector", + "frame-support-procedural-tools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-system" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] +name = "frame-system-rpc-runtime-api" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "sp-api", +] + +[[package]] +name = "frame-try-runtime" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +dependencies = [ + "bitflags", + "fuchsia-zircon-sys", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[package]] +name = "futures" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + +[[package]] +name = "futures" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" + +[[package]] +name = "futures-cpupool" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" +dependencies = [ + "futures 0.1.31", + "num_cpus", +] + +[[package]] +name = "futures-executor" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", + "num_cpus", +] + +[[package]] +name = "futures-io" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" + +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite 0.2.7", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" +dependencies = [ + "autocfg", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-rustls" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b" +dependencies = [ + "futures-io", + "rustls 0.19.1", + "webpki", +] + +[[package]] +name = "futures-sink" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" + +[[package]] +name = "futures-task" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" + +[[package]] +name = "futures-timer" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" + +[[package]] +name = "futures-util" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" +dependencies = [ + "autocfg", + "futures 0.1.31", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite 0.2.7", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", +] + +[[package]] +name = "ghash" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +dependencies = [ + "opaque-debug 0.3.0", + "polyval", +] + +[[package]] +name = "gimli" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" + +[[package]] +name = "globset" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" +dependencies = [ + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", +] + +[[package]] +name = "gloo-timers" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "h2" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" +dependencies = [ + "byteorder", + "bytes 0.4.12", + "fnv", + "futures 0.1.31", + "http 0.1.21", + "indexmap", + "log", + "slab", + "string", + "tokio-io", +] + +[[package]] +name = "h2" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.4", + "indexmap", + "slab", + "tokio 0.2.25", + "tokio-util", + "tracing", + "tracing-futures", +] + +[[package]] +name = "hash-db" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" + +[[package]] +name = "hash256-std-hasher" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" +dependencies = [ + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +dependencies = [ + "ahash 0.4.7", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash 0.7.4", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex-literal" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76505e26b6ca3bbdbbb360b68472abbb80998c5fa5dc43672eca34f28258e138" + +[[package]] +name = "hex_fmt" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" + +[[package]] +name = "hmac" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" +dependencies = [ + "crypto-mac 0.7.0", + "digest 0.8.1", +] + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac-drbg" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" +dependencies = [ + "digest 0.8.1", + "generic-array 0.12.4", + "hmac 0.7.1", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi 0.3.9", +] + +[[package]] +name = "http" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" +dependencies = [ + "bytes 0.4.12", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +dependencies = [ + "bytes 1.0.1", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "http 0.1.21", + "tokio-buf", +] + +[[package]] +name = "http-body" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" +dependencies = [ + "bytes 0.5.6", + "http 0.2.4", +] + +[[package]] +name = "httparse" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" + +[[package]] +name = "httpdate" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" + +[[package]] +name = "hyper" +version = "0.12.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "futures-cpupool", + "h2 0.1.26", + "http 0.1.21", + "http-body 0.1.0", + "httparse", + "iovec", + "itoa", + "log", + "net2", + "rustc_version", + "time", + "tokio 0.1.22", + "tokio-buf", + "tokio-executor", + "tokio-io", + "tokio-reactor", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "want 0.2.0", +] + +[[package]] +name = "hyper" +version = "0.13.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb" +dependencies = [ + "bytes 0.5.6", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.2.7", + "http 0.2.4", + "http-body 0.3.1", + "httparse", + "httpdate", + "itoa", + "pin-project 1.0.7", + "socket2 0.3.19", + "tokio 0.2.25", + "tower-service", + "tracing", + "want 0.3.0", +] + +[[package]] +name = "hyper-rustls" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6" +dependencies = [ + "bytes 0.5.6", + "ct-logs", + "futures-util", + "hyper 0.13.10", + "log", + "rustls 0.18.1", + "rustls-native-certs", + "tokio 0.2.25", + "tokio-rustls", + "webpki", +] + +[[package]] +name = "idna" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "if-addrs" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48" +dependencies = [ + "if-addrs-sys", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "if-addrs-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "if-watch" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179" +dependencies = [ + "async-io", + "futures 0.3.15", + "futures-lite", + "if-addrs", + "ipnet", + "libc", + "log", + "winapi 0.3.9", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b47ca4d2b6931707a55fce5cf66aff80e2178c8b63bbb4ecb5695cbc870ddf6f" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "indexmap" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +dependencies = [ + "autocfg", + "hashbrown 0.11.2", +] + +[[package]] +name = "instant" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "intervalier" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275" +dependencies = [ + "futures 0.3.15", + "futures-timer 2.0.2", +] + +[[package]] +name = "iovec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +dependencies = [ + "libc", +] + +[[package]] +name = "ip_network" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f" + +[[package]] +name = "ipconfig" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +dependencies = [ + "socket2 0.3.19", + "widestring", + "winapi 0.3.9", + "winreg", +] + +[[package]] +name = "ipnet" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" + +[[package]] +name = "itertools" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" + +[[package]] +name = "jobserver" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpc-client-transports" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "489b9c612e60c766f751ab40fcb43cbb55a1e10bb44a9b4307ed510ca598cbd7" +dependencies = [ + "failure", + "futures 0.1.31", + "jsonrpc-core", + "jsonrpc-pubsub", + "log", + "serde", + "serde_json", + "url 1.7.2", +] + +[[package]] +name = "jsonrpc-core" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0745a6379e3edc893c84ec203589790774e4247420033e71a76d3ab4687991fa" +dependencies = [ + "futures 0.1.31", + "log", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "jsonrpc-core-client" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f764902d7b891344a0acb65625f32f6f7c6db006952143bd650209fbe7d94db" +dependencies = [ + "jsonrpc-client-transports", +] + +[[package]] +name = "jsonrpc-derive" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99a847f9ec7bb52149b2786a17c9cb260d6effc6b8eeb8c16b343a487a7563a3" +dependencies = [ + "proc-macro-crate 0.1.5", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "jsonrpc-http-server" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7" +dependencies = [ + "hyper 0.12.36", + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "net2", + "parking_lot 0.10.2", + "unicase", +] + +[[package]] +name = "jsonrpc-ipc-server" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf50e53e4eea8f421a7316c5f63e395f7bc7c4e786a6dc54d76fab6ff7aa7ce7" +dependencies = [ + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "parity-tokio-ipc", + "parking_lot 0.10.2", + "tokio-service", +] + +[[package]] +name = "jsonrpc-pubsub" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "639558e0604013be9787ae52f798506ae42bf4220fe587bdc5625871cc8b9c77" +dependencies = [ + "jsonrpc-core", + "log", + "parking_lot 0.10.2", + "rand 0.7.3", + "serde", +] + +[[package]] +name = "jsonrpc-server-utils" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f1f3990650c033bd8f6bd46deac76d990f9bbfb5f8dc8c4767bf0a00392176" +dependencies = [ + "bytes 0.4.12", + "globset", + "jsonrpc-core", + "lazy_static", + "log", + "tokio 0.1.22", + "tokio-codec", + "unicase", +] + +[[package]] +name = "jsonrpc-ws-server" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6596fe75209b73a2a75ebe1dce4e60e03b88a2b25e8807b667597f6315150d22" +dependencies = [ + "jsonrpc-core", + "jsonrpc-server-utils", + "log", + "parity-ws", + "parking_lot 0.10.2", + "slab", +] + +[[package]] +name = "keccak" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "kvdb" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8891bd853eff90e33024195d79d578dc984c82f9e0715fcd2b525a0c19d52811" +dependencies = [ + "parity-util-mem", + "smallvec 1.6.1", +] + +[[package]] +name = "kvdb-memorydb" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a0da8e08caf08d384a620ec19bb6c9b85c84137248e202617fb91881f25912" +dependencies = [ + "kvdb", + "parity-util-mem", + "parking_lot 0.11.1", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.97" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" + +[[package]] +name = "libm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" + +[[package]] +name = "libp2p" +version = "0.37.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b" +dependencies = [ + "atomic", + "bytes 1.0.1", + "futures 0.3.15", + "lazy_static", + "libp2p-core", + "libp2p-deflate", + "libp2p-dns", + "libp2p-floodsub", + "libp2p-gossipsub", + "libp2p-identify", + "libp2p-kad", + "libp2p-mdns", + "libp2p-mplex", + "libp2p-noise", + "libp2p-ping", + "libp2p-plaintext", + "libp2p-pnet", + "libp2p-relay", + "libp2p-request-response", + "libp2p-swarm", + "libp2p-swarm-derive", + "libp2p-tcp", + "libp2p-uds", + "libp2p-wasm-ext", + "libp2p-websocket", + "libp2p-yamux", + "parity-multiaddr", + "parking_lot 0.11.1", + "pin-project 1.0.7", + "smallvec 1.6.1", + "wasm-timer", +] + +[[package]] +name = "libp2p-core" +version = "0.28.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "554d3e7e9e65f939d66b75fd6a4c67f258fe250da61b91f46c545fc4a89b51d9" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", + "futures 0.3.15", + "futures-timer 3.0.2", + "lazy_static", + "libsecp256k1", + "log", + "multihash", + "multistream-select", + "parity-multiaddr", + "parking_lot 0.11.1", + "pin-project 1.0.7", + "prost", + "prost-build", + "rand 0.7.3", + "ring", + "rw-stream-sink", + "sha2 0.9.5", + "smallvec 1.6.1", + "thiserror", + "unsigned-varint 0.7.0", + "void", + "zeroize", +] + +[[package]] +name = "libp2p-deflate" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08" +dependencies = [ + "flate2", + "futures 0.3.15", + "libp2p-core", +] + +[[package]] +name = "libp2p-dns" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b" +dependencies = [ + "async-std-resolver", + "futures 0.3.15", + "libp2p-core", + "log", + "smallvec 1.6.1", + "trust-dns-resolver", +] + +[[package]] +name = "libp2p-floodsub" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48a9b570f6766301d9c4aa00fce3554cad1598e2f466debbc4dde909028417cf" +dependencies = [ + "cuckoofilter", + "fnv", + "futures 0.3.15", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "smallvec 1.6.1", +] + +[[package]] +name = "libp2p-gossipsub" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7b0c8506a6ec3344b9e706d7c7a6dba826f8ede735cfe13dde12a8c263c4af9" +dependencies = [ + "asynchronous-codec 0.6.0", + "base64 0.13.0", + "byteorder", + "bytes 1.0.1", + "fnv", + "futures 0.3.15", + "hex_fmt", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "regex", + "sha2 0.9.5", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", + "wasm-timer", +] + +[[package]] +name = "libp2p-identify" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46" +dependencies = [ + "futures 0.3.15", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "smallvec 1.6.1", + "wasm-timer", +] + +[[package]] +name = "libp2p-kad" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b07312ebe5ee4fd2404447a0609814574df55c65d4e20838b957bbd34907d820" +dependencies = [ + "arrayvec 0.5.2", + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "either", + "fnv", + "futures 0.3.15", + "libp2p-core", + "libp2p-swarm", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "sha2 0.9.5", + "smallvec 1.6.1", + "uint", + "unsigned-varint 0.7.0", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-mdns" +version = "0.30.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4efa70c1c3d2d91237f8546e27aeb85e287d62c066a7b4f3ea6a696d43ced714" +dependencies = [ + "async-io", + "data-encoding", + "dns-parser", + "futures 0.3.15", + "if-watch", + "lazy_static", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.8.4", + "smallvec 1.6.1", + "socket2 0.4.0", + "void", +] + +[[package]] +name = "libp2p-mplex" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures 0.3.15", + "libp2p-core", + "log", + "nohash-hasher", + "parking_lot 0.11.1", + "rand 0.7.3", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", +] + +[[package]] +name = "libp2p-noise" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd" +dependencies = [ + "bytes 1.0.1", + "curve25519-dalek 3.1.0", + "futures 0.3.15", + "lazy_static", + "libp2p-core", + "log", + "prost", + "prost-build", + "rand 0.7.3", + "sha2 0.9.5", + "snow", + "static_assertions", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-ping" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1" +dependencies = [ + "futures 0.3.15", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.7.3", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-plaintext" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures 0.3.15", + "libp2p-core", + "log", + "prost", + "prost-build", + "unsigned-varint 0.7.0", + "void", +] + +[[package]] +name = "libp2p-pnet" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599" +dependencies = [ + "futures 0.3.15", + "log", + "pin-project 1.0.7", + "rand 0.7.3", + "salsa20", + "sha3", +] + +[[package]] +name = "libp2p-relay" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8786aca3f18671d8776289706a5521f6c9124a820f69e358de214b9939440d" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures 0.3.15", + "futures-timer 3.0.2", + "libp2p-core", + "libp2p-swarm", + "log", + "pin-project 1.0.7", + "prost", + "prost-build", + "rand 0.7.3", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-request-response" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cdbe172f08e6d0f95fa8634e273d4c4268c4063de2e33e7435194b0130c62e3" +dependencies = [ + "async-trait", + "bytes 1.0.1", + "futures 0.3.15", + "libp2p-core", + "libp2p-swarm", + "log", + "lru", + "minicbor", + "rand 0.7.3", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", + "wasm-timer", +] + +[[package]] +name = "libp2p-swarm" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92" +dependencies = [ + "either", + "futures 0.3.15", + "libp2p-core", + "log", + "rand 0.7.3", + "smallvec 1.6.1", + "void", + "wasm-timer", +] + +[[package]] +name = "libp2p-swarm-derive" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "libp2p-tcp" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9" +dependencies = [ + "async-io", + "futures 0.3.15", + "futures-timer 3.0.2", + "if-watch", + "ipnet", + "libc", + "libp2p-core", + "log", + "socket2 0.4.0", +] + +[[package]] +name = "libp2p-uds" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5" +dependencies = [ + "async-std", + "futures 0.3.15", + "libp2p-core", + "log", +] + +[[package]] +name = "libp2p-wasm-ext" +version = "0.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d413e4cf9b8e5dfbcd2a60d3dc5a3391308bdb463684093d4f67137b7113de" +dependencies = [ + "futures 0.3.15", + "js-sys", + "libp2p-core", + "parity-send-wrapper", + "wasm-bindgen", + "wasm-bindgen-futures", +] + +[[package]] +name = "libp2p-websocket" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74" +dependencies = [ + "either", + "futures 0.3.15", + "futures-rustls", + "libp2p-core", + "log", + "quicksink", + "rw-stream-sink", + "soketto", + "url 2.2.2", + "webpki-roots", +] + +[[package]] +name = "libp2p-yamux" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4" +dependencies = [ + "futures 0.3.15", + "libp2p-core", + "parking_lot 0.11.1", + "thiserror", + "yamux", +] + +[[package]] +name = "libsecp256k1" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" +dependencies = [ + "arrayref", + "crunchy", + "digest 0.8.1", + "hmac-drbg", + "rand 0.7.3", + "sha2 0.8.2", + "subtle 2.4.0", + "typenum", +] + +[[package]] +name = "libz-sys" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" + +[[package]] +name = "linked_hash_set" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "linregress" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6e407dadb4ca4b31bc69c27aff00e7ca4534fdcee855159b039a7cebb5f395" +dependencies = [ + "nalgebra", + "statrs", +] + +[[package]] +name = "lock_api" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "lock_api" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if 1.0.0", + "value-bag", +] + +[[package]] +name = "lru" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba" +dependencies = [ + "hashbrown 0.9.1", +] + +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "matrixmultiply" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741" +dependencies = [ + "rawpointer", +] + +[[package]] +name = "max-encoded-len" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "impl-trait-for-tuples", + "max-encoded-len-derive", + "parity-scale-codec", + "primitive-types", +] + +[[package]] +name = "max-encoded-len-derive" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" + +[[package]] +name = "memoffset" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memory-db" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "814bbecfc0451fc314eeea34f05bbcd5b98a7ad7af37faee088b86a1e633f1d4" +dependencies = [ + "hash-db", + "hashbrown 0.9.1", + "parity-util-mem", +] + +[[package]] +name = "memory_units" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" + +[[package]] +name = "merlin" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "minicbor" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51aa5bb0ca22415daca596a227b507f880ad1b2318a87fa9325312a5d285ca0d" +dependencies = [ + "minicbor-derive", +] + +[[package]] +name = "minicbor-derive" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2b9e8883d58e34b18facd16c4564a77ea50fce028ad3d0ee6753440e37acc8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "miniz_oxide" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +dependencies = [ + "adler", + "autocfg", +] + +[[package]] +name = "mio" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +dependencies = [ + "cfg-if 0.1.10", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow 0.2.2", + "net2", + "slab", + "winapi 0.2.8", +] + +[[package]] +name = "mio-extras" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" +dependencies = [ + "lazycell", + "log", + "mio", + "slab", +] + +[[package]] +name = "mio-named-pipes" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656" +dependencies = [ + "log", + "mio", + "miow 0.3.7", + "winapi 0.3.9", +] + +[[package]] +name = "mio-uds" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" +dependencies = [ + "iovec", + "libc", + "mio", +] + +[[package]] +name = "miow" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +dependencies = [ + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "multibase" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b78c60039650ff12e140ae867ef5299a58e19dded4d334c849dc7177083667e2" +dependencies = [ + "base-x", + "data-encoding", + "data-encoding-macro", +] + +[[package]] +name = "multihash" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "digest 0.9.0", + "generic-array 0.14.4", + "multihash-derive", + "sha2 0.9.5", + "sha3", + "unsigned-varint 0.5.1", +] + +[[package]] +name = "multihash-derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "multistream-select" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8" +dependencies = [ + "bytes 1.0.1", + "futures 0.3.15", + "log", + "pin-project 1.0.7", + "smallvec 1.6.1", + "unsigned-varint 0.7.0", +] + +[[package]] +name = "nalgebra" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" +dependencies = [ + "approx", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational 0.4.0", + "num-traits", + "rand 0.8.4", + "rand_distr", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "net2" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "num-bigint" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +dependencies = [ + "parking_lot 0.11.1", +] + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl-probe" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" + +[[package]] +name = "orml-traits" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=master#443ee91bc2ca5f1fc155c0378eef6e89b67e2e97" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "num-traits", + "orml-utilities", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", +] + +[[package]] +name = "orml-utilities" +version = "0.4.1-dev" +source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=master#443ee91bc2ca5f1fc155c0378eef6e89b67e2e97" +dependencies = [ + "frame-support", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-assets" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "max-encoded-len", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-authority-discovery" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "pallet-session", + "parity-scale-codec", + "sp-application-crypto", + "sp-authority-discovery", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-authorship" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-authorship", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-babe" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-vrf", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-balances" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "max-encoded-len", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-beefy" +version = "0.1.0" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.7#299dd5fd3fabd99c3c919f1312001283ddc5b365" +dependencies = [ + "beefy-primitives", + "frame-support", + "frame-system", + "pallet-session", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-bounties" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "pallet-treasury", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-collective" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-democracy" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-election-provider-multi-phase" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-std", + "static_assertions", +] + +[[package]] +name = "pallet-elections-phragmen" +version = "4.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-grandpa" +version = "3.1.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "sp-application-crypto", + "sp-core", + "sp-finality-grandpa", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-identity" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "enumflags2", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-im-online" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "parity-scale-codec", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-indices" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-keyring", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-membership" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-mmr" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "ckb-merkle-mountain-range", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-mmr-primitives", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-mmr-primitives" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "serde", + "sp-api", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-multisig" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-nicks" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-offences" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-proxy" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "max-encoded-len", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-randomness-collective-flip" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "safe-mix", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-scheduler" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-session" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "pallet-timestamp", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-trie", +] + +[[package]] +name = "pallet-staking" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "paste", + "serde", + "sp-application-crypto", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", + "static_assertions", +] + +[[package]] +name = "pallet-staking-reward-curve" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pallet-timestamp" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-timestamp", +] + +[[package]] +name = "pallet-tips" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "pallet-treasury", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-transaction-payment" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "smallvec 1.6.1", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-transaction-payment-rpc-runtime-api" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "pallet-transaction-payment", + "parity-scale-codec", + "sp-api", + "sp-runtime", +] + +[[package]] +name = "pallet-treasury" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-balances", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-utility" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-vesting" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "enumflags2", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-xcm" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "parachain-info" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.7#c5c3abf7eb9d4fdfb588d6560efaa8dca66a8dbc" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", +] + +[[package]] +name = "parity-multiaddr" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4" +dependencies = [ + "arrayref", + "bs58", + "byteorder", + "data-encoding", + "multihash", + "percent-encoding 2.1.0", + "serde", + "static_assertions", + "unsigned-varint 0.7.0", + "url 2.2.2", +] + +[[package]] +name = "parity-scale-codec" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8975095a2a03bbbdc70a74ab11a4f76a6d0b84680d87c68d722531b0ac28e8a9" +dependencies = [ + "arrayvec 0.7.1", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40dbbfef7f0a1143c5b06e0d76a6278e25dac0bc1af4be51a0fbb73f07e7ad09" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-send-wrapper" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" + +[[package]] +name = "parity-tokio-ipc" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "libc", + "log", + "mio-named-pipes", + "miow 0.3.7", + "rand 0.7.3", + "tokio 0.1.22", + "tokio-named-pipes", + "tokio-uds", + "winapi 0.3.9", +] + +[[package]] +name = "parity-util-mem" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42" +dependencies = [ + "cfg-if 1.0.0", + "ethereum-types", + "hashbrown 0.9.1", + "impl-trait-for-tuples", + "lru", + "parity-util-mem-derive", + "parking_lot 0.11.1", + "primitive-types", + "smallvec 1.6.1", + "winapi 0.3.9", +] + +[[package]] +name = "parity-util-mem-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" +dependencies = [ + "proc-macro2", + "syn", + "synstructure", +] + +[[package]] +name = "parity-wasm" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" +dependencies = [ + "byteorder", +] + +[[package]] +name = "parity-wasm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" + +[[package]] +name = "parity-ws" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61" +dependencies = [ + "byteorder", + "bytes 0.4.12", + "httparse", + "log", + "mio", + "mio-extras", + "rand 0.7.3", + "sha-1 0.8.2", + "slab", + "url 2.2.2", +] + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +dependencies = [ + "lock_api 0.3.4", + "parking_lot_core 0.6.2", + "rustc_version", +] + +[[package]] +name = "parking_lot" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" +dependencies = [ + "lock_api 0.3.4", + "parking_lot_core 0.7.2", +] + +[[package]] +name = "parking_lot" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +dependencies = [ + "instant", + "lock_api 0.4.4", + "parking_lot_core 0.8.3", +] + +[[package]] +name = "parking_lot_core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +dependencies = [ + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "rustc_version", + "smallvec 0.6.14", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" +dependencies = [ + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "smallvec 1.6.1", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall 0.2.9", + "smallvec 1.6.1", + "winapi 0.3.9", +] + +[[package]] +name = "paste" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" + +[[package]] +name = "pbkdf2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" +dependencies = [ + "byteorder", + "crypto-mac 0.7.0", +] + +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + +[[package]] +name = "pdqselect" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" + +[[package]] +name = "percent-encoding" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pest" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +dependencies = [ + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "pin-project" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f" +dependencies = [ + "pin-project-internal 0.4.28", +] + +[[package]] +name = "pin-project" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4" +dependencies = [ + "pin-project-internal 1.0.7", +] + +[[package]] +name = "pin-project-internal" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" + +[[package]] +name = "pin-project-lite" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "polkadot-client" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "beefy-primitives", + "frame-benchmarking", + "frame-system-rpc-runtime-api", + "pallet-mmr-primitives", + "pallet-transaction-payment-rpc-runtime-api", + "polkadot-primitives", + "polkadot-runtime", + "sc-client-api", + "sc-executor", + "sc-service", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-finality-grandpa", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", +] + +[[package]] +name = "polkadot-core-primitives" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "parity-scale-codec", + "parity-util-mem", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "polkadot-parachain" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "derive_more", + "parity-scale-codec", + "parity-util-mem", + "polkadot-core-primitives", + "serde", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "polkadot-primitives" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "bitvec", + "frame-system", + "hex-literal", + "parity-scale-codec", + "parity-util-mem", + "polkadot-core-primitives", + "polkadot-parachain", + "serde", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-staking", + "sp-std", + "sp-trie", + "sp-version", + "thiserror", +] + +[[package]] +name = "polkadot-runtime" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "beefy-primitives", + "bitvec", + "frame-election-provider-support", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "max-encoded-len", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-bounties", + "pallet-collective", + "pallet-democracy", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-mmr-primitives", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-proxy", + "pallet-randomness-collective-flip", + "pallet-scheduler", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-timestamp", + "pallet-tips", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder", +] + +[[package]] +name = "polkadot-runtime-common" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "beefy-primitives", + "bitvec", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "libsecp256k1", + "log", + "pallet-authorship", + "pallet-balances", + "pallet-beefy", + "pallet-mmr", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-treasury", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "slot-range-helper", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "static_assertions", + "xcm", +] + +[[package]] +name = "polkadot-runtime-parachains" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "bitvec", + "derive_more", + "frame-support", + "frame-system", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-balances", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "rand 0.8.4", + "rand_chacha 0.3.1", + "rustc-hex", + "serde", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "polling" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "log", + "wepoll-ffi", + "winapi 0.3.9", +] + +[[package]] +name = "poly1305" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8" +dependencies = [ + "cpuid-bool", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +dependencies = [ + "cpuid-bool", + "opaque-debug 0.3.0", + "universal-hash", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" + +[[package]] +name = "primitive-types" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06345ee39fbccfb06ab45f3a1a5798d9dafa04cb8921a76d227040003a234b0e" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-crate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" +dependencies = [ + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + +[[package]] +name = "proc-macro2" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "prometheus" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8425533e7122f0c3cc7a37e6244b16ad3a2cc32ae7ac6276e2a75da0d9c200d" +dependencies = [ + "cfg-if 1.0.0", + "fnv", + "lazy_static", + "parking_lot 0.11.1", + "regex", + "thiserror", +] + +[[package]] +name = "prost" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2" +dependencies = [ + "bytes 1.0.1", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3" +dependencies = [ + "bytes 1.0.1", + "heck", + "itertools", + "log", + "multimap", + "petgraph", + "prost", + "prost-types", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "prost-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb" +dependencies = [ + "bytes 1.0.1", + "prost", +] + +[[package]] +name = "pwasm-utils" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c1a2f10b47d446372a4f397c58b329aaea72b2daf9395a623a411cb8ccb54f" +dependencies = [ + "byteorder", + "log", + "parity-wasm 0.42.2", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quicksink" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project-lite 0.1.12", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc 0.2.0", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", + "rand_hc 0.3.1", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.3", +] + +[[package]] +name = "rand_distr" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142" +dependencies = [ + "num-traits", + "rand 0.8.4", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_hc" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" +dependencies = [ + "rand_core 0.6.3", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "redox_syscall" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + +[[package]] +name = "redox_syscall" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom 0.2.3", + "redox_syscall 0.2.9", +] + +[[package]] +name = "ref-cast" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "regex" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error", +] + +[[package]] +name = "retain_mut" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9c17925a9027d298a4603d286befe3f9dc0e8ed02523141914eb628798d6e5b" + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi 0.3.9", +] + +[[package]] +name = "rlp" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8" +dependencies = [ + "bytes 1.0.1", + "rustc-hex", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + +[[package]] +name = "rustls" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" +dependencies = [ + "base64 0.12.3", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +dependencies = [ + "base64 0.13.0", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8" +dependencies = [ + "openssl-probe", + "rustls 0.18.1", + "schannel", + "security-framework", +] + +[[package]] +name = "ruzstd" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cada0ef59efa6a5f4dc5e491f93d9f31e3fc7758df421ff1de8a706338e1100" +dependencies = [ + "byteorder", + "twox-hash", +] + +[[package]] +name = "rw-stream-sink" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" +dependencies = [ + "futures 0.3.15", + "pin-project 0.4.28", + "static_assertions", +] + +[[package]] +name = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "safe-mix" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" +dependencies = [ + "rustc_version", +] + +[[package]] +name = "salsa20" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15" +dependencies = [ + "cipher", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "sc-block-builder" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "sc-client-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-chain-spec" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "sc-chain-spec-derive", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-finality-grandpa", + "sc-network", + "sc-telemetry", + "serde", + "serde_json", + "sp-chain-spec", + "sp-consensus-babe", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sc-chain-spec-derive" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sc-client-api" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "derive_more", + "fnv", + "futures 0.3.15", + "hash-db", + "kvdb", + "lazy_static", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-executor", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-externalities", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-storage", + "sp-transaction-pool", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-client-db" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "blake2-rfc", + "hash-db", + "kvdb", + "kvdb-memorydb", + "linked-hash-map", + "log", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "sc-client-api", + "sc-executor", + "sc-state-db", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parking_lot 0.11.1", + "sc-client-api", + "sp-blockchain", + "sp-consensus", + "sp-runtime", +] + +[[package]] +name = "sc-consensus-babe" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "derive_more", + "fork-tree", + "futures 0.3.15", + "futures-timer 3.0.2", + "log", + "merlin", + "num-bigint", + "num-rational 0.2.4", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.1", + "pdqselect", + "rand 0.7.3", + "retain_mut", + "sc-client-api", + "sc-consensus-epochs", + "sc-consensus-slots", + "sc-consensus-uncles", + "sc-keystore", + "sc-telemetry", + "schnorrkel", + "serde", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-consensus-vrf", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-consensus-epochs" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "fork-tree", + "parity-scale-codec", + "sc-client-api", + "sc-consensus", + "sp-blockchain", + "sp-runtime", +] + +[[package]] +name = "sc-consensus-slots" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "futures 0.3.15", + "futures-timer 3.0.2", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-timestamp", + "sp-trie", + "thiserror", +] + +[[package]] +name = "sc-consensus-uncles" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "sc-client-api", + "sp-authorship", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "sc-executor" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "derive_more", + "lazy_static", + "libsecp256k1", + "log", + "parity-scale-codec", + "parity-wasm 0.42.2", + "parking_lot 0.11.1", + "sc-executor-common", + "sc-executor-wasmi", + "sp-api", + "sp-core", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", + "sp-serializer", + "sp-tasks", + "sp-trie", + "sp-version", + "sp-wasm-interface", + "wasmi", +] + +[[package]] +name = "sc-executor-common" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "derive_more", + "parity-scale-codec", + "pwasm-utils", + "sp-allocator", + "sp-core", + "sp-maybe-compressed-blob", + "sp-serializer", + "sp-wasm-interface", + "thiserror", + "wasmi", +] + +[[package]] +name = "sc-executor-wasmi" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "log", + "parity-scale-codec", + "sc-executor-common", + "sp-allocator", + "sp-core", + "sp-runtime-interface", + "sp-wasm-interface", + "wasmi", +] + +[[package]] +name = "sc-finality-grandpa" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "derive_more", + "dyn-clone", + "finality-grandpa", + "fork-tree", + "futures 0.3.15", + "futures-timer 3.0.2", + "linked-hash-map", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "pin-project 1.0.7", + "rand 0.7.3", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-keystore", + "sc-network", + "sc-network-gossip", + "sc-telemetry", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-utils", + "substrate-prometheus-endpoint", + "wasm-timer", +] + +[[package]] +name = "sc-informant" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "ansi_term", + "futures 0.3.15", + "futures-timer 3.0.2", + "log", + "parity-util-mem", + "sc-client-api", + "sc-network", + "sp-blockchain", + "sp-runtime", + "sp-transaction-pool", + "wasm-timer", +] + +[[package]] +name = "sc-keystore" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "derive_more", + "futures 0.3.15", + "futures-util", + "hex", + "merlin", + "parking_lot 0.11.1", + "rand 0.7.3", + "serde_json", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "subtle 2.4.0", +] + +[[package]] +name = "sc-light" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "hash-db", + "lazy_static", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-client-api", + "sc-executor", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-network" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-std", + "async-trait", + "asynchronous-codec 0.5.0", + "bitflags", + "bs58", + "bytes 1.0.1", + "cid", + "derive_more", + "either", + "erased-serde", + "fnv", + "fork-tree", + "futures 0.3.15", + "futures-timer 3.0.2", + "hex", + "ip_network", + "libp2p", + "linked-hash-map", + "linked_hash_set", + "log", + "lru", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.11.1", + "pin-project 1.0.7", + "prost", + "prost-build", + "rand 0.7.3", + "sc-block-builder", + "sc-client-api", + "sc-peerset", + "serde", + "serde_json", + "smallvec 1.6.1", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-utils", + "substrate-prometheus-endpoint", + "thiserror", + "unsigned-varint 0.6.0", + "void", + "wasm-timer", + "zeroize", +] + +[[package]] +name = "sc-network-gossip" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.3.15", + "futures-timer 3.0.2", + "libp2p", + "log", + "lru", + "sc-network", + "sp-runtime", + "substrate-prometheus-endpoint", + "tracing", + "wasm-timer", +] + +[[package]] +name = "sc-offchain" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures 0.3.15", + "futures-timer 3.0.2", + "hex", + "hyper 0.13.10", + "hyper-rustls", + "log", + "num_cpus", + "parity-scale-codec", + "parking_lot 0.11.1", + "rand 0.7.3", + "sc-client-api", + "sc-keystore", + "sc-network", + "sp-api", + "sp-core", + "sp-offchain", + "sp-runtime", + "sp-utils", + "threadpool", +] + +[[package]] +name = "sc-peerset" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.3.15", + "libp2p", + "log", + "serde_json", + "sp-utils", + "wasm-timer", +] + +[[package]] +name = "sc-rpc" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.3.15", + "hash-db", + "jsonrpc-core", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sc-block-builder", + "sc-client-api", + "sc-executor", + "sc-keystore", + "sc-rpc-api", + "sc-tracing", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-chain-spec", + "sp-core", + "sp-keystore", + "sp-offchain", + "sp-rpc", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-tracing", + "sp-transaction-pool", + "sp-utils", + "sp-version", +] + +[[package]] +name = "sc-rpc-api" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "derive_more", + "futures 0.3.15", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "serde", + "serde_json", + "sp-chain-spec", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-tracing", + "sp-transaction-pool", + "sp-version", +] + +[[package]] +name = "sc-rpc-server" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.1.31", + "jsonrpc-core", + "jsonrpc-http-server", + "jsonrpc-ipc-server", + "jsonrpc-pubsub", + "jsonrpc-ws-server", + "log", + "serde", + "serde_json", + "sp-runtime", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-service" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "directories", + "exit-future", + "futures 0.1.31", + "futures 0.3.15", + "futures-timer 3.0.2", + "hash-db", + "jsonrpc-core", + "jsonrpc-pubsub", + "lazy_static", + "log", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "pin-project 1.0.7", + "rand 0.7.3", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-client-db", + "sc-executor", + "sc-informant", + "sc-keystore", + "sc-light", + "sc-network", + "sc-offchain", + "sc-rpc", + "sc-rpc-server", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "serde", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-tracing", + "sp-transaction-pool", + "sp-transaction-storage-proof", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", + "tempfile", + "thiserror", + "tracing", + "tracing-futures", + "wasm-timer", +] + +[[package]] +name = "sc-state-db" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "log", + "parity-scale-codec", + "parity-util-mem", + "parity-util-mem-derive", + "parking_lot 0.11.1", + "sc-client-api", + "sp-core", + "thiserror", +] + +[[package]] +name = "sc-telemetry" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "chrono", + "futures 0.3.15", + "libp2p", + "log", + "parking_lot 0.11.1", + "pin-project 1.0.7", + "rand 0.7.3", + "serde", + "serde_json", + "take_mut", + "thiserror", + "void", + "wasm-timer", +] + +[[package]] +name = "sc-tracing" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "ansi_term", + "atty", + "erased-serde", + "lazy_static", + "log", + "once_cell", + "parking_lot 0.11.1", + "regex", + "rustc-hash", + "sc-client-api", + "sc-rpc-server", + "sc-telemetry", + "sc-tracing-proc-macro", + "serde", + "serde_json", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-storage", + "sp-tracing", + "thiserror", + "tracing", + "tracing-log", + "tracing-subscriber", + "wasm-bindgen", + "wasm-timer", + "web-sys", +] + +[[package]] +name = "sc-tracing-proc-macro" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sc-transaction-graph" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "derive_more", + "futures 0.3.15", + "linked-hash-map", + "log", + "parity-util-mem", + "parking_lot 0.11.1", + "retain_mut", + "serde", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-transaction-pool", + "sp-utils", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "sc-transaction-pool" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.3.15", + "intervalier", + "log", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "sc-client-api", + "sc-transaction-graph", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-tracing", + "sp-transaction-pool", + "sp-utils", + "substrate-prometheus-endpoint", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "schannel" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +dependencies = [ + "lazy_static", + "winapi 0.3.9", +] + +[[package]] +name = "schnorrkel" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "curve25519-dalek 2.1.2", + "getrandom 0.1.16", + "merlin", + "rand 0.7.3", + "rand_core 0.5.1", + "sha2 0.8.2", + "subtle 2.4.0", + "zeroize", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "sct" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "secrecy" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0673d6a6449f5e7d12a1caf424fd9363e2af3a4953023ed455e3c4beef4597c0" +dependencies = [ + "zeroize", +] + +[[package]] +name = "security-framework" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad502866817f0575705bd7be36e2b2535cc33262d493aa733a2ec862baa2bc2b" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51ceb04988b17b6d1dcd555390fa822ca5637b4a14e1f5099f13d351bed4d6c7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" +dependencies = [ + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser 0.10.2", + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "serde" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha-1" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sha3" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "keccak", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sharded-slab" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" + +[[package]] +name = "simba" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", +] + +[[package]] +name = "slab" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" + +[[package]] +name = "slog" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" +dependencies = [ + "erased-serde", +] + +[[package]] +name = "slot-range-helper" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "enumn", + "parity-scale-codec", + "paste", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", +] + +[[package]] +name = "smallvec" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" + +[[package]] +name = "snow" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "795dd7aeeee24468e5a32661f6d27f7b5cbed802031b2d7640c7b10f8fb2dd50" +dependencies = [ + "aes-gcm", + "blake2", + "chacha20poly1305", + "rand 0.7.3", + "rand_core 0.5.1", + "ring", + "rustc_version", + "sha2 0.9.5", + "subtle 2.4.0", + "x25519-dalek", +] + +[[package]] +name = "socket2" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "socket2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "soketto" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5c71ed3d54db0a699f4948e1bb3e45b450fa31fe602621dee6680361d569c88" +dependencies = [ + "base64 0.12.3", + "bytes 0.5.6", + "flate2", + "futures 0.3.15", + "httparse", + "log", + "rand 0.7.3", + "sha-1 0.9.6", +] + +[[package]] +name = "sp-allocator" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "log", + "sp-core", + "sp-std", + "sp-wasm-interface", + "thiserror", +] + +[[package]] +name = "sp-api" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-version", + "thiserror", +] + +[[package]] +name = "sp-api-proc-macro" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "blake2-rfc", + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-application-crypto" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "max-encoded-len", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-std", +] + +[[package]] +name = "sp-arithmetic" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "serde", + "sp-debug-derive", + "sp-std", + "static_assertions", +] + +[[package]] +name = "sp-authority-discovery" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-authorship" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "parity-scale-codec", + "sp-inherents", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-block-builder" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-inherents", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-blockchain" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.3.15", + "log", + "lru", + "parity-scale-codec", + "parking_lot 0.11.1", + "sp-api", + "sp-consensus", + "sp-database", + "sp-runtime", + "sp-state-machine", + "thiserror", +] + +[[package]] +name = "sp-chain-spec" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "sp-consensus" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "futures 0.3.15", + "futures-timer 3.0.2", + "libp2p", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "serde", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-utils", + "sp-version", + "substrate-prometheus-endpoint", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "sp-consensus-babe" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "merlin", + "parity-scale-codec", + "serde", + "sp-api", + "sp-application-crypto", + "sp-consensus", + "sp-consensus-slots", + "sp-consensus-vrf", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-std", + "sp-timestamp", +] + +[[package]] +name = "sp-consensus-slots" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "sp-arithmetic", + "sp-runtime", +] + +[[package]] +name = "sp-consensus-vrf" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "schnorrkel", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-core" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "base58", + "blake2-rfc", + "byteorder", + "dyn-clonable", + "ed25519-dalek", + "futures 0.3.15", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "max-encoded-len", + "merlin", + "num-traits", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "primitive-types", + "rand 0.7.3", + "regex", + "schnorrkel", + "secrecy", + "serde", + "sha2 0.9.5", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", + "substrate-bip39", + "thiserror", + "tiny-bip39", + "tiny-keccak", + "twox-hash", + "wasmi", + "zeroize", +] + +[[package]] +name = "sp-database" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "kvdb", + "parking_lot 0.11.1", +] + +[[package]] +name = "sp-debug-derive" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-externalities" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std", + "sp-storage", +] + +[[package]] +name = "sp-finality-grandpa" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "finality-grandpa", + "log", + "parity-scale-codec", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-inherents" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-core", + "sp-runtime", + "sp-std", + "thiserror", +] + +[[package]] +name = "sp-io" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.3.15", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot 0.11.1", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-maybe-compressed-blob", + "sp-runtime-interface", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-trie", + "sp-wasm-interface", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-keyring" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "lazy_static", + "sp-core", + "sp-runtime", + "strum", +] + +[[package]] +name = "sp-keystore" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "derive_more", + "futures 0.3.15", + "merlin", + "parity-scale-codec", + "parking_lot 0.11.1", + "schnorrkel", + "serde", + "sp-core", + "sp-externalities", +] + +[[package]] +name = "sp-maybe-compressed-blob" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "ruzstd", + "zstd", +] + +[[package]] +name = "sp-npos-elections" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-arithmetic", + "sp-core", + "sp-npos-elections-compact", + "sp-std", +] + +[[package]] +name = "sp-npos-elections-compact" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-offchain" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "sp-api", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sp-panic-handler" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "backtrace", +] + +[[package]] +name = "sp-rpc" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "rustc-hash", + "serde", + "sp-core", + "tracing-core", +] + +[[package]] +name = "sp-runtime" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "max-encoded-len", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "serde", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std", +] + +[[package]] +name = "sp-runtime-interface" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "Inflector", + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-serializer" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "sp-session" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-core", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "sp-staking" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "sp-state-machine" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.1", + "rand 0.7.3", + "smallvec 1.6.1", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-std", + "sp-trie", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-std" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" + +[[package]] +name = "sp-storage" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive", + "sp-std", +] + +[[package]] +name = "sp-tasks" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "log", + "sp-core", + "sp-externalities", + "sp-io", + "sp-runtime-interface", + "sp-std", +] + +[[package]] +name = "sp-timestamp" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "futures-timer 3.0.2", + "log", + "parity-scale-codec", + "sp-api", + "sp-inherents", + "sp-runtime", + "sp-std", + "thiserror", + "wasm-timer", +] + +[[package]] +name = "sp-tracing" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "erased-serde", + "log", + "parity-scale-codec", + "parking_lot 0.10.2", + "serde", + "serde_json", + "slog", + "sp-std", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-transaction-pool" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "derive_more", + "futures 0.3.15", + "log", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "sp-transaction-storage-proof" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-trait", + "log", + "parity-scale-codec", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] +name = "sp-trie" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "hash-db", + "memory-db", + "parity-scale-codec", + "sp-core", + "sp-std", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-utils" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "futures 0.3.15", + "futures-core", + "futures-timer 3.0.2", + "lazy_static", + "prometheus", +] + +[[package]] +name = "sp-version" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", + "sp-version-proc-macro", +] + +[[package]] +name = "sp-version-proc-macro" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "parity-scale-codec", + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-wasm-interface" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-std", + "wasmi", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "statrs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" +dependencies = [ + "approx", + "lazy_static", + "nalgebra", + "num-traits", + "rand 0.8.4", +] + +[[package]] +name = "stream-cipher" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c80e15f898d8d8f25db24c253ea615cc14acf418ff307822995814e7d42cfa89" +dependencies = [ + "block-cipher", + "generic-array 0.14.4", +] + +[[package]] +name = "string" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" +dependencies = [ + "bytes 0.4.12", +] + +[[package]] +name = "strum" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "substrate-bip39" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236" +dependencies = [ + "hmac 0.7.1", + "pbkdf2 0.3.0", + "schnorrkel", + "sha2 0.8.2", + "zeroize", +] + +[[package]] +name = "substrate-prometheus-endpoint" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.7#9c572625f6557dfdb19f47474369a0327d51dfbc" +dependencies = [ + "async-std", + "derive_more", + "futures-util", + "hyper 0.13.10", + "log", + "prometheus", + "tokio 0.2.25", +] + +[[package]] +name = "substrate-wasm-builder" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79091baab813855ddf65b191de9fe53e656b6b67c1e9bd23fdcbff8788164684" +dependencies = [ + "ansi_term", + "atty", + "build-helper", + "cargo_metadata", + "tempfile", + "toml", + "walkdir", + "wasm-gc-api", +] + +[[package]] +name = "subtle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + +[[package]] +name = "subtle" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" + +[[package]] +name = "syn" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "synstructure" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "take_mut" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "rand 0.8.4", + "redox_syscall 0.2.9", + "remove_dir_all", + "winapi 0.3.9", +] + +[[package]] +name = "thiserror" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd" +dependencies = [ + "once_cell", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi 0.3.9", +] + +[[package]] +name = "tiny-bip39" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e44c4759bae7f1032e286a7ef990bd9ed23fe831b7eeba0beb97484c2e59b8" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.5", + "thiserror", + "unicode-normalization", + "zeroize", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "mio", + "num_cpus", + "tokio-codec", + "tokio-current-thread", + "tokio-executor", + "tokio-fs", + "tokio-io", + "tokio-reactor", + "tokio-sync", + "tokio-tcp", + "tokio-threadpool", + "tokio-timer", + "tokio-udp", + "tokio-uds", +] + +[[package]] +name = "tokio" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures-core", + "iovec", + "lazy_static", + "memchr", + "mio", + "pin-project-lite 0.1.12", + "slab", +] + +[[package]] +name = "tokio-buf" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" +dependencies = [ + "bytes 0.4.12", + "either", + "futures 0.1.31", +] + +[[package]] +name = "tokio-codec" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "tokio-io", +] + +[[package]] +name = "tokio-current-thread" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" +dependencies = [ + "futures 0.1.31", + "tokio-executor", +] + +[[package]] +name = "tokio-executor" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", +] + +[[package]] +name = "tokio-fs" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" +dependencies = [ + "futures 0.1.31", + "tokio-io", + "tokio-threadpool", +] + +[[package]] +name = "tokio-io" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "log", +] + +[[package]] +name = "tokio-named-pipes" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "mio", + "mio-named-pipes", + "tokio 0.1.22", +] + +[[package]] +name = "tokio-reactor" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", + "lazy_static", + "log", + "mio", + "num_cpus", + "parking_lot 0.9.0", + "slab", + "tokio-executor", + "tokio-io", + "tokio-sync", +] + +[[package]] +name = "tokio-rustls" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" +dependencies = [ + "futures-core", + "rustls 0.18.1", + "tokio 0.2.25", + "webpki", +] + +[[package]] +name = "tokio-service" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" +dependencies = [ + "futures 0.1.31", +] + +[[package]] +name = "tokio-sync" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" +dependencies = [ + "fnv", + "futures 0.1.31", +] + +[[package]] +name = "tokio-tcp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "iovec", + "mio", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-threadpool" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" +dependencies = [ + "crossbeam-deque", + "crossbeam-queue", + "crossbeam-utils 0.7.2", + "futures 0.1.31", + "lazy_static", + "log", + "num_cpus", + "slab", + "tokio-executor", +] + +[[package]] +name = "tokio-timer" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", + "slab", + "tokio-executor", +] + +[[package]] +name = "tokio-udp" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "log", + "mio", + "tokio-codec", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-uds" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "iovec", + "libc", + "log", + "mio", + "mio-uds", + "tokio-codec", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-util" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +dependencies = [ + "bytes 0.5.6", + "futures-core", + "futures-sink", + "log", + "pin-project-lite 0.1.12", + "tokio 0.2.25", +] + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "tower-service" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" + +[[package]] +name = "tracing" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +dependencies = [ + "cfg-if 1.0.0", + "log", + "pin-project-lite 0.2.7", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project 1.0.7", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb65ea441fbb84f9f6748fd496cf7f63ec9af5bca94dd86456978d055e8eb28b" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab69019741fca4d98be3c62d2b75254528b5432233fd8a4d2739fec20278de48" +dependencies = [ + "ansi_term", + "chrono", + "lazy_static", + "matchers", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec 1.6.1", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", +] + +[[package]] +name = "trie-db" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa" +dependencies = [ + "hash-db", + "hashbrown 0.11.2", + "log", + "rustc-hex", + "smallvec 1.6.1", +] + +[[package]] +name = "trie-root" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd" +dependencies = [ + "hash-db", +] + +[[package]] +name = "trust-dns-proto" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4" +dependencies = [ + "async-trait", + "cfg-if 1.0.0", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.2.3", + "ipnet", + "lazy_static", + "log", + "rand 0.8.4", + "smallvec 1.6.1", + "thiserror", + "tinyvec", + "url 2.2.2", +] + +[[package]] +name = "trust-dns-resolver" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770" +dependencies = [ + "cfg-if 1.0.0", + "futures-util", + "ipconfig", + "lazy_static", + "log", + "lru-cache", + "parking_lot 0.11.1", + "resolv-conf", + "smallvec 1.6.1", + "thiserror", + "trust-dns-proto", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "twox-hash" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f8ab788026715fa63b31960869617cba39117e520eb415b0139543e325ab59" +dependencies = [ + "cfg-if 0.1.10", + "rand 0.7.3", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" + +[[package]] +name = "ucd-trie" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" + +[[package]] +name = "uint" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" +dependencies = [ + "matches", +] + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "universal-hash" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" +dependencies = [ + "generic-array 0.14.4", + "subtle 2.4.0", +] + +[[package]] +name = "unsigned-varint" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35" + +[[package]] +name = "unsigned-varint" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2" +dependencies = [ + "asynchronous-codec 0.5.0", + "bytes 1.0.1", + "futures-io", + "futures-util", +] + +[[package]] +name = "unsigned-varint" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" +dependencies = [ + "asynchronous-codec 0.6.0", + "bytes 1.0.1", + "futures-io", + "futures-util", +] + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" +dependencies = [ + "idna 0.1.5", + "matches", + "percent-encoding 1.0.1", +] + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna 0.2.3", + "matches", + "percent-encoding 2.1.0", +] + +[[package]] +name = "value-bag" +version = "1.0.0-alpha.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae" +dependencies = [ + "ctor", + "version_check", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi 0.3.9", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" +dependencies = [ + "futures 0.1.31", + "log", + "try-lock", +] + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasm-bindgen" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" +dependencies = [ + "bumpalo", + "lazy_static", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" + +[[package]] +name = "wasm-gc-api" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" +dependencies = [ + "log", + "parity-wasm 0.32.0", + "rustc-demangle", +] + +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" +dependencies = [ + "futures 0.3.15", + "js-sys", + "parking_lot 0.11.1", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmi" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ee05bba3d1d994652079893941a2ef9324d2b58a63c31b40678fb7eddd7a5a" +dependencies = [ + "downcast-rs", + "libc", + "memory_units", + "num-rational 0.2.4", + "num-traits", + "parity-wasm 0.42.2", + "wasmi-validation", +] + +[[package]] +name = "wasmi-validation" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb8e860796d8be48efef530b60eebf84e74a88bce107374fffb0da97d504b8" +dependencies = [ + "parity-wasm 0.42.2", +] + +[[package]] +name = "web-sys" +version = "0.3.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" +dependencies = [ + "webpki", +] + +[[package]] +name = "wepoll-ffi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" +dependencies = [ + "cc", +] + +[[package]] +name = "which" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe" +dependencies = [ + "either", + "libc", +] + +[[package]] +name = "widestring" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "winreg" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "ws2_32-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "x25519-dalek" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" +dependencies = [ + "curve25519-dalek 3.1.0", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "xcm" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "derivative", + "impl-trait-for-tuples", + "parity-scale-codec", +] + +[[package]] +name = "xcm-builder" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-transaction-payment", + "parity-scale-codec", + "polkadot-parachain", + "sp-arithmetic", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "xcm-calls" +version = "0.0.1" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", +] + +[[package]] +name = "xcm-executor" +version = "0.9.7" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.7#5d35bac7408a4cb12a578764217d06f3920b36aa" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", +] + +[[package]] +name = "xcm-simulator" +version = "0.1.0" +source = "git+https://github.com/shaunxw/xcm-simulator?branch=master#fcebc2a0308aad3d8cab0081881530cd0a0a3d69" +dependencies = [ + "cumulus-pallet-dmp-queue", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "frame-support", + "parity-scale-codec", + "paste", + "polkadot-runtime-parachains", + "sp-io", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "xcm-test-support" +version = "0.0.1" +dependencies = [ + "cumulus-pallet-dmp-queue", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-core", + "frame-election-provider-support", + "frame-support", + "frame-system", + "max-encoded-len", + "orml-traits", + "pallet-assets", + "pallet-balances", + "pallet-proxy", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-timestamp", + "pallet-xcm", + "parachain-info", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-runtime-parachains", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", + "xcm", + "xcm-builder", + "xcm-calls", + "xcm-executor", + "xcm-simulator", +] + +[[package]] +name = "yamux" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" +dependencies = [ + "futures 0.3.15", + "log", + "nohash-hasher", + "parking_lot 0.11.1", + "rand 0.8.4", + "static_assertions", +] + +[[package]] +name = "zeroize" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2c1e130bebaeab2f23886bf9acbaca14b092408c452543c857f66399cd6dab1" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zstd" +version = "0.6.1+zstd.1.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de55e77f798f205d8561b8fe2ef57abfb6e0ff2abe7fd3c089e119cdb5631a3" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "3.0.1+zstd.1.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1387cabcd938127b30ce78c4bf00b30387dddf704e3f0881dbc4ff62b5566f8c" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "1.4.20+zstd.1.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd5b733d7cf2d9447e2c3e76a5589b4f5e5ae065c22a2bc0b023cbc331b6c8e" +dependencies = [ + "cc", + "libc", +] diff --git a/test-utils/xcm-test-support/Cargo.toml b/test-utils/xcm-test-support/Cargo.toml new file mode 100644 index 0000000000..cabaf31d0e --- /dev/null +++ b/test-utils/xcm-test-support/Cargo.toml @@ -0,0 +1,57 @@ +[package] +authors = ['ChainSafe Systems'] +description = 'Support for testing xcm within PINT.' +edition = '2018' +license = 'LGPL-3.0-only' +name = 'xcm-test-support' +readme = 'README.md' +repository = 'https://github.com/ChainSafe/PINT/' +version = '0.0.1' + +[dependencies] +serde = { version = "1.0.101", features = ["derive"], optional = true } +codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } + +frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.9" } +sp-staking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +frame-election-provider-support = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + + +## Substrate Pallet Dependencies +pallet-assets = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +pallet-staking = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +pallet-proxy = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +pallet-balances = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9'} +pallet-staking-reward-curve = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +pallet-timestamp = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } +pallet-session = { git = 'https://github.com/paritytech/substrate', branch = 'polkadot-v0.9.9' } + +# cumulus +cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } +cumulus-pallet-dmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } +cumulus-pallet-xcm = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } +parachain-info = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.9" } + +# polkadot +polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } +xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } +xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } +xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } +pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } +polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.9" } + +# orml +orml-traits = { git = 'https://github.com/open-web3-stack/open-runtime-module-library', branch = 'master' } + +# pint +xcm-calls = { path = "../../primitives/xcm-calls" } + +[package.metadata.docs.rs] +targets = ['x86_64-unknown-linux-gnu'] \ No newline at end of file diff --git a/test-utils/xcm-test-support/README.md b/test-utils/xcm-test-support/README.md new file mode 100644 index 0000000000..76d2f1848e --- /dev/null +++ b/test-utils/xcm-test-support/README.md @@ -0,0 +1,13 @@ +# Test runtime for relay chain + +Import this directly with + +```rust +#[path="../../../test-utils/xcm-test-support/src/lib.rs"] mod xcm_test_support; +``` + +Importing module must implement: + +```rust +pub fn relay_ext() -> sp_io::TestExternalities {..} +``` \ No newline at end of file diff --git a/test-utils/xcm-test-support/src/lib.rs b/test-utils/xcm-test-support/src/lib.rs new file mode 100644 index 0000000000..695347bdf9 --- /dev/null +++ b/test-utils/xcm-test-support/src/lib.rs @@ -0,0 +1,111 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +// enabled so unused types don't emit a warning +#![allow(dead_code)] + +/// Basic relay config +use xcm_simulator::decl_test_relay_chain; + +/// Relay chain runtime +pub mod relay; + +decl_test_relay_chain! { + pub struct Relay { + Runtime = relay::Runtime, + XcmConfig = relay::XcmConfig, + new_ext = super::relay_ext(), + } +} + +/// Common types used for tests +pub mod types { + use sp_runtime::{traits::IdentityLookup, AccountId32}; + + pub type AccountId = AccountId32; + + pub type BlockNumber = u64; + + pub type Balance = u128; + + pub type Amount = i128; + + pub type AssetId = u32; + + pub type Lookup = IdentityLookup; + + pub type AccountLookupSource = AccountId; +} + +/// Basic converter types +pub mod convert { + use super::types::*; + use xcm::v0::{Junction, MultiLocation, NetworkId}; + + pub struct AccountId32Convert; + impl sp_runtime::traits::Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> [u8; 32] { + account_id.into() + } + } + + impl sp_runtime::traits::Convert for AccountId32Convert { + fn convert(account_id: AccountId) -> MultiLocation { + Junction::AccountId32 { network: NetworkId::Any, id: Self::convert(account_id) }.into() + } + } +} + +/// Support for call encoders +pub mod calls { + use frame_support::sp_std::marker::PhantomData; + use orml_traits::{parameter_type_with_key, GetByKey}; + + use xcm_calls::{ + proxy::{ProxyCallEncoder, ProxyType}, + staking::StakingCallEncoder, + PalletCallEncoder, PassthroughCompactEncoder, PassthroughEncoder, + }; + + use super::types::*; + + // A type that states that all calls to the asset's native location can be + // encoded + parameter_type_with_key! { + pub CanEncodeAll: |_asset_id: AssetId| -> bool { + true + }; + } + + /// The encoder to use when transacting `pallet_proxy` calls + pub struct PalletProxyEncoder(PhantomData); + impl> ProxyCallEncoder for PalletProxyEncoder { + type AccountIdEncoder = PassthroughEncoder; + type ProxyTypeEncoder = PassthroughEncoder; + type BlockNumberEncoder = PassthroughEncoder; + } + + impl> PalletCallEncoder for PalletProxyEncoder { + type Context = AssetId; + fn can_encode(ctx: &Self::Context) -> bool { + T::get(ctx) + } + } + + /// The encoder to use when transacting `pallet_staking` calls + pub struct PalletStakingEncoder(PhantomData); + impl> StakingCallEncoder + for PalletStakingEncoder + { + type CompactBalanceEncoder = PassthroughCompactEncoder; + type SourceEncoder = PassthroughEncoder; + type AccountIdEncoder = PassthroughEncoder; + } + + impl> PalletCallEncoder for PalletStakingEncoder { + type Context = AssetId; + fn can_encode(ctx: &Self::Context) -> bool { + T::get(ctx) + } + } +} diff --git a/test-utils/xcm-test-support/src/relay.rs b/test-utils/xcm-test-support/src/relay.rs new file mode 100644 index 0000000000..247fe0589d --- /dev/null +++ b/test-utils/xcm-test-support/src/relay.rs @@ -0,0 +1,428 @@ +// Copyright 2021 ChainSafe Systems +// SPDX-License-Identifier: LGPL-3.0-only + +use std::{cell::RefCell, collections::HashSet}; + +use codec::{Decode, Encode, MaxEncodedLen}; +use frame_support::{ + construct_runtime, parameter_types, + sp_runtime::traits::BlakeTwo256, + traits::{Currency, Everything, FindAuthor, Imbalance, InstanceFilter, OnUnbalanced, OneSessionHandler}, + weights::Weight, +}; +use sp_core::H256; +use sp_runtime::{ + curve::PiecewiseLinear, + testing::{Header, TestXt, UintAuthorityId}, + Perbill, +}; + +use cumulus_primitives_core::ParaId; +use frame_election_provider_support::onchain; +use pallet_staking as staking; +use pallet_staking::*; +use polkadot_runtime_parachains::{configuration, origin, shared, ump}; +use xcm::v0::{MultiLocation, NetworkId}; +use xcm_builder::{ + AccountId32Aliases, AllowUnpaidExecutionFrom, ChildParachainAsNative, ChildParachainConvertsVia, + ChildSystemParachainAsSuperuser, CurrencyAdapter as XcmCurrencyAdapter, FixedRateOfConcreteFungible, + FixedWeightBounds, IsConcrete, LocationInverter, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, +}; +use xcm_executor::{Config, XcmExecutor}; + +use super::types::*; +use frame_support::sp_runtime::AccountId32; + +impl frame_system::Config for Runtime { + type BaseCallFilter = Everything; + type Origin = Origin; + type Call = Call; + type Index = u64; + type BlockNumber = BlockNumber; + type Hash = H256; + type Hashing = ::sp_runtime::traits::BlakeTwo256; + type AccountId = AccountId; + type Lookup = Lookup; + type Header = Header; + type Event = Event; + type BlockHashCount = BlockHashCount; + type BlockWeights = (); + type BlockLength = (); + type Version = (); + type PalletInfo = PalletInfo; + type AccountData = pallet_balances::AccountData; + type OnNewAccount = (); + type OnKilledAccount = (); + type DbWeight = (); + type SystemWeightInfo = (); + type SS58Prefix = (); + type OnSetCode = (); +} + +impl shared::Config for Runtime {} + +impl configuration::Config for Runtime {} + +parameter_types! { + pub const KsmLocation: MultiLocation = MultiLocation::Null; + pub const KusamaNetwork: NetworkId = NetworkId::Kusama; + pub const AnyNetwork: NetworkId = NetworkId::Any; + pub Ancestry: MultiLocation = MultiLocation::Null; + pub UnitWeightCost: Weight = 1_000; +} + +pub type SovereignAccountOf = + (ChildParachainConvertsVia, AccountId32Aliases); + +pub type LocalAssetTransactor = + XcmCurrencyAdapter, SovereignAccountOf, AccountId, ()>; + +type LocalOriginConverter = ( + SovereignSignedViaLocation, + ChildParachainAsNative, + SignedAccountId32AsNative, + ChildSystemParachainAsSuperuser, +); + +parameter_types! { + pub const BaseXcmWeight: Weight = 1_000; + pub KsmPerSecond: (MultiLocation, u128) = (KsmLocation::get(), 1); +} + +pub type XcmRouter = super::super::RelayChainXcmRouter; +pub type Barrier = AllowUnpaidExecutionFrom; + +pub struct XcmConfig; +impl Config for XcmConfig { + type Call = Call; + type XcmSender = XcmRouter; + type AssetTransactor = LocalAssetTransactor; + type OriginConverter = LocalOriginConverter; + type IsReserve = (); + type IsTeleporter = (); + type LocationInverter = LocationInverter; + type Barrier = Barrier; + type Weigher = FixedWeightBounds; + type Trader = FixedRateOfConcreteFungible; + type ResponseHandler = (); +} + +pub type LocalOriginToLocation = SignedToAccountId32; + +impl pallet_xcm::Config for Runtime { + type Event = Event; + type SendXcmOrigin = xcm_builder::EnsureXcmOrigin; + type XcmRouter = XcmRouter; + // Anyone can execute XCM messages locally... + type ExecuteXcmOrigin = xcm_builder::EnsureXcmOrigin; + type XcmExecuteFilter = Everything; + type XcmExecutor = XcmExecutor; + type XcmTeleportFilter = Everything; + type XcmReserveTransferFilter = Everything; + type Weigher = FixedWeightBounds; + type LocationInverter = LocationInverter; +} + +parameter_types! { + pub const FirstMessageFactorPercent: u64 = 100; +} + +impl ump::Config for Runtime { + type Event = Event; + type UmpSink = ump::XcmSink, Runtime>; + type FirstMessageFactorPercent = FirstMessageFactorPercent; +} + +impl origin::Config for Runtime {} + +// -- staking support + +thread_local! { + static SESSION: RefCell<(Vec, HashSet)> = RefCell::new(Default::default()); +} + +type NegativeImbalanceOf = + <::Currency as Currency<::AccountId>>::NegativeImbalance; + +/// Another session handler struct to test on_disabled. +pub struct OtherSessionHandler; +impl OneSessionHandler for OtherSessionHandler { + type Key = UintAuthorityId; + + fn on_genesis_session<'a, I: 'a>(_: I) + where + I: Iterator, + AccountId: 'a, + { + } + + fn on_new_session<'a, I: 'a>(_: bool, validators: I, _: I) + where + I: Iterator, + AccountId: 'a, + { + SESSION.with(|x| *x.borrow_mut() = (validators.map(|x| x.0.clone()).collect(), HashSet::new())); + } + + fn on_disabled(validator_index: usize) { + SESSION.with(|d| { + let mut d = d.borrow_mut(); + let value = d.0[validator_index].clone(); + d.1.insert(value); + }) + } +} + +impl sp_runtime::BoundToRuntimeAppPublic for OtherSessionHandler { + type Public = UintAuthorityId; +} + +/// Author of block is always 11 +pub struct Author11; +impl FindAuthor for Author11 { + fn find_author<'a, I>(_digests: I) -> Option + where + I: 'a + IntoIterator, + { + Some(AccountId32::new([11u8; 32])) + } +} + +parameter_types! { + pub const BlockHashCount: u64 = 250; + pub BlockWeights: frame_system::limits::BlockWeights = + frame_system::limits::BlockWeights::simple_max( + frame_support::weights::constants::WEIGHT_PER_SECOND * 2 + ); + pub static SessionsPerEra: sp_staking::SessionIndex = 3; + pub static ExistentialDeposit: Balance = 1; + pub static SlashDeferDuration: EraIndex = 0; + pub static Period: BlockNumber = 5; + pub static Offset: BlockNumber = 0; + + pub const MaxLocks: u32 = 50; + pub const MaxReserves: u32 = 50; +} + +impl pallet_balances::Config for Runtime { + type MaxLocks = MaxLocks; + type Balance = Balance; + type Event = Event; + type DustRemoval = (); + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type MaxReserves = MaxReserves; + type ReserveIdentifier = [u8; 8]; + type WeightInfo = (); +} +parameter_types! { + pub const UncleGenerations: u64 = 0; + pub const DisabledValidatorsThreshold: Perbill = Perbill::from_percent(25); +} + +sp_runtime::impl_opaque_keys! { + pub struct SessionKeys { + pub other: OtherSessionHandler, + } +} + +impl pallet_session::Config for Runtime { + type SessionManager = pallet_session::historical::NoteHistoricalRoot; + type Keys = SessionKeys; + type ShouldEndSession = pallet_session::PeriodicSessions; + type SessionHandler = (OtherSessionHandler,); + type Event = Event; + type ValidatorId = AccountId; + type ValidatorIdOf = pallet_staking::StashOf; + type DisabledValidatorsThreshold = DisabledValidatorsThreshold; + type NextSessionRotation = pallet_session::PeriodicSessions; + type WeightInfo = (); +} + +impl pallet_session::historical::Config for Runtime { + type FullIdentification = pallet_staking::Exposure; + type FullIdentificationOf = pallet_staking::ExposureOf; +} +parameter_types! { + pub const MinimumPeriod: u64 = 5; +} +impl pallet_timestamp::Config for Runtime { + type Moment = u64; + type OnTimestampSet = (); + type MinimumPeriod = MinimumPeriod; + type WeightInfo = (); +} +pallet_staking_reward_curve::build! { + const I_NPOS: PiecewiseLinear<'static> = curve!( + min_inflation: 0_025_000, + max_inflation: 0_100_000, + ideal_stake: 0_500_000, + falloff: 0_050_000, + max_piece_count: 40, + test_precision: 0_005_000, + ); +} + +parameter_types! { + pub const BondingDuration: EraIndex = 3; + pub const RewardCurve: &'static PiecewiseLinear<'static> = &I_NPOS; + pub const MaxNominatorRewardedPerValidator: u32 = 64; +} + +thread_local! { + pub static REWARD_REMAINDER_UNBALANCED: RefCell = RefCell::new(0); +} + +pub struct RewardRemainderMock; + +impl OnUnbalanced> for RewardRemainderMock { + fn on_nonzero_unbalanced(amount: NegativeImbalanceOf) { + REWARD_REMAINDER_UNBALANCED.with(|v| { + *v.borrow_mut() += amount.peek(); + }); + drop(amount); + } +} + +impl onchain::Config for Runtime { + type AccountId = AccountId; + type BlockNumber = BlockNumber; + type BlockWeights = BlockWeights; + type Accuracy = Perbill; + type DataProvider = Staking; +} +impl staking::Config for Runtime { + const MAX_NOMINATIONS: u32 = 16; + type Currency = Balances; + type UnixTime = Timestamp; + type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote; + type RewardRemainder = RewardRemainderMock; + type Event = Event; + type Slash = (); + type Reward = (); + type SessionsPerEra = SessionsPerEra; + type SlashDeferDuration = SlashDeferDuration; + type SlashCancelOrigin = frame_system::EnsureRoot; + type BondingDuration = BondingDuration; + type SessionInterface = Self; + type EraPayout = ConvertCurve; + type NextNewSession = Session; + type MaxNominatorRewardedPerValidator = MaxNominatorRewardedPerValidator; + type ElectionProvider = onchain::OnChainSequentialPhragmen; + type GenesisElectionProvider = Self::ElectionProvider; + type WeightInfo = (); +} + +parameter_types! { + pub const ProxyDepositBase: Balance = 100; + pub const ProxyDepositFactor: Balance = 100; + pub const MaxProxies: u16 = 32; + pub const AnnouncementDepositBase: Balance = 100; + pub const AnnouncementDepositFactor: Balance = 100; + pub const MaxPending: u16 = 32; +} + +/// The type used to represent the kinds of proxying allowed. +#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, Debug, MaxEncodedLen)] +pub enum ProxyType { + Any = 0, + NonTransfer = 1, + Governance = 2, + Staking = 3, + // Skip 4 as it is now removed (was SudoBalances) + IdentityJudgement = 5, + CancelProxy = 6, +} + +impl Default for ProxyType { + fn default() -> Self { + Self::Any + } +} +impl InstanceFilter for ProxyType { + fn filter(&self, _: &Call) -> bool { + true + } +} + +impl pallet_proxy::Config for Runtime { + type Event = Event; + type Call = Call; + type Currency = Balances; + type ProxyType = ProxyType; + type ProxyDepositBase = ProxyDepositBase; + type ProxyDepositFactor = ProxyDepositFactor; + type MaxProxies = MaxProxies; + type WeightInfo = (); + type MaxPending = MaxPending; + type CallHasher = BlakeTwo256; + type AnnouncementDepositBase = AnnouncementDepositBase; + type AnnouncementDepositFactor = AnnouncementDepositFactor; +} + +impl frame_system::offchain::SendTransactionTypes for Runtime +where + Call: From, +{ + type OverarchingCall = Call; + type Extrinsic = TestXt; +} + +parameter_types! { + pub const AssetDeposit: u64 = 1; + pub const ApprovalDeposit: u64 = 1; + pub const StringLimit: u32 = 50; + pub const MetadataDepositBase: u64 = 1; + pub const MetadataDepositPerByte: u64 = 1; +} + +impl pallet_assets::Config for Runtime { + type Event = Event; + type Balance = Balance; + type AssetId = AssetId; + type Currency = Balances; + type ForceOrigin = frame_system::EnsureRoot; + type AssetDeposit = AssetDeposit; + type MetadataDepositBase = MetadataDepositBase; + type MetadataDepositPerByte = MetadataDepositPerByte; + type ApprovalDeposit = ApprovalDeposit; + type StringLimit = StringLimit; + type Freezer = (); + type WeightInfo = (); + type Extra = (); +} + +type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; +type Block = frame_system::mocking::MockBlock; + +// The configured indices for the runtime +pub const STAKING_PALLET_INDEX: u8 = 7u8; +pub const PROXY_PALLET_INDEX: u8 = 29u8; +pub const ASSETS_PALLET_INDEX: u8 = 50u8; + +construct_runtime!( + pub enum Runtime where + Block = Block, + NodeBlock = Block, + UncheckedExtrinsic = UncheckedExtrinsic, + { + System: frame_system::{Pallet, Call, Storage, Config, Event}, + Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent}, + Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, + ParasOrigin: origin::{Pallet, Origin}, + ParasUmp: ump::{Pallet, Call, Storage, Event}, + XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event}, + + // use polkadot index 7 + Staking: staking::{Pallet, Call, Storage, Event} = 7, + + Session: pallet_session::{Pallet, Call, Storage, Event}, + + // use polkadot index 29 + Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 29, + + // use statemint index 50 + Assets: pallet_assets::{Pallet, Call, Storage, Event} = 50, + } +);