diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md
index b9b3a6c337ab..37b422a9b3ec 100644
--- a/.github/ISSUE_TEMPLATE/release.md
+++ b/.github/ISSUE_TEMPLATE/release.md
@@ -48,4 +48,5 @@ candidate branch or started an additional release candidate branch (rc-2, rc-3,
notes](https://github.com/paritytech/polkadot/blob/master/doc/release-checklist.md#release-notes)
- [ ] Check that [build artifacts](https://github.com/paritytech/polkadot/blob/master/doc/release-checklist.md#build-artifacts) have been added to the
draft-release
-- [ ] Check that all items listed in the [milestone](https://github.com/paritytech/polkadot/milestones) are included in the release.
\ No newline at end of file
+- [ ] Check that all items listed in the [milestone](https://github.com/paritytech/polkadot/milestones) are included in the release.
+- [ ] Ensure that no `freenotes` were added into the release branch after the latest generated RC
diff --git a/.github/pr-custom-review.yml b/.github/pr-custom-review.yml
index 01ccd7f34d56..243b7434108d 100644
--- a/.github/pr-custom-review.yml
+++ b/.github/pr-custom-review.yml
@@ -19,19 +19,20 @@ rules:
check_type: changed_files
condition:
include: .*
- # excluding files from 'Runtime files' and 'CI team' rules
+ # excluding files from 'Runtime files' and 'CI files' rules
exclude: ^runtime/(kusama|polkadot)/src/[^/]+\.rs$|^\.gitlab-ci\.yml|^scripts/ci/.*|^\.github/.*
min_approvals: 2
teams:
- core-devs
- - name: CI team
+ - name: CI files
check_type: changed_files
condition:
include: ^\.gitlab-ci\.yml|^scripts/ci/.*|^\.github/.*
min_approvals: 2
teams:
- ci
+ - release-engineering
prevent-review-request:
teams:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a48c00e92fab..5b33eb2c9a6a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -106,12 +106,22 @@ default:
- if: $CI_COMMIT_REF_NAME == "master"
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
+.deploy-testnet-refs: &deploy-testnet-refs
+ rules:
+ - if: $CI_PIPELINE_SOURCE == "pipeline"
+ when: never
+ - if: $CI_PIPELINE_SOURCE == "schedule"
+ - if: $CI_COMMIT_REF_NAME == "master"
+
.publish-refs: &publish-refs
rules:
- if: $CI_PIPELINE_SOURCE == "pipeline"
when: never
- if: $CI_PIPELINE_SOURCE == "schedule"
+ - if: $CI_PIPELINE_SOURCE == "web" &&
+ $CI_COMMIT_REF_NAME == "master"
- if: $CI_COMMIT_REF_NAME == "master"
+ - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
.build-push-image: &build-push-image
<<: *kubernetes-env
@@ -266,6 +276,22 @@ build-malus:
- echo "polkadot-test-malus = $(cat ./artifacts/VERSION) (EXTRATAG = $(cat ./artifacts/EXTRATAG))"
- cp -r ./scripts/* ./artifacts
+build-staking-miner:
+ stage: stage1
+ <<: *collect-artifacts
+ <<: *docker-env
+ <<: *compiler-info
+ <<: *common-refs
+ script:
+ - time cargo build --locked --release --package staking-miner
+ # pack artifacts
+ - mkdir -p ./artifacts
+ - mv ./target/release/staking-miner ./artifacts/.
+ - echo -n "${CI_COMMIT_REF_NAME}" > ./artifacts/VERSION
+ - echo -n "${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}" > ./artifacts/EXTRATAG
+ - echo "staking-miner = $(cat ./artifacts/VERSION) (EXTRATAG = $(cat ./artifacts/EXTRATAG))"
+ - cp -r ./scripts/* ./artifacts
+
#### stage: stage2
.check-dependent-project: &check-dependent-project
@@ -286,6 +312,7 @@ build-malus:
--dependent-repo "$DEPENDENT_REPO"
--github-api-token "$GITHUB_PR_TOKEN"
--extra-dependencies "$EXTRA_DEPENDENCIES"
+ --companion-overrides "$COMPANION_OVERRIDES"
check-dependent-cumulus:
<<: *check-dependent-project
@@ -424,6 +451,23 @@ publish-malus-image:
# this artifact is used in zombienet-tests job
dotenv: ./artifacts/malus.env
+publish-staking-miner-image:
+ stage: stage2
+ <<: *build-push-image
+ <<: *publish-refs
+ variables:
+ <<: *image-variables
+ # scripts/ci/dockerfiles/staking-miner/staking-miner_injected.Dockerfile
+ DOCKERFILE: ci/dockerfiles/staking-miner/staking-miner_injected.Dockerfile
+ IMAGE_NAME: docker.io/paritytech/staking-miner
+ GIT_STRATEGY: none
+ DOCKER_USER: ${Docker_Hub_User_Parity}
+ DOCKER_PASS: ${Docker_Hub_Pass_Parity}
+ needs:
+ - job: build-staking-miner
+ artifacts: true
+
+
publish-s3-release: &publish-s3
stage: stage3
needs:
@@ -586,7 +630,7 @@ deploy-parity-testnet:
needs:
- job: test-deterministic-wasm
artifacts: false
- <<: *publish-refs
+ <<: *deploy-testnet-refs
variables:
POLKADOT_CI_COMMIT_NAME: "${CI_COMMIT_REF_NAME}"
POLKADOT_CI_COMMIT_REF: "${CI_COMMIT_SHORT_SHA}"
@@ -684,9 +728,9 @@ zombienet-tests-parachains-disputes:
zombienet-test-parachains-upgrade-smoke-test:
stage: stage3
- image: "${ZOMBIENET_IMAGE}"
<<: *kubernetes-env
<<: *zombienet-refs
+ image: "docker.io/paritytech/zombienet:v1.2.45"
needs:
- job: publish-polkadot-debug-image
- job: publish-malus-image
@@ -695,12 +739,12 @@ zombienet-test-parachains-upgrade-smoke-test:
GH_DIR: 'https://github.com/paritytech/polkadot/tree/${CI_COMMIT_SHORT_SHA}/zombienet_tests/smoke'
before_script:
- echo "ZombieNet Tests Config"
- - echo "docker.io/parity/polkadot:latest"
+ - echo "${PARACHAINS_IMAGE_NAME}:${PARACHAINS_IMAGE_TAG}"
- echo "docker.io/parity/polkadot-collator:latest"
- echo "${ZOMBIENET_IMAGE}"
- echo "${GH_DIR}"
- export DEBUG=zombie,zombie::network-node
- - export ZOMBIENET_INTEGRATION_TEST_IMAGE="docker.io/parity/polkadot:latest" # Use polkadot latest image
+ - export ZOMBIENET_INTEGRATION_TEST_IMAGE=${PARACHAINS_IMAGE_NAME}:${PARACHAINS_IMAGE_TAG}
- export COL_IMAGE="docker.io/parity/polkadot-collator:latest" # Use cumulus lastest image
script:
- /home/nonroot/zombie-net/scripts/ci/run-test-env-manager.sh
diff --git a/Cargo.lock b/Cargo.lock
index ad7f7441dad5..e00e0faad368 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -384,7 +384,7 @@ dependencies = [
"cfg-if 1.0.0",
"libc",
"miniz_oxide",
- "object",
+ "object 0.27.1",
"rustc-demangle",
]
@@ -424,7 +424,7 @@ dependencies = [
[[package]]
name = "beefy-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"beefy-primitives",
"fnv",
@@ -458,7 +458,7 @@ dependencies = [
[[package]]
name = "beefy-gadget-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"beefy-gadget",
"beefy-primitives",
@@ -478,12 +478,16 @@ dependencies = [
[[package]]
name = "beefy-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
+dependencies = [
+ "beefy-primitives",
+ "sp-api",
+]
[[package]]
name = "beefy-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -1202,59 +1206,60 @@ dependencies = [
[[package]]
name = "cranelift-bforest"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38faa2a16616c8e78a18d37b4726b98bfd2de192f2fdc8a39ddf568a408a0f75"
+checksum = "899dc8d22f7771e7f887fb8bafa0c0d3ac1dea0c7f2c0ded6e20a855a7a1e890"
dependencies = [
"cranelift-entity",
]
[[package]]
name = "cranelift-codegen"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26f192472a3ba23860afd07d2b0217dc628f21fcc72617aa1336d98e1671f33b"
+checksum = "8dbdc03f695cf67e7bc45da57155528274f47390b85060af8107eb304ef167c4"
dependencies = [
"cranelift-bforest",
"cranelift-codegen-meta",
"cranelift-codegen-shared",
"cranelift-entity",
+ "cranelift-isle",
"gimli",
"log",
- "regalloc",
+ "regalloc2",
"smallvec",
"target-lexicon",
]
[[package]]
name = "cranelift-codegen-meta"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32ddb89e9b89d3d9b36a5b7d7ea3261c98235a76ac95ba46826b8ec40b1a24"
+checksum = "9ea66cbba3eb7fcb3ec9f42839a6d381bd40cf97780397e7167daf9725d4ffa0"
dependencies = [
"cranelift-codegen-shared",
]
[[package]]
name = "cranelift-codegen-shared"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01fd0d9f288cc1b42d9333b7a776b17e278fc888c28e6a0f09b5573d45a150bc"
+checksum = "712fbebd119a476f59122b4ba51fdce893a66309b5c92bd5506bfb11a0587496"
[[package]]
name = "cranelift-entity"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3bfe172b83167604601faf9dc60453e0d0a93415b57a9c4d1a7ae6849185cf"
+checksum = "4cb8b95859c4e14c9e860db78d596a904fdbe9261990233b62bd526346cb56cb"
dependencies = [
"serde",
]
[[package]]
name = "cranelift-frontend"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a006e3e32d80ce0e4ba7f1f9ddf66066d052a8c884a110b91d05404d6ce26dce"
+checksum = "c7b91b19a7d1221a73f190c0e865c12be77a84f661cac89abfd4ab5820142886"
dependencies = [
"cranelift-codegen",
"log",
@@ -1262,11 +1267,17 @@ dependencies = [
"target-lexicon",
]
+[[package]]
+name = "cranelift-isle"
+version = "0.85.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86d4f53bc86fb458e59c695c6a95ce8346e6a8377ee7ffc058e3ac08b5f94cb1"
+
[[package]]
name = "cranelift-native"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "501241b0cdf903412ec9075385ac9f2b1eb18a89044d1538e97fab603231f70c"
+checksum = "592f035d0ed41214dfeeb37abd536233536a27be6b4c2d39f380cd402f0cff4f"
dependencies = [
"cranelift-codegen",
"libc",
@@ -1275,9 +1286,9 @@ dependencies = [
[[package]]
name = "cranelift-wasm"
-version = "0.82.3"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16d9e4211bbc3268042a96dd4de5bd979cda22434991d035f5f8eacba987fad2"
+checksum = "295add6bf0b527a8bc50d02e31ff878585d2d2db53cb7e8754d6d82b84480086"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1344,12 +1355,12 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.5"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
+checksum = "8ff1f980957787286a554052d03c7aee98d99cc32e09f6d45f0a814133c87978"
dependencies = [
"cfg-if 1.0.0",
- "lazy_static",
+ "once_cell",
]
[[package]]
@@ -2098,7 +2109,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
]
@@ -2116,7 +2127,7 @@ dependencies = [
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -2138,7 +2149,7 @@ dependencies = [
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"Inflector",
"chrono",
@@ -2189,7 +2200,7 @@ dependencies = [
[[package]]
name = "frame-election-provider-solution-type"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -2200,7 +2211,7 @@ dependencies = [
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-election-provider-solution-type",
"frame-support",
@@ -2216,7 +2227,7 @@ dependencies = [
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -2244,7 +2255,7 @@ dependencies = [
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"bitflags",
"frame-metadata",
@@ -2274,7 +2285,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"Inflector",
"frame-support-procedural-tools",
@@ -2286,7 +2297,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate",
@@ -2298,7 +2309,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro2",
"quote",
@@ -2308,7 +2319,7 @@ dependencies = [
[[package]]
name = "frame-support-test"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-support-test-pallet",
@@ -2331,7 +2342,7 @@ dependencies = [
[[package]]
name = "frame-support-test-pallet"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -2342,7 +2353,7 @@ dependencies = [
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"log",
@@ -2359,7 +2370,7 @@ dependencies = [
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -2374,7 +2385,7 @@ dependencies = [
[[package]]
name = "frame-system-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -2383,7 +2394,7 @@ dependencies = [
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"sp-api",
@@ -2553,10 +2564,19 @@ dependencies = [
"slab",
]
+[[package]]
+name = "fxhash"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
+dependencies = [
+ "byteorder",
+]
+
[[package]]
name = "generate-bags"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"chrono",
"frame-election-provider-support",
@@ -3075,6 +3095,12 @@ version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec58677acfea8a15352d42fc87d11d63596ade9239e0a7c9352914417515dbe6"
+[[package]]
+name = "io-lifetimes"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24c3f4eff5495aee4c0399d7b6a0dc2b6e81be84242ffbfcf253ebacccc1d0cb"
+
[[package]]
name = "ip_network"
version = "0.4.1"
@@ -3472,9 +3498,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "libc"
-version = "0.2.121"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
[[package]]
name = "libgit2-sys"
@@ -4169,6 +4195,12 @@ version = "0.0.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5284f00d480e1c39af34e72f8ad60b94f47007e3481cd3b731c1d67190ddc7b7"
+[[package]]
+name = "linux-raw-sys"
+version = "0.0.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d"
+
[[package]]
name = "lock_api"
version = "0.4.6"
@@ -4807,17 +4839,27 @@ name = "object"
version = "0.27.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "object"
+version = "0.28.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424"
dependencies = [
"crc32fast",
+ "hashbrown 0.11.2",
"indexmap",
"memchr",
]
[[package]]
name = "once_cell"
-version = "1.10.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9"
+checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225"
[[package]]
name = "opaque-debug"
@@ -4940,7 +4982,7 @@ checksum = "20448fd678ec04e6ea15bbe0476874af65e98a01515d667aa49f1434dc44ebf4"
[[package]]
name = "pallet-assets"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -4954,7 +4996,7 @@ dependencies = [
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -4970,7 +5012,7 @@ dependencies = [
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -4985,7 +5027,7 @@ dependencies = [
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5009,7 +5051,7 @@ dependencies = [
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5029,7 +5071,7 @@ dependencies = [
[[package]]
name = "pallet-bags-list-remote-tests"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-election-provider-support",
"frame-support",
@@ -5048,7 +5090,7 @@ dependencies = [
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5063,7 +5105,7 @@ dependencies = [
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"beefy-primitives",
"frame-support",
@@ -5079,7 +5121,7 @@ dependencies = [
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"beefy-merkle-tree",
"beefy-primitives",
@@ -5102,7 +5144,7 @@ dependencies = [
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5184,7 +5226,7 @@ dependencies = [
[[package]]
name = "pallet-child-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5203,7 +5245,7 @@ dependencies = [
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5220,7 +5262,7 @@ dependencies = [
[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5236,7 +5278,7 @@ dependencies = [
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5259,7 +5301,7 @@ dependencies = [
[[package]]
name = "pallet-election-provider-support-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5272,7 +5314,7 @@ dependencies = [
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5290,7 +5332,7 @@ dependencies = [
[[package]]
name = "pallet-gilt"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5305,7 +5347,7 @@ dependencies = [
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5328,7 +5370,7 @@ dependencies = [
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -5344,7 +5386,7 @@ dependencies = [
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5364,7 +5406,7 @@ dependencies = [
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5381,7 +5423,7 @@ dependencies = [
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5398,7 +5440,7 @@ dependencies = [
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"ckb-merkle-mountain-range",
"frame-benchmarking",
@@ -5416,7 +5458,7 @@ dependencies = [
[[package]]
name = "pallet-mmr-rpc"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -5431,7 +5473,7 @@ dependencies = [
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5446,7 +5488,7 @@ dependencies = [
[[package]]
name = "pallet-nomination-pools"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -5463,7 +5505,7 @@ dependencies = [
[[package]]
name = "pallet-nomination-pools-benchmarking"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5482,7 +5524,7 @@ dependencies = [
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -5499,7 +5541,7 @@ dependencies = [
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5522,7 +5564,7 @@ dependencies = [
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5538,7 +5580,7 @@ dependencies = [
[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5553,7 +5595,7 @@ dependencies = [
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5568,7 +5610,7 @@ dependencies = [
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5584,7 +5626,7 @@ dependencies = [
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -5605,7 +5647,7 @@ dependencies = [
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5621,7 +5663,7 @@ dependencies = [
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -5635,7 +5677,7 @@ dependencies = [
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5658,7 +5700,7 @@ dependencies = [
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -5669,7 +5711,7 @@ dependencies = [
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"sp-arithmetic",
@@ -5678,7 +5720,7 @@ dependencies = [
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -5692,7 +5734,7 @@ dependencies = [
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5710,7 +5752,7 @@ dependencies = [
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5729,7 +5771,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-support",
"frame-system",
@@ -5745,7 +5787,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"jsonrpsee",
"pallet-transaction-payment-rpc-runtime-api",
@@ -5760,7 +5802,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -5771,7 +5813,7 @@ dependencies = [
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5788,7 +5830,7 @@ dependencies = [
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5804,7 +5846,7 @@ dependencies = [
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5884,9 +5926,9 @@ dependencies = [
[[package]]
name = "parity-scale-codec"
-version = "3.1.2"
+version = "3.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8b44461635bbb1a0300f100a841e571e7d919c81c73075ef5d152ffdb521066"
+checksum = "9182e4a71cae089267ab03e67c99368db7cd877baf50f931e5d6d4b71e195ac0"
dependencies = [
"arrayvec 0.7.2",
"bitvec",
@@ -5898,9 +5940,9 @@ dependencies = [
[[package]]
name = "parity-scale-codec-derive"
-version = "3.1.2"
+version = "3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c45ed1f39709f5a89338fab50e59816b2e8815f5bb58276e7ddf9afd495f73f8"
+checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -6009,7 +6051,7 @@ dependencies = [
"libc",
"redox_syscall",
"smallvec",
- "windows-sys",
+ "windows-sys 0.32.0",
]
[[package]]
@@ -6764,6 +6806,7 @@ dependencies = [
"polkadot-node-subsystem-util",
"polkadot-parachain",
"rand 0.8.5",
+ "rayon",
"sc-executor",
"sc-executor-common",
"sc-executor-wasmtime",
@@ -7840,9 +7883,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.39"
+version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f"
+checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
dependencies = [
"unicode-ident",
]
@@ -8063,9 +8106,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.18"
+version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
+checksum = "f53dc8cf16a769a6f677e09e7ff2cd4be1ea0f48754aac39520536962011de0d"
dependencies = [
"proc-macro2",
]
@@ -8260,13 +8303,14 @@ dependencies = [
]
[[package]]
-name = "regalloc"
-version = "0.0.34"
+name = "regalloc2"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62446b1d3ebf980bdc68837700af1d77b37bc430e524bf95319c6eada2a4cc02"
+checksum = "0d37148700dbb38f994cd99a1431613057f37ed934d7e4d799b7ab758c482461"
dependencies = [
+ "fxhash",
"log",
- "rustc-hash",
+ "slice-group-by",
"smallvec",
]
@@ -8330,7 +8374,7 @@ dependencies = [
[[package]]
name = "remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"env_logger 0.9.0",
"jsonrpsee",
@@ -8355,9 +8399,9 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.11.10"
+version = "0.11.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb"
+checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92"
dependencies = [
"base64",
"bytes",
@@ -8382,6 +8426,7 @@ dependencies = [
"serde_urlencoded",
"tokio",
"tokio-native-tls",
+ "tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
@@ -8582,18 +8627,32 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.33.5"
+version = "0.33.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03627528abcc4a365554d32a9f3bbf67f7694c102cfeda792dc86a2d6057cc85"
+checksum = "938a344304321a9da4973b9ff4f9f8db9caf4597dfd9dda6a60b523340a0fff0"
dependencies = [
"bitflags",
"errno",
- "io-lifetimes",
+ "io-lifetimes 0.5.3",
"libc",
- "linux-raw-sys",
+ "linux-raw-sys 0.0.42",
"winapi",
]
+[[package]]
+name = "rustix"
+version = "0.35.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef258c11e17f5c01979a10543a30a4e12faef6aab217a74266e747eefa3aed88"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes 0.7.2",
+ "libc",
+ "linux-raw-sys 0.0.46",
+ "windows-sys 0.36.1",
+]
+
[[package]]
name = "rustls"
version = "0.20.2"
@@ -8682,7 +8741,7 @@ dependencies = [
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"sp-core",
@@ -8693,7 +8752,7 @@ dependencies = [
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"futures",
@@ -8720,7 +8779,7 @@ dependencies = [
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"futures-timer",
@@ -8743,7 +8802,7 @@ dependencies = [
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -8759,7 +8818,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"impl-trait-for-tuples",
"memmap2 0.5.0",
@@ -8776,7 +8835,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -8787,7 +8846,7 @@ dependencies = [
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"chrono",
"clap",
@@ -8826,7 +8885,7 @@ dependencies = [
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"fnv",
"futures",
@@ -8854,7 +8913,7 @@ dependencies = [
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"hash-db",
"kvdb",
@@ -8879,7 +8938,7 @@ dependencies = [
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"futures",
@@ -8903,7 +8962,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"fork-tree",
@@ -8946,7 +9005,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"jsonrpsee",
@@ -8968,7 +9027,7 @@ dependencies = [
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -8981,7 +9040,7 @@ dependencies = [
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"futures",
@@ -9006,7 +9065,7 @@ dependencies = [
[[package]]
name = "sc-consensus-uncles"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"sc-client-api",
"sp-authorship",
@@ -9017,7 +9076,7 @@ dependencies = [
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"lazy_static",
"lru 0.7.7",
@@ -9044,7 +9103,7 @@ dependencies = [
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -9061,7 +9120,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmi"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"parity-scale-codec",
@@ -9076,13 +9135,15 @@ dependencies = [
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"cfg-if 1.0.0",
"libc",
"log",
+ "once_cell",
"parity-scale-codec",
"parity-wasm 0.42.2",
+ "rustix 0.35.6",
"sc-allocator",
"sc-executor-common",
"sp-runtime-interface",
@@ -9094,7 +9155,7 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"ahash",
"async-trait",
@@ -9134,7 +9195,7 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"finality-grandpa",
"futures",
@@ -9155,7 +9216,7 @@ dependencies = [
[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"ansi_term",
"futures",
@@ -9172,7 +9233,7 @@ dependencies = [
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"hex",
@@ -9187,7 +9248,7 @@ dependencies = [
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"asynchronous-codec",
@@ -9239,7 +9300,7 @@ dependencies = [
[[package]]
name = "sc-network-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"libp2p",
@@ -9252,7 +9313,7 @@ dependencies = [
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"ahash",
"futures",
@@ -9269,7 +9330,7 @@ dependencies = [
[[package]]
name = "sc-network-light"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"libp2p",
@@ -9289,7 +9350,7 @@ dependencies = [
[[package]]
name = "sc-network-sync"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"bitflags",
"either",
@@ -9318,7 +9379,7 @@ dependencies = [
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"bytes",
"fnv",
@@ -9346,7 +9407,7 @@ dependencies = [
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"libp2p",
@@ -9359,7 +9420,7 @@ dependencies = [
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -9368,7 +9429,7 @@ dependencies = [
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"hash-db",
@@ -9398,7 +9459,7 @@ dependencies = [
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"jsonrpsee",
@@ -9421,7 +9482,7 @@ dependencies = [
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"jsonrpsee",
@@ -9434,7 +9495,7 @@ dependencies = [
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"directories",
@@ -9499,7 +9560,7 @@ dependencies = [
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"parity-scale-codec",
@@ -9513,7 +9574,7 @@ dependencies = [
[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -9532,7 +9593,7 @@ dependencies = [
[[package]]
name = "sc-sysinfo"
version = "6.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"libc",
@@ -9551,7 +9612,7 @@ dependencies = [
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"chrono",
"futures",
@@ -9569,7 +9630,7 @@ dependencies = [
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"ansi_term",
"atty",
@@ -9600,7 +9661,7 @@ dependencies = [
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -9611,7 +9672,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"futures-timer",
@@ -9638,7 +9699,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"log",
@@ -9651,7 +9712,7 @@ dependencies = [
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"futures-timer",
@@ -10040,6 +10101,12 @@ version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
+[[package]]
+name = "slice-group-by"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec"
+
[[package]]
name = "slot-range-helper"
version = "0.9.25"
@@ -10118,7 +10185,7 @@ dependencies = [
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"hash-db",
"log",
@@ -10135,7 +10202,7 @@ dependencies = [
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"blake2",
"proc-macro-crate",
@@ -10147,7 +10214,7 @@ dependencies = [
[[package]]
name = "sp-application-crypto"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10160,7 +10227,7 @@ dependencies = [
[[package]]
name = "sp-arithmetic"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -10175,7 +10242,7 @@ dependencies = [
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10188,7 +10255,7 @@ dependencies = [
[[package]]
name = "sp-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -10200,7 +10267,7 @@ dependencies = [
[[package]]
name = "sp-block-builder"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -10212,7 +10279,7 @@ dependencies = [
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"log",
@@ -10230,7 +10297,7 @@ dependencies = [
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"futures",
@@ -10249,7 +10316,7 @@ dependencies = [
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"merlin",
@@ -10272,7 +10339,7 @@ dependencies = [
[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10286,7 +10353,7 @@ dependencies = [
[[package]]
name = "sp-consensus-vrf"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10299,7 +10366,7 @@ dependencies = [
[[package]]
name = "sp-core"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"base58",
"bitflags",
@@ -10345,7 +10412,7 @@ dependencies = [
[[package]]
name = "sp-core-hashing"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"blake2",
"byteorder",
@@ -10359,7 +10426,7 @@ dependencies = [
[[package]]
name = "sp-core-hashing-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro2",
"quote",
@@ -10370,7 +10437,7 @@ dependencies = [
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"kvdb",
"parking_lot 0.12.0",
@@ -10379,7 +10446,7 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro2",
"quote",
@@ -10389,7 +10456,7 @@ dependencies = [
[[package]]
name = "sp-externalities"
version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -10400,7 +10467,7 @@ dependencies = [
[[package]]
name = "sp-finality-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"finality-grandpa",
"log",
@@ -10418,7 +10485,7 @@ dependencies = [
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -10432,7 +10499,7 @@ dependencies = [
[[package]]
name = "sp-io"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"hash-db",
@@ -10457,7 +10524,7 @@ dependencies = [
[[package]]
name = "sp-keyring"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"lazy_static",
"sp-core",
@@ -10468,7 +10535,7 @@ dependencies = [
[[package]]
name = "sp-keystore"
version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"futures",
@@ -10485,7 +10552,7 @@ dependencies = [
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"thiserror",
"zstd",
@@ -10494,7 +10561,7 @@ dependencies = [
[[package]]
name = "sp-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"parity-scale-codec",
@@ -10509,7 +10576,7 @@ dependencies = [
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10523,7 +10590,7 @@ dependencies = [
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"sp-api",
"sp-core",
@@ -10533,7 +10600,7 @@ dependencies = [
[[package]]
name = "sp-panic-handler"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"backtrace",
"lazy_static",
@@ -10543,7 +10610,7 @@ dependencies = [
[[package]]
name = "sp-rpc"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"rustc-hash",
"serde",
@@ -10553,7 +10620,7 @@ dependencies = [
[[package]]
name = "sp-runtime"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"either",
"hash256-std-hasher",
@@ -10575,7 +10642,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -10592,7 +10659,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"Inflector",
"proc-macro-crate",
@@ -10604,7 +10671,7 @@ dependencies = [
[[package]]
name = "sp-sandbox"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"parity-scale-codec",
@@ -10618,7 +10685,7 @@ dependencies = [
[[package]]
name = "sp-serializer"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"serde",
"serde_json",
@@ -10627,7 +10694,7 @@ dependencies = [
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10641,7 +10708,7 @@ dependencies = [
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10652,7 +10719,7 @@ dependencies = [
[[package]]
name = "sp-state-machine"
version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"hash-db",
"log",
@@ -10674,12 +10741,12 @@ dependencies = [
[[package]]
name = "sp-std"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
[[package]]
name = "sp-storage"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -10692,7 +10759,7 @@ dependencies = [
[[package]]
name = "sp-tasks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"log",
"sp-core",
@@ -10705,7 +10772,7 @@ dependencies = [
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"futures-timer",
@@ -10721,7 +10788,7 @@ dependencies = [
[[package]]
name = "sp-tracing"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -10733,7 +10800,7 @@ dependencies = [
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"sp-api",
"sp-runtime",
@@ -10742,7 +10809,7 @@ dependencies = [
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"log",
@@ -10758,7 +10825,7 @@ dependencies = [
[[package]]
name = "sp-trie"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"hash-db",
"memory-db",
@@ -10774,7 +10841,7 @@ dependencies = [
[[package]]
name = "sp-version"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -10791,7 +10858,7 @@ dependencies = [
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"parity-scale-codec",
"proc-macro2",
@@ -10802,7 +10869,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"impl-trait-for-tuples",
"log",
@@ -10994,7 +11061,7 @@ dependencies = [
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"platforms",
]
@@ -11002,7 +11069,7 @@ dependencies = [
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"frame-system-rpc-runtime-api",
"futures",
@@ -11023,7 +11090,7 @@ dependencies = [
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures-util",
"hyper",
@@ -11036,7 +11103,7 @@ dependencies = [
[[package]]
name = "substrate-state-trie-migration-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"jsonrpsee",
"log",
@@ -11057,7 +11124,7 @@ dependencies = [
[[package]]
name = "substrate-test-client"
version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"async-trait",
"futures",
@@ -11083,7 +11150,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"futures",
"substrate-test-utils-derive",
@@ -11093,7 +11160,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -11104,7 +11171,7 @@ dependencies = [
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"ansi_term",
"build-helper",
@@ -11820,7 +11887,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#4ea2ac87de6cd66ca1e6038d10212c7c4e07a86a"
+source = "git+https://github.com/paritytech/substrate?branch=master#ee3eb8f2448cc1bb978c5d1564febd351c128bb0"
dependencies = [
"clap",
"jsonrpsee",
@@ -12241,15 +12308,18 @@ dependencies = [
[[package]]
name = "wasmparser"
-version = "0.83.0"
+version = "0.85.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a"
+checksum = "570460c58b21e9150d2df0eaaedbb7816c34bcec009ae0dcc976e40ba81463e7"
+dependencies = [
+ "indexmap",
+]
[[package]]
name = "wasmtime"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21ffb4705016d5ca91e18a72ed6822dab50e6d5ddd7045461b17ef19071cdef1"
+checksum = "c842f9c8e190fe01300fc8d715e9368c775670fb9856247c67abffdb5236d6db"
dependencies = [
"anyhow",
"backtrace",
@@ -12259,7 +12329,7 @@ dependencies = [
"lazy_static",
"libc",
"log",
- "object",
+ "object 0.28.4",
"once_cell",
"paste",
"psm",
@@ -12278,9 +12348,9 @@ dependencies = [
[[package]]
name = "wasmtime-cache"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c6ab24291fa7cb3a181f5669f6c72599b7ef781669759b45c7828c5999d0c0"
+checksum = "cce2aa752e864a33eef2a6629edc59554e75f0bc1719431dac5e49eed516af69"
dependencies = [
"anyhow",
"base64",
@@ -12288,7 +12358,7 @@ dependencies = [
"directories-next",
"file-per-thread-logger",
"log",
- "rustix",
+ "rustix 0.33.7",
"serde",
"sha2 0.9.8",
"toml",
@@ -12298,9 +12368,9 @@ dependencies = [
[[package]]
name = "wasmtime-cranelift"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04c810078a491b7bc4866ebe045f714d2b95e6b539e1f64009a4a7606be11de"
+checksum = "922361eb8c03cea8909bc922471202f6c6bc2f0c682fac2fe473740441c86b3b"
dependencies = [
"anyhow",
"cranelift-codegen",
@@ -12311,7 +12381,7 @@ dependencies = [
"gimli",
"log",
"more-asserts",
- "object",
+ "object 0.28.4",
"target-lexicon",
"thiserror",
"wasmparser",
@@ -12320,9 +12390,9 @@ dependencies = [
[[package]]
name = "wasmtime-environ"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61448266ea164b1ac406363cdcfac81c7c44db4d94c7a81c8620ac6c5c6cdf59"
+checksum = "e602f1120fc40a3f016f1f69d08c86cfeff7b867bed1462901953e6871f85167"
dependencies = [
"anyhow",
"cranelift-entity",
@@ -12330,7 +12400,7 @@ dependencies = [
"indexmap",
"log",
"more-asserts",
- "object",
+ "object 0.28.4",
"serde",
"target-lexicon",
"thiserror",
@@ -12340,9 +12410,9 @@ dependencies = [
[[package]]
name = "wasmtime-jit"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "156b4623c6b0d4b8c24afb846c20525922f538ef464cc024abab7ea8de2109a2"
+checksum = "49af1445759a8e797a92f27dd0983c155615648263052e0b80d69e7d223896b7"
dependencies = [
"addr2line",
"anyhow",
@@ -12351,10 +12421,10 @@ dependencies = [
"cpp_demangle",
"gimli",
"log",
- "object",
+ "object 0.28.4",
"region",
"rustc-demangle",
- "rustix",
+ "rustix 0.33.7",
"serde",
"target-lexicon",
"thiserror",
@@ -12366,20 +12436,20 @@ dependencies = [
[[package]]
name = "wasmtime-jit-debug"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5dc31f811760a6c76b2672c404866fd19b75e5fb3b0075a3e377a6846490654"
+checksum = "e6d5dd480cc6dc0a401653e45b79796a3317f8228990d84bc2271bdaf0810071"
dependencies = [
"lazy_static",
- "object",
- "rustix",
+ "object 0.28.4",
+ "rustix 0.33.7",
]
[[package]]
name = "wasmtime-runtime"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f907beaff69d4d920fa4688411ee4cc75c0f01859e424677f9e426e2ef749864"
+checksum = "e875bcd02d1ecfc7d099dd58354d55d73467652eb2b103ff470fe3aecb7d0381"
dependencies = [
"anyhow",
"backtrace",
@@ -12394,7 +12464,7 @@ dependencies = [
"more-asserts",
"rand 0.8.5",
"region",
- "rustix",
+ "rustix 0.33.7",
"thiserror",
"wasmtime-environ",
"wasmtime-jit-debug",
@@ -12403,9 +12473,9 @@ dependencies = [
[[package]]
name = "wasmtime-types"
-version = "0.35.3"
+version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "514ef0e5fd197b9609dc9eb74beba0c84d5a12b2417cbae55534633329ba4852"
+checksum = "8fd63a19ba61ac7448add4dc1fecb8d78304812af2a52dad04b89f887791b156"
dependencies = [
"cranelift-entity",
"serde",
@@ -12627,6 +12697,19 @@ dependencies = [
"windows_x86_64_msvc 0.32.0",
]
+[[package]]
+name = "windows-sys"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+dependencies = [
+ "windows_aarch64_msvc 0.36.1",
+ "windows_i686_gnu 0.36.1",
+ "windows_i686_msvc 0.36.1",
+ "windows_x86_64_gnu 0.36.1",
+ "windows_x86_64_msvc 0.36.1",
+]
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.29.0"
@@ -12639,6 +12722,12 @@ version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+
[[package]]
name = "windows_i686_gnu"
version = "0.29.0"
@@ -12651,6 +12740,12 @@ version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+
[[package]]
name = "windows_i686_msvc"
version = "0.29.0"
@@ -12663,6 +12758,12 @@ version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.29.0"
@@ -12675,6 +12776,12 @@ version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.29.0"
@@ -12687,6 +12794,12 @@ version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+
[[package]]
name = "winreg"
version = "0.7.0"
@@ -12925,18 +13038,18 @@ dependencies = [
[[package]]
name = "zstd"
-version = "0.10.2+zstd.1.5.2"
+version = "0.11.2+zstd.1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4a6bd64f22b5e3e94b4e238669ff9f10815c27a5180108b849d24174a83847"
+checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
-version = "4.1.6+zstd.1.5.2"
+version = "5.0.2+zstd.1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94b61c51bb270702d6167b8ce67340d2754b088d0c091b06e593aa772c3ee9bb"
+checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
dependencies = [
"libc",
"zstd-sys",
@@ -12944,9 +13057,9 @@ dependencies = [
[[package]]
name = "zstd-sys"
-version = "1.6.3+zstd.1.5.2"
+version = "2.0.1+zstd.1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8"
+checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b"
dependencies = [
"cc",
"libc",
diff --git a/bridges/fuzz/storage-proof/Cargo.lock b/bridges/fuzz/storage-proof/Cargo.lock
index e303f3a887b8..895acfd87f9c 100644
--- a/bridges/fuzz/storage-proof/Cargo.lock
+++ b/bridges/fuzz/storage-proof/Cargo.lock
@@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 3
+
[[package]]
name = "Inflector"
version = "0.11.4"
@@ -57,9 +59,9 @@ checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1"
[[package]]
name = "arbitrary"
-version = "0.4.7"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db55d72333851e17d572bec876e390cd3b11eb1ef53ae821dd9f3b653d2b4569"
+checksum = "25e0a02cf12f1b1f48b14cb7f8217b876d09992b39c816ffb3b1ba64dd979a87"
[[package]]
name = "arrayref"
@@ -82,6 +84,12 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+[[package]]
+name = "arrayvec"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+
[[package]]
name = "async-trait"
version = "0.1.42"
@@ -93,6 +101,17 @@ dependencies = [
"syn",
]
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
[[package]]
name = "autocfg"
version = "1.0.1"
@@ -132,7 +151,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
dependencies = [
"either",
- "radium",
+ "radium 0.3.0",
+]
+
+[[package]]
+name = "bitvec"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b"
+dependencies = [
+ "funty",
+ "radium 0.7.0",
+ "tap",
+ "wyz",
]
[[package]]
@@ -154,7 +185,7 @@ dependencies = [
"block-padding",
"byte-tools",
"byteorder",
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
]
[[package]]
@@ -175,42 +206,21 @@ dependencies = [
"byte-tools",
]
-[[package]]
-name = "bp-header-chain"
-version = "0.1.0"
-dependencies = [
- "finality-grandpa",
- "frame-support",
- "parity-scale-codec",
- "serde",
- "sp-core",
- "sp-finality-grandpa",
- "sp-runtime",
- "sp-std",
-]
-
[[package]]
name = "bp-runtime"
version = "0.1.0"
dependencies = [
"frame-support",
+ "hash-db",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.5",
+ "scale-info",
"sp-core",
"sp-io",
"sp-runtime",
+ "sp-state-machine",
"sp-std",
-]
-
-[[package]]
-name = "bp-test-utils"
-version = "0.1.0"
-dependencies = [
- "bp-header-chain",
- "finality-grandpa",
- "sp-finality-grandpa",
- "sp-keyring",
- "sp-runtime",
+ "sp-trie",
]
[[package]]
@@ -219,6 +229,12 @@ version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
+[[package]]
+name = "byte-slice-cast"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e"
+
[[package]]
name = "byte-tools"
version = "0.3.1"
@@ -256,15 +272,6 @@ dependencies = [
"winapi",
]
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
[[package]]
name = "constant_time_eq"
version = "0.1.5"
@@ -289,7 +296,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
dependencies = [
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
"subtle 1.0.0",
]
@@ -346,7 +353,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
]
[[package]]
@@ -414,6 +421,19 @@ version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
+[[package]]
+name = "env_logger"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+dependencies = [
+ "atty",
+ "humantime",
+ "log",
+ "regex",
+ "termcolor",
+]
+
[[package]]
name = "environmental"
version = "1.1.2"
@@ -426,21 +446,6 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-[[package]]
-name = "finality-grandpa"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8feb87a63249689640ac9c011742c33139204e3c134293d3054022276869133b"
-dependencies = [
- "either",
- "futures",
- "futures-timer",
- "log",
- "num-traits",
- "parity-scale-codec",
- "parking_lot 0.9.0",
-]
-
[[package]]
name = "fixed-hash"
version = "0.7.0"
@@ -458,7 +463,7 @@ name = "frame-metadata"
version = "12.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"serde",
"sp-core",
"sp-std",
@@ -475,10 +480,10 @@ dependencies = [
"impl-trait-for-tuples",
"log",
"once_cell",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"paste",
"serde",
- "smallvec 1.6.1",
+ "smallvec",
"sp-arithmetic",
"sp-core",
"sp-inherents",
@@ -507,7 +512,7 @@ version = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
"frame-support-procedural-tools-derive",
- "proc-macro-crate",
+ "proc-macro-crate 0.1.5",
"proc-macro2",
"quote",
"syn",
@@ -524,20 +529,10 @@ dependencies = [
]
[[package]]
-name = "frame-system"
-version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
-dependencies = [
- "frame-support",
- "impl-trait-for-tuples",
- "parity-scale-codec",
- "serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
- "sp-version",
-]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "futures"
@@ -615,12 +610,6 @@ dependencies = [
"once_cell",
]
-[[package]]
-name = "futures-timer"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6"
-
[[package]]
name = "futures-util"
version = "0.3.12"
@@ -643,9 +632,9 @@ dependencies = [
[[package]]
name = "generic-array"
-version = "0.12.3"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
dependencies = [
"typenum",
]
@@ -712,15 +701,6 @@ dependencies = [
"ahash",
]
-[[package]]
-name = "heck"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac"
-dependencies = [
- "unicode-segmentation",
-]
-
[[package]]
name = "hermit-abi"
version = "0.1.18"
@@ -763,28 +743,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b"
dependencies = [
"digest 0.8.1",
- "generic-array 0.12.3",
+ "generic-array 0.12.4",
"hmac 0.7.1",
]
[[package]]
name = "honggfuzz"
-version = "0.5.52"
+version = "0.5.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ead88897bcad1c396806d6ccba260a0363e11da997472e9e19ab9889969083a2"
+checksum = "bea09577d948a98a5f59b7c891e274c4fb35ad52f67782b3d0cb53b9c05301f1"
dependencies = [
"arbitrary",
"lazy_static",
"memmap",
]
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
[[package]]
name = "impl-codec"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1be51a921b067b0eaca2fad532d9400041561aa922221cc65f95a85641c6bf53"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
]
[[package]]
@@ -798,9 +784,9 @@ dependencies = [
[[package]]
name = "impl-trait-for-tuples"
-version = "0.2.0"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f65a8ecf74feeacdab8d38cb129e550ca871cccaa7d1921d8636ecd75534903"
+checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
dependencies = [
"proc-macro2",
"quote",
@@ -865,15 +851,6 @@ dependencies = [
"typenum",
]
-[[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.2"
@@ -901,12 +878,6 @@ dependencies = [
"regex-automata",
]
-[[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.3.4"
@@ -1032,7 +1003,7 @@ version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
dependencies = [
- "parking_lot 0.11.1",
+ "parking_lot",
]
[[package]]
@@ -1048,33 +1019,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
-name = "pallet-substrate-bridge"
-version = "0.1.0"
+name = "parity-scale-codec"
+version = "1.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79602888a81ace83e3d1d4b2873286c1f5f906c84db667594e8db8da3506c383"
dependencies = [
- "bp-header-chain",
- "bp-runtime",
- "finality-grandpa",
- "frame-support",
- "frame-system",
- "hash-db",
- "parity-scale-codec",
+ "arrayvec 0.5.2",
+ "bitvec 0.17.4",
+ "byte-slice-cast 0.3.5",
+ "parity-scale-codec-derive 1.2.2",
"serde",
- "sp-finality-grandpa",
- "sp-runtime",
- "sp-std",
- "sp-trie",
]
[[package]]
name = "parity-scale-codec"
-version = "1.3.6"
+version = "3.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79602888a81ace83e3d1d4b2873286c1f5f906c84db667594e8db8da3506c383"
+checksum = "9182e4a71cae089267ab03e67c99368db7cd877baf50f931e5d6d4b71e195ac0"
dependencies = [
- "arrayvec 0.5.2",
- "bitvec",
- "byte-slice-cast",
- "parity-scale-codec-derive",
+ "arrayvec 0.7.2",
+ "bitvec 1.0.0",
+ "byte-slice-cast 1.2.1",
+ "impl-trait-for-tuples",
+ "parity-scale-codec-derive 3.1.3",
"serde",
]
@@ -1084,7 +1051,19 @@ version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "198db82bb1c18fc00176004462dd809b2a6d851669550aa17af6dacd21ae0c14"
dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 0.1.5",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "parity-scale-codec-derive"
+version = "3.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd"
+dependencies = [
+ "proc-macro-crate 1.1.3",
"proc-macro2",
"quote",
"syn",
@@ -1100,7 +1079,7 @@ dependencies = [
"hashbrown",
"impl-trait-for-tuples",
"parity-util-mem-derive",
- "parking_lot 0.11.1",
+ "parking_lot",
"primitive-types",
"winapi",
]
@@ -1122,17 +1101,6 @@ version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865"
-[[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.11.1"
@@ -1140,23 +1108,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
dependencies = [
"instant",
- "lock_api 0.4.2",
- "parking_lot_core 0.8.2",
-]
-
-[[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",
- "rustc_version",
- "smallvec 0.6.14",
- "winapi",
+ "lock_api",
+ "parking_lot_core",
]
[[package]]
@@ -1169,7 +1122,7 @@ dependencies = [
"instant",
"libc",
"redox_syscall",
- "smallvec 1.6.1",
+ "smallvec",
"winapi",
]
@@ -1250,6 +1203,16 @@ dependencies = [
"toml",
]
+[[package]]
+name = "proc-macro-crate"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a"
+dependencies = [
+ "thiserror",
+ "toml",
+]
+
[[package]]
name = "proc-macro-hack"
version = "0.5.19"
@@ -1286,6 +1249,12 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
[[package]]
name = "rand"
version = "0.7.3"
@@ -1440,19 +1409,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
[[package]]
-name = "rustc_version"
-version = "0.2.3"
+name = "ryu"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
+
+[[package]]
+name = "scale-info"
+version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a"
dependencies = [
- "semver",
+ "bitvec 1.0.0",
+ "cfg-if 1.0.0",
+ "derive_more",
+ "parity-scale-codec 3.1.5",
+ "scale-info-derive",
]
[[package]]
-name = "ryu"
-version = "1.0.5"
+name = "scale-info-derive"
+version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
+checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c"
+dependencies = [
+ "proc-macro-crate 1.1.3",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
[[package]]
name = "schnorrkel"
@@ -1488,21 +1473,6 @@ dependencies = [
"zeroize",
]
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
[[package]]
name = "serde"
version = "1.0.120"
@@ -1580,55 +1550,18 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
-[[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 = "sp-api"
-version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
-dependencies = [
- "hash-db",
- "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 = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
-dependencies = [
- "blake2-rfc",
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn",
-]
-
[[package]]
name = "sp-application-crypto"
version = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"serde",
"sp-core",
"sp-io",
@@ -1642,7 +1575,7 @@ source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def
dependencies = [
"integer-sqrt",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"serde",
"sp-debug-derive",
"sp-std",
@@ -1668,9 +1601,9 @@ dependencies = [
"log",
"merlin",
"num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"parity-util-mem",
- "parking_lot 0.11.1",
+ "parking_lot",
"primitive-types",
"rand 0.7.3",
"regex",
@@ -1708,35 +1641,18 @@ version = "0.8.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
"environmental",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"sp-std",
"sp-storage",
]
-[[package]]
-name = "sp-finality-grandpa"
-version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
-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 = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
- "parity-scale-codec",
- "parking_lot 0.11.1",
+ "parity-scale-codec 1.3.6",
+ "parking_lot",
"sp-core",
"sp-std",
"thiserror",
@@ -1751,8 +1667,8 @@ dependencies = [
"hash-db",
"libsecp256k1",
"log",
- "parity-scale-codec",
- "parking_lot 0.11.1",
+ "parity-scale-codec 1.3.6",
+ "parking_lot",
"sp-core",
"sp-externalities",
"sp-keystore",
@@ -1766,17 +1682,6 @@ dependencies = [
"tracing-core",
]
-[[package]]
-name = "sp-keyring"
-version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
-dependencies = [
- "lazy_static",
- "sp-core",
- "sp-runtime",
- "strum",
-]
-
[[package]]
name = "sp-keystore"
version = "0.8.0"
@@ -1786,8 +1691,8 @@ dependencies = [
"derive_more",
"futures",
"merlin",
- "parity-scale-codec",
- "parking_lot 0.11.1",
+ "parity-scale-codec 1.3.6",
+ "parking_lot",
"schnorrkel",
"sp-core",
"sp-externalities",
@@ -1810,7 +1715,7 @@ dependencies = [
"hash256-std-hasher",
"impl-trait-for-tuples",
"log",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"parity-util-mem",
"paste",
"rand 0.7.3",
@@ -1828,7 +1733,7 @@ version = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
"impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"primitive-types",
"sp-externalities",
"sp-runtime-interface-proc-macro",
@@ -1845,7 +1750,7 @@ version = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
"Inflector",
- "proc-macro-crate",
+ "proc-macro-crate 0.1.5",
"proc-macro2",
"quote",
"syn",
@@ -1859,10 +1764,10 @@ dependencies = [
"hash-db",
"log",
"num-traits",
- "parity-scale-codec",
- "parking_lot 0.11.1",
+ "parity-scale-codec 1.3.6",
+ "parking_lot",
"rand 0.7.3",
- "smallvec 1.6.1",
+ "smallvec",
"sp-core",
"sp-externalities",
"sp-panic-handler",
@@ -1884,7 +1789,7 @@ version = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
"impl-serde",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"ref-cast",
"serde",
"sp-debug-derive",
@@ -1897,7 +1802,7 @@ version = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
"log",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"sp-std",
"tracing",
"tracing-core",
@@ -1911,32 +1816,20 @@ source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def
dependencies = [
"hash-db",
"memory-db",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"sp-core",
"sp-std",
"trie-db",
"trie-root",
]
-[[package]]
-name = "sp-version"
-version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
-dependencies = [
- "impl-serde",
- "parity-scale-codec",
- "serde",
- "sp-runtime",
- "sp-std",
-]
-
[[package]]
name = "sp-wasm-interface"
version = "2.0.1"
source = "git+https://github.com/paritytech/substrate?branch=master#4b687dfb4def2b5eee9f5a20629e3fc3563587ee"
dependencies = [
"impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 1.3.6",
"sp-std",
"wasmi",
]
@@ -1948,24 +1841,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
-name = "strum"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6138f8f88a16d90134763314e3fc76fa3ed6a7db4725d6acf9a3ef95a3188d22"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0054a7df764039a6cd8592b9de84be4bec368ff081d203a7d5371cbfa8e65c81"
+name = "storage-proof-fuzzer"
+version = "0.1.0"
dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn",
+ "bp-runtime",
+ "env_logger",
+ "honggfuzz",
+ "log",
+ "sp-core",
+ "sp-runtime",
+ "sp-state-machine",
+ "sp-std",
+ "sp-trie",
]
[[package]]
@@ -1981,30 +1868,6 @@ dependencies = [
"zeroize",
]
-[[package]]
-name = "substrate-bridge-fuzzer"
-version = "0.1.0"
-dependencies = [
- "bp-header-chain",
- "bp-runtime",
- "bp-test-utils",
- "finality-grandpa",
- "frame-support",
- "frame-system",
- "hash-db",
- "honggfuzz",
- "pallet-substrate-bridge",
- "parity-scale-codec",
- "serde",
- "sp-core",
- "sp-finality-grandpa",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
- "sp-std",
- "sp-trie",
-]
-
[[package]]
name = "subtle"
version = "1.0.0"
@@ -2040,20 +1903,35 @@ dependencies = [
"unicode-xid",
]
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
[[package]]
name = "thiserror"
-version = "1.0.23"
+version = "1.0.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146"
+checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.23"
+version = "1.0.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1"
+checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
dependencies = [
"proc-macro2",
"quote",
@@ -2062,11 +1940,11 @@ dependencies = [
[[package]]
name = "thread_local"
-version = "1.1.0"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb9bc092d0d51e76b2b19d9d85534ffc9ec2db959a2523cdae0697e2972cd447"
+checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
dependencies = [
- "lazy_static",
+ "once_cell",
]
[[package]]
@@ -2197,7 +2075,7 @@ dependencies = [
"serde",
"serde_json",
"sharded-slab",
- "smallvec 1.6.1",
+ "smallvec",
"thread_local",
"tracing",
"tracing-core",
@@ -2215,7 +2093,7 @@ dependencies = [
"hashbrown",
"log",
"rustc-hex",
- "smallvec 1.6.1",
+ "smallvec",
]
[[package]]
@@ -2265,12 +2143,6 @@ dependencies = [
"tinyvec",
]
-[[package]]
-name = "unicode-segmentation"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
-
[[package]]
name = "unicode-xid"
version = "0.2.1"
@@ -2334,12 +2206,30 @@ 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",
+]
+
[[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 = "wyz"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e"
+dependencies = [
+ "tap",
+]
+
[[package]]
name = "zeroize"
version = "1.2.0"
diff --git a/core-primitives/Cargo.toml b/core-primitives/Cargo.toml
index 901591d52f46..34025702f359 100644
--- a/core-primitives/Cargo.toml
+++ b/core-primitives/Cargo.toml
@@ -9,7 +9,7 @@ sp-core = { git = "https://github.com/paritytech/substrate", branch = "master",
sp-std = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = [ "derive" ] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = [ "derive" ] }
parity-util-mem = { version = "0.11.0", default-features = false, optional = true }
[features]
diff --git a/erasure-coding/Cargo.toml b/erasure-coding/Cargo.toml
index 9ca5efd63ad6..f3c71b550932 100644
--- a/erasure-coding/Cargo.toml
+++ b/erasure-coding/Cargo.toml
@@ -8,7 +8,7 @@ edition = "2021"
polkadot-primitives = { path = "../primitives" }
polkadot-node-primitives = { package = "polkadot-node-primitives", path = "../node/primitives" }
novelpoly = { package = "reed-solomon-novelpoly", version = "1.0.0" }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["std", "derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["std", "derive"] }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
trie = { package = "sp-trie", git = "https://github.com/paritytech/substrate", branch = "master" }
thiserror = "1.0.31"
diff --git a/node/collation-generation/Cargo.toml b/node/collation-generation/Cargo.toml
index f817b8b020ec..76d7b9756a79 100644
--- a/node/collation-generation/Cargo.toml
+++ b/node/collation-generation/Cargo.toml
@@ -15,7 +15,7 @@ polkadot-primitives = { path = "../../primitives" }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-maybe-compressed-blob = { git = "https://github.com/paritytech/substrate", branch = "master" }
thiserror = "1.0.31"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["bit-vec", "derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
[dev-dependencies]
polkadot-node-subsystem-test-helpers = { path = "../subsystem-test-helpers" }
diff --git a/node/core/approval-voting/Cargo.toml b/node/core/approval-voting/Cargo.toml
index a436f51c6f5e..ef41e288f078 100644
--- a/node/core/approval-voting/Cargo.toml
+++ b/node/core/approval-voting/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
futures = "0.3.21"
futures-timer = "3.0.2"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["bit-vec", "derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
gum = { package = "tracing-gum", path = "../../gum" }
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
lru = "0.7"
diff --git a/node/core/av-store/Cargo.toml b/node/core/av-store/Cargo.toml
index bd77aaac663a..7b046434c40d 100644
--- a/node/core/av-store/Cargo.toml
+++ b/node/core/av-store/Cargo.toml
@@ -12,7 +12,7 @@ thiserror = "1.0.31"
gum = { package = "tracing-gum", path = "../../gum" }
bitvec = "1.0.0"
-parity-scale-codec = { version = "3.1.2", features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", features = ["derive"] }
erasure = { package = "polkadot-erasure-coding", path = "../../../erasure-coding" }
polkadot-node-subsystem = {path = "../../subsystem" }
polkadot-node-subsystem-util = { path = "../../subsystem-util" }
diff --git a/node/core/candidate-validation/Cargo.toml b/node/core/candidate-validation/Cargo.toml
index 3e5ff2de349e..312fc0e32a42 100644
--- a/node/core/candidate-validation/Cargo.toml
+++ b/node/core/candidate-validation/Cargo.toml
@@ -10,7 +10,7 @@ futures = "0.3.21"
gum = { package = "tracing-gum", path = "../../gum" }
sp-maybe-compressed-blob = { package = "sp-maybe-compressed-blob", git = "https://github.com/paritytech/substrate", branch = "master" }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["bit-vec", "derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
polkadot-primitives = { path = "../../../primitives" }
polkadot-parachain = { path = "../../../parachain" }
diff --git a/node/core/chain-api/Cargo.toml b/node/core/chain-api/Cargo.toml
index f5bdf8cb41b2..b82f9127d7d5 100644
--- a/node/core/chain-api/Cargo.toml
+++ b/node/core/chain-api/Cargo.toml
@@ -17,7 +17,7 @@ sc-consensus-babe = { git = "https://github.com/paritytech/substrate", branch =
[dev-dependencies]
futures = { version = "0.3.21", features = ["thread-pool"] }
maplit = "1.0.2"
-parity-scale-codec = "3.1.2"
+parity-scale-codec = "3.1.5"
polkadot-node-primitives = { path = "../../primitives" }
polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/node/core/chain-selection/Cargo.toml b/node/core/chain-selection/Cargo.toml
index c2a3768ddf6c..a45fbad43846 100644
--- a/node/core/chain-selection/Cargo.toml
+++ b/node/core/chain-selection/Cargo.toml
@@ -15,7 +15,7 @@ polkadot-node-subsystem = { path = "../../subsystem" }
polkadot-node-subsystem-util = { path = "../../subsystem-util" }
kvdb = "0.11.0"
thiserror = "1.0.31"
-parity-scale-codec = "3.1.2"
+parity-scale-codec = "3.1.5"
[dev-dependencies]
polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
diff --git a/node/core/dispute-coordinator/Cargo.toml b/node/core/dispute-coordinator/Cargo.toml
index 96f976d2eadc..e454c35468a8 100644
--- a/node/core/dispute-coordinator/Cargo.toml
+++ b/node/core/dispute-coordinator/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
futures = "0.3.21"
gum = { package = "tracing-gum", path = "../../gum" }
-parity-scale-codec = "3.1.2"
+parity-scale-codec = "3.1.5"
kvdb = "0.11.0"
thiserror = "1.0.31"
lru = "0.7.7"
diff --git a/node/core/pvf/Cargo.toml b/node/core/pvf/Cargo.toml
index 46f35aa498cc..cc6729a81152 100644
--- a/node/core/pvf/Cargo.toml
+++ b/node/core/pvf/Cargo.toml
@@ -20,7 +20,8 @@ gum = { package = "tracing-gum", path = "../../gum" }
pin-project = "1.0.9"
rand = "0.8.5"
tempfile = "3.3.0"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+rayon = "1.5.1"
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
polkadot-parachain = { path = "../../../parachain" }
polkadot-core-primitives = { path = "../../../core-primitives" }
polkadot-node-subsystem-util = { path = "../../subsystem-util"}
diff --git a/node/core/pvf/src/error.rs b/node/core/pvf/src/error.rs
index 6b52a3f1369a..4aca2da4b3ba 100644
--- a/node/core/pvf/src/error.rs
+++ b/node/core/pvf/src/error.rs
@@ -15,6 +15,7 @@
// along with Polkadot. If not, see .
use parity_scale_codec::{Decode, Encode};
+use std::any::Any;
/// Result of PVF preparation performed by the validation host.
pub type PrepareResult = Result<(), PrepareError>;
@@ -108,3 +109,17 @@ impl From for ValidationError {
}
}
}
+
+/// Attempt to convert an opaque panic payload to a string.
+///
+/// This is a best effort, and is not guaranteed to provide the most accurate value.
+pub(crate) fn stringify_panic_payload(payload: Box) -> String {
+ match payload.downcast::<&'static str>() {
+ Ok(msg) => msg.to_string(),
+ Err(payload) => match payload.downcast::() {
+ Ok(msg) => *msg,
+ // At least we tried...
+ Err(_) => "unknown panic payload".to_string(),
+ },
+ }
+}
diff --git a/node/core/pvf/src/execute/worker.rs b/node/core/pvf/src/execute/worker.rs
index 01bc59cb1a84..a0b8337ddc4a 100644
--- a/node/core/pvf/src/execute/worker.rs
+++ b/node/core/pvf/src/execute/worker.rs
@@ -16,7 +16,7 @@
use crate::{
artifacts::ArtifactPathId,
- executor_intf::TaskExecutor,
+ executor_intf::Executor,
worker_common::{
bytes_to_path, framed_recv, framed_send, path_to_bytes, spawn_with_program_path,
worker_event_loop, IdleWorker, SpawnErr, WorkerHandle,
@@ -184,8 +184,8 @@ impl Response {
/// the path to the socket used to communicate with the host.
pub fn worker_entrypoint(socket_path: &str) {
worker_event_loop("execute", socket_path, |mut stream| async move {
- let executor = TaskExecutor::new().map_err(|e| {
- io::Error::new(io::ErrorKind::Other, format!("cannot create task executor: {}", e))
+ let executor = Executor::new().map_err(|e| {
+ io::Error::new(io::ErrorKind::Other, format!("cannot create executor: {}", e))
})?;
loop {
let (artifact_path, params) = recv_request(&mut stream).await?;
@@ -204,14 +204,14 @@ pub fn worker_entrypoint(socket_path: &str) {
async fn validate_using_artifact(
artifact_path: &Path,
params: &[u8],
- spawner: &TaskExecutor,
+ executor: &Executor,
) -> Response {
let validation_started_at = Instant::now();
let descriptor_bytes = match unsafe {
// SAFETY: this should be safe since the compiled artifact passed here comes from the
// file created by the prepare workers. These files are obtained by calling
// [`executor_intf::prepare`].
- crate::executor_intf::execute(artifact_path.as_ref(), params, spawner.clone())
+ executor.execute(artifact_path.as_ref(), params)
} {
Err(err) => return Response::format_invalid("execute", &err.to_string()),
Ok(d) => d,
diff --git a/node/core/pvf/src/executor_intf.rs b/node/core/pvf/src/executor_intf.rs
index 7702923d7918..55e94922ed26 100644
--- a/node/core/pvf/src/executor_intf.rs
+++ b/node/core/pvf/src/executor_intf.rs
@@ -43,6 +43,9 @@ use std::{
const DEFAULT_HEAP_PAGES_ESTIMATE: u64 = 32;
const EXTRA_HEAP_PAGES: u64 = 2048;
+/// The number of bytes devoted for the stack during wasm execution of a PVF.
+const NATIVE_STACK_MAX: u32 = 256 * 1024 * 1024;
+
const CONFIG: Config = Config {
allow_missing_func_imports: true,
cache_path: None,
@@ -69,7 +72,7 @@ const CONFIG: Config = Config {
// the stack limit set by the wasmtime.
deterministic_stack_limit: Some(DeterministicStackLimit {
logical_max: 65536,
- native_stack_max: 256 * 1024 * 1024,
+ native_stack_max: NATIVE_STACK_MAX,
}),
canonicalize_nans: true,
// Rationale for turning the multi-threaded compilation off is to make the preparation time
@@ -98,20 +101,99 @@ pub fn prepare(blob: RuntimeBlob) -> Result, sc_executor_common::error::
sc_executor_wasmtime::prepare_runtime_artifact(blob, &CONFIG.semantics)
}
-/// Executes the given PVF in the form of a compiled artifact and returns the result of execution
-/// upon success.
-///
-/// # Safety
-///
-/// The caller must ensure that the compiled artifact passed here was:
-/// 1) produced by [`prepare`],
-/// 2) written to the disk as a file,
-/// 3) was not modified,
-/// 4) will not be modified while any runtime using this artifact is alive, or is being
-/// instantiated.
-///
-/// Failure to adhere to these requirements might lead to crashes and arbitrary code execution.
-pub unsafe fn execute(
+pub struct Executor {
+ thread_pool: rayon::ThreadPool,
+ spawner: TaskSpawner,
+}
+
+impl Executor {
+ pub fn new() -> Result {
+ // Wasmtime powers the Substrate Executor. It compiles the wasm bytecode into native code.
+ // That native code does not create any stacks and just reuses the stack of the thread that
+ // wasmtime was invoked from.
+ //
+ // Also, we configure the executor to provide the deterministic stack and that requires
+ // supplying the amount of the native stack space that wasm is allowed to use. This is
+ // realized by supplying the limit into `wasmtime::Config::max_wasm_stack`.
+ //
+ // There are quirks to that configuration knob:
+ //
+ // 1. It only limits the amount of stack space consumed by wasm but does not ensure nor check
+ // that the stack space is actually available.
+ //
+ // That means, if the calling thread has 1 MiB of stack space left and the wasm code consumes
+ // more, then the wasmtime limit will **not** trigger. Instead, the wasm code will hit the
+ // guard page and the Rust stack overflow handler will be triggered. That leads to an
+ // **abort**.
+ //
+ // 2. It cannot and does not limit the stack space consumed by Rust code.
+ //
+ // Meaning that if the wasm code leaves no stack space for Rust code, then the Rust code
+ // and that will abort the process as well.
+ //
+ // Typically on Linux the main thread gets the stack size specified by the `ulimit` and
+ // typically it's configured to 8 MiB. Rust's spawned threads are 2 MiB. OTOH, the
+ // NATIVE_STACK_MAX is set to 256 MiB. Not nearly enough.
+ //
+ // Hence we need to increase it.
+ //
+ // The simplest way to fix that is to spawn a thread with the desired stack limit. In order
+ // to avoid costs of creating a thread, we use a thread pool. The execution is
+ // single-threaded hence the thread pool has only one thread.
+ //
+ // The reasoning why we pick this particular size is:
+ //
+ // The default Rust thread stack limit 2 MiB + 256 MiB wasm stack.
+ let thread_stack_size = 2 * 1024 * 1024 + NATIVE_STACK_MAX as usize;
+ let thread_pool = rayon::ThreadPoolBuilder::new()
+ .num_threads(1)
+ .stack_size(thread_stack_size)
+ .build()
+ .map_err(|e| format!("Failed to create thread pool: {:?}", e))?;
+
+ let spawner =
+ TaskSpawner::new().map_err(|e| format!("cannot create task spawner: {}", e))?;
+
+ Ok(Self { thread_pool, spawner })
+ }
+
+ /// Executes the given PVF in the form of a compiled artifact and returns the result of execution
+ /// upon success.
+ ///
+ /// # Safety
+ ///
+ /// The caller must ensure that the compiled artifact passed here was:
+ /// 1) produced by [`prepare`],
+ /// 2) written to the disk as a file,
+ /// 3) was not modified,
+ /// 4) will not be modified while any runtime using this artifact is alive, or is being
+ /// instantiated.
+ ///
+ /// Failure to adhere to these requirements might lead to crashes and arbitrary code execution.
+ pub unsafe fn execute(
+ &self,
+ compiled_artifact_path: &Path,
+ params: &[u8],
+ ) -> Result, String> {
+ let spawner = self.spawner.clone();
+ let mut result = None;
+ self.thread_pool.scope({
+ let result = &mut result;
+ move |s| {
+ s.spawn(move |_| {
+ // spawn does not return a value, so we need to use a variable to pass the result.
+ *result = Some(
+ do_execute(compiled_artifact_path, params, spawner)
+ .map_err(|err| format!("execute error: {:?}", err)),
+ );
+ });
+ }
+ });
+ result.unwrap_or_else(|| Err("rayon thread pool spawn failed".to_string()))
+ }
+}
+
+unsafe fn do_execute(
compiled_artifact_path: &Path,
params: &[u8],
spawner: impl sp_core::traits::SpawnNamed + 'static,
@@ -291,9 +373,9 @@ impl sp_externalities::ExtensionStore for ValidationExternalities {
///
/// This is a light handle meaning it will only clone the handle not create a new thread pool.
#[derive(Clone)]
-pub(crate) struct TaskExecutor(futures::executor::ThreadPool);
+pub(crate) struct TaskSpawner(futures::executor::ThreadPool);
-impl TaskExecutor {
+impl TaskSpawner {
pub(crate) fn new() -> Result {
futures::executor::ThreadPoolBuilder::new()
.pool_size(4)
@@ -304,7 +386,7 @@ impl TaskExecutor {
}
}
-impl sp_core::traits::SpawnNamed for TaskExecutor {
+impl sp_core::traits::SpawnNamed for TaskSpawner {
fn spawn_blocking(
&self,
_task_name: &'static str,
diff --git a/node/core/pvf/src/prepare/worker.rs b/node/core/pvf/src/prepare/worker.rs
index ca90285ca7b3..a9124b3926c5 100644
--- a/node/core/pvf/src/prepare/worker.rs
+++ b/node/core/pvf/src/prepare/worker.rs
@@ -30,7 +30,7 @@ use async_std::{
};
use parity_scale_codec::{Decode, Encode};
use sp_core::hexdisplay::HexDisplay;
-use std::{any::Any, panic, sync::Arc, time::Duration};
+use std::{panic, sync::Arc, time::Duration};
/// The time period after which the preparation worker is considered unresponsive and will be killed.
// NOTE: If you change this make sure to fix the buckets of `pvf_preparation_time` metric.
@@ -294,20 +294,8 @@ fn prepare_artifact(code: &[u8]) -> Result {
Err(err) => Err(PrepareError::Preparation(format!("{:?}", err))),
}
})
- .map_err(|panic_payload| PrepareError::Panic(stringify_panic_payload(panic_payload)))
+ .map_err(|panic_payload| {
+ PrepareError::Panic(crate::error::stringify_panic_payload(panic_payload))
+ })
.and_then(|inner_result| inner_result)
}
-
-/// Attempt to convert an opaque panic payload to a string.
-///
-/// This is a best effort, and is not guaranteed to provide the most accurate value.
-fn stringify_panic_payload(payload: Box) -> String {
- match payload.downcast::<&'static str>() {
- Ok(msg) => msg.to_string(),
- Err(payload) => match payload.downcast::() {
- Ok(msg) => *msg,
- // At least we tried...
- Err(_) => "unkown panic payload".to_string(),
- },
- }
-}
diff --git a/node/core/pvf/src/testing.rs b/node/core/pvf/src/testing.rs
index ba407e0b87cb..3b64d130fc6a 100644
--- a/node/core/pvf/src/testing.rs
+++ b/node/core/pvf/src/testing.rs
@@ -29,7 +29,7 @@ pub fn validate_candidate(
code: &[u8],
params: &[u8],
) -> Result, Box> {
- use crate::executor_intf::{execute, prepare, prevalidate, TaskExecutor};
+ use crate::executor_intf::{prepare, prevalidate, Executor};
let code = sp_maybe_compressed_blob::decompress(code, 10 * 1024 * 1024)
.expect("Decompressing code failed");
@@ -40,11 +40,11 @@ pub fn validate_candidate(
let artifact_path = tmpdir.path().join("blob");
std::fs::write(&artifact_path, &artifact)?;
- let executor = TaskExecutor::new()?;
+ let executor = Executor::new()?;
let result = unsafe {
// SAFETY: This is trivially safe since the artifact is obtained by calling `prepare`
// and is written into a temporary directory in an unmodified state.
- execute(&artifact_path, params, executor)?
+ executor.execute(&artifact_path, params)?
};
Ok(result)
diff --git a/node/core/pvf/tests/it/main.rs b/node/core/pvf/tests/it/main.rs
index a4167e742f5d..bf0983d50874 100644
--- a/node/core/pvf/tests/it/main.rs
+++ b/node/core/pvf/tests/it/main.rs
@@ -78,7 +78,6 @@ impl TestHost {
}
#[async_std::test]
-#[ignore]
async fn terminates_on_timeout() {
let host = TestHost::new();
diff --git a/node/gum/proc-macro/Cargo.toml b/node/gum/proc-macro/Cargo.toml
index 115e948b91ae..14b65c454d94 100644
--- a/node/gum/proc-macro/Cargo.toml
+++ b/node/gum/proc-macro/Cargo.toml
@@ -13,8 +13,8 @@ proc-macro = true
[dependencies]
syn = { version = "1.0.95", features = ["full", "extra-traits"] }
-quote = "1.0.18"
-proc-macro2 = "1.0.37"
+quote = "1.0.19"
+proc-macro2 = "1.0.40"
proc-macro-crate = "1.1.3"
expander = "0.0.6"
diff --git a/node/jaeger/Cargo.toml b/node/jaeger/Cargo.toml
index 6cc8cb8500e6..05755c383bb8 100644
--- a/node/jaeger/Cargo.toml
+++ b/node/jaeger/Cargo.toml
@@ -16,4 +16,4 @@ sc-network = { git = "https://github.com/paritytech/substrate", branch = "master
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
thiserror = "1.0.31"
log = "0.4.17"
-parity-scale-codec = { version = "3.1.2", default-features = false }
+parity-scale-codec = { version = "3.1.5", default-features = false }
diff --git a/node/network/availability-distribution/Cargo.toml b/node/network/availability-distribution/Cargo.toml
index b21bac374407..ab8251dd2095 100644
--- a/node/network/availability-distribution/Cargo.toml
+++ b/node/network/availability-distribution/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
futures = "0.3.21"
gum = { package = "tracing-gum", path = "../../gum" }
-parity-scale-codec = { version = "3.1.2", features = ["std"] }
+parity-scale-codec = { version = "3.1.5", features = ["std"] }
polkadot-primitives = { path = "../../../primitives" }
polkadot-erasure-coding = { path = "../../../erasure-coding" }
polkadot-node-network-protocol = { path = "../../network/protocol" }
diff --git a/node/network/availability-recovery/Cargo.toml b/node/network/availability-recovery/Cargo.toml
index 91564ae81bfd..68ec956aec62 100644
--- a/node/network/availability-recovery/Cargo.toml
+++ b/node/network/availability-recovery/Cargo.toml
@@ -18,7 +18,7 @@ polkadot-node-primitives = { path = "../../primitives" }
polkadot-node-subsystem = {path = "../../subsystem" }
polkadot-node-subsystem-util = { path = "../../subsystem-util" }
polkadot-node-network-protocol = { path = "../../network/protocol" }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" }
[dev-dependencies]
diff --git a/node/network/bridge/Cargo.toml b/node/network/bridge/Cargo.toml
index f5b58becf172..76e72ebd6917 100644
--- a/node/network/bridge/Cargo.toml
+++ b/node/network/bridge/Cargo.toml
@@ -10,7 +10,7 @@ async-trait = "0.1.53"
futures = "0.3.21"
gum = { package = "tracing-gum", path = "../../gum" }
polkadot-primitives = { path = "../../../primitives" }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
polkadot-node-subsystem = {path = "../../subsystem" }
diff --git a/node/network/collator-protocol/Cargo.toml b/node/network/collator-protocol/Cargo.toml
index 46a4f9800602..972ff137ca69 100644
--- a/node/network/collator-protocol/Cargo.toml
+++ b/node/network/collator-protocol/Cargo.toml
@@ -30,7 +30,7 @@ assert_matches = "1.4.0"
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master", features = ["std"] }
sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" }
-parity-scale-codec = { version = "3.1.2", features = ["std"] }
+parity-scale-codec = { version = "3.1.5", features = ["std"] }
polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
polkadot-primitives-test-helpers = { path = "../../../primitives/test-helpers" }
diff --git a/node/network/dispute-distribution/Cargo.toml b/node/network/dispute-distribution/Cargo.toml
index 58eb2e0ef5a9..088d471a1080 100644
--- a/node/network/dispute-distribution/Cargo.toml
+++ b/node/network/dispute-distribution/Cargo.toml
@@ -8,7 +8,7 @@ edition = "2021"
futures = "0.3.21"
gum = { package = "tracing-gum", path = "../../gum" }
derive_more = "0.99.17"
-parity-scale-codec = { version = "3.1.2", features = ["std"] }
+parity-scale-codec = { version = "3.1.5", features = ["std"] }
polkadot-primitives = { path = "../../../primitives" }
polkadot-erasure-coding = { path = "../../../erasure-coding" }
polkadot-node-subsystem = {path = "../../subsystem" }
diff --git a/node/network/gossip-support/src/lib.rs b/node/network/gossip-support/src/lib.rs
index 5cb81bde25c4..1cebcc64f78e 100644
--- a/node/network/gossip-support/src/lib.rs
+++ b/node/network/gossip-support/src/lib.rs
@@ -256,12 +256,9 @@ where
}
}
- // Gossip topology is only relevant for authorities in the current session.
- let our_index =
- ensure_i_am_an_authority(&self.keystore, &session_info.discovery_keys).await?;
-
if is_new_session {
- self.update_authority_status_metrics(&session_info).await;
+ // Gossip topology is only relevant for authorities in the current session.
+ let our_index = self.get_key_index_and_update_metrics(&session_info).await?;
update_gossip_topology(
sender,
@@ -277,35 +274,45 @@ where
Ok(())
}
- async fn update_authority_status_metrics(&mut self, session_info: &SessionInfo) {
- let maybe_index =
- match ensure_i_am_an_authority(&self.keystore, &session_info.discovery_keys).await {
- Ok(index) => {
- self.metrics.on_is_authority();
- Some(index)
- },
- Err(util::Error::NotAValidator) => {
- self.metrics.on_is_not_authority();
+ // Checks if the node is an authority and also updates `polkadot_node_is_authority` and
+ // `polkadot_node_is_parachain_validator` metrics accordingly.
+ // On success, returns the index of our keys in `session_info.discovery_keys`.
+ async fn get_key_index_and_update_metrics(
+ &mut self,
+ session_info: &SessionInfo,
+ ) -> Result {
+ let authority_check_result =
+ ensure_i_am_an_authority(&self.keystore, &session_info.discovery_keys).await;
+
+ match authority_check_result.as_ref() {
+ Ok(index) => {
+ gum::trace!(target: LOG_TARGET, "We are now an authority",);
+ self.metrics.on_is_authority();
+
+ // The subset of authorities participating in parachain consensus.
+ let parachain_validators_this_session = session_info.validators.len();
+
+ // First `maxValidators` entries are the parachain validators. We'll check
+ // if our index is in this set to avoid searching for the keys.
+ // https://github.com/paritytech/polkadot/blob/a52dca2be7840b23c19c153cf7e110b1e3e475f8/runtime/parachains/src/configuration.rs#L148
+ if *index < parachain_validators_this_session {
+ gum::trace!(target: LOG_TARGET, "We are now a parachain validator",);
+ self.metrics.on_is_parachain_validator();
+ } else {
+ gum::trace!(target: LOG_TARGET, "We are no longer a parachain validator",);
self.metrics.on_is_not_parachain_validator();
- None
- },
- // Don't update on runtime errors.
- Err(_) => None,
- };
-
- if let Some(validator_index) = maybe_index {
- // The subset of authorities participating in parachain consensus.
- let parachain_validators_this_session = session_info.validators.len();
-
- // First `maxValidators` entries are the parachain validators. We'll check
- // if our index is in this set to avoid searching for the keys.
- // https://github.com/paritytech/polkadot/blob/a52dca2be7840b23c19c153cf7e110b1e3e475f8/runtime/parachains/src/configuration.rs#L148
- if validator_index < parachain_validators_this_session {
- self.metrics.on_is_parachain_validator();
- } else {
+ }
+ },
+ Err(util::Error::NotAValidator) => {
+ gum::trace!(target: LOG_TARGET, "We are no longer an authority",);
+ self.metrics.on_is_not_authority();
self.metrics.on_is_not_parachain_validator();
- }
- }
+ },
+ // Don't update on runtime errors.
+ Err(_) => {},
+ };
+
+ authority_check_result
}
async fn issue_connection_request(
diff --git a/node/network/gossip-support/src/metrics.rs b/node/network/gossip-support/src/metrics.rs
index 67aa258921d8..99bbf72684d8 100644
--- a/node/network/gossip-support/src/metrics.rs
+++ b/node/network/gossip-support/src/metrics.rs
@@ -74,14 +74,15 @@ impl metrics::Metrics for Metrics {
fn try_register(registry: &Registry) -> Result {
let metrics = MetricsInner {
is_authority: prometheus::register(
- Gauge::new("polkadot_node_is_authority", "Tracks the node authority status across sessions. \
- An authority is any node that is a potential block producer in a session.")?,
+ Gauge::new("polkadot_node_is_active_validator", "Tracks if the validator is in the active set. \
+ Updates at session boundary.")?,
registry,
)?,
is_parachain_validator: prometheus::register(
Gauge::new("polkadot_node_is_parachain_validator",
- "Tracks the node parachain validator status across sessions. Parachain validators are a \
- subset of authorities that perform approval checking of all parachain candidates in a session.")?,
+ "Tracks if the validator participates in parachain consensus. Parachain validators are a \
+ subset of the active set validators that perform approval checking of all parachain candidates in a session.\
+ Updates at session boundary.")?,
registry,
)?,
};
diff --git a/node/network/protocol/Cargo.toml b/node/network/protocol/Cargo.toml
index a6554d048ba0..1f24883bf67c 100644
--- a/node/network/protocol/Cargo.toml
+++ b/node/network/protocol/Cargo.toml
@@ -10,7 +10,7 @@ async-trait = "0.1.53"
polkadot-primitives = { path = "../../../primitives" }
polkadot-node-primitives = { path = "../../primitives" }
polkadot-node-jaeger = { path = "../../jaeger" }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-authority-discovery = { git = "https://github.com/paritytech/substrate", branch = "master" }
strum = { version = "0.24", features = ["derive"] }
diff --git a/node/network/statement-distribution/Cargo.toml b/node/network/statement-distribution/Cargo.toml
index 8e997d42bd93..acdadbe64274 100644
--- a/node/network/statement-distribution/Cargo.toml
+++ b/node/network/statement-distribution/Cargo.toml
@@ -17,7 +17,7 @@ polkadot-node-subsystem-util = { path = "../../subsystem-util" }
polkadot-node-network-protocol = { path = "../../network/protocol" }
arrayvec = "0.5.2"
indexmap = "1.9.0"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
thiserror = "1.0.31"
fatality = "0.0.6"
diff --git a/node/orchestra/proc-macro/Cargo.toml b/node/orchestra/proc-macro/Cargo.toml
index 86653ab4604d..09a5cbb8386c 100644
--- a/node/orchestra/proc-macro/Cargo.toml
+++ b/node/orchestra/proc-macro/Cargo.toml
@@ -15,8 +15,8 @@ proc-macro = true
[dependencies]
syn = { version = "1.0.95", features = ["full", "extra-traits"] }
-quote = "1.0.18"
-proc-macro2 = "1.0.37"
+quote = "1.0.19"
+proc-macro2 = "1.0.40"
proc-macro-crate = "1.1.3"
expander = { version = "0.0.6", default-features = false }
petgraph = "0.6.0"
diff --git a/node/primitives/Cargo.toml b/node/primitives/Cargo.toml
index 4aec75a4b4ac..55323b70dddd 100644
--- a/node/primitives/Cargo.toml
+++ b/node/primitives/Cargo.toml
@@ -9,7 +9,7 @@ description = "Primitives types for the Node-side"
bounded-vec = "0.6"
futures = "0.3.21"
polkadot-primitives = { path = "../../primitives" }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-application-crypto = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-consensus-vrf = { git = "https://github.com/paritytech/substrate", branch = "master" }
@@ -22,7 +22,7 @@ thiserror = "1.0.31"
serde = { version = "1.0.137", features = ["derive"] }
[target.'cfg(not(target_os = "unknown"))'.dependencies]
-zstd = { version = "0.10.2", default-features = false }
+zstd = { version = "0.11.2", default-features = false }
[dev-dependencies]
polkadot-erasure-coding = { path = "../../erasure-coding" }
diff --git a/node/subsystem-util/Cargo.toml b/node/subsystem-util/Cargo.toml
index a8de4f904e6c..06b985445d59 100644
--- a/node/subsystem-util/Cargo.toml
+++ b/node/subsystem-util/Cargo.toml
@@ -9,7 +9,7 @@ description = "Subsystem traits and message definitions"
async-trait = "0.1.53"
futures = "0.3.21"
itertools = "0.10"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
parking_lot = "0.11.2"
pin-project = "1.0.9"
rand = "0.8.5"
diff --git a/node/test/client/Cargo.toml b/node/test/client/Cargo.toml
index 852510e9c3e4..74f54a4c1d9b 100644
--- a/node/test/client/Cargo.toml
+++ b/node/test/client/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies "]
edition = "2021"
[dependencies]
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
# Polkadot dependencies
polkadot-test-runtime = { path = "../../../runtime/test-runtime" }
diff --git a/node/test/performance-test/Cargo.toml b/node/test/performance-test/Cargo.toml
index 37e6df53465c..2a7c4d1c37f2 100644
--- a/node/test/performance-test/Cargo.toml
+++ b/node/test/performance-test/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
[dependencies]
thiserror = "1.0.31"
-quote = "1.0.18"
+quote = "1.0.19"
env_logger = "0.9"
log = "0.4"
diff --git a/node/zombienet-backchannel/Cargo.toml b/node/zombienet-backchannel/Cargo.toml
index ab57fcbc9b7a..ba7eea3fa440 100644
--- a/node/zombienet-backchannel/Cargo.toml
+++ b/node/zombienet-backchannel/Cargo.toml
@@ -14,7 +14,7 @@ url = "2.0.0"
tokio-tungstenite = "0.17"
futures-util = "0.3.21"
lazy_static = "1.4.0"
-parity-scale-codec = { version = "3.1.2", features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", features = ["derive"] }
reqwest = "0.11"
thiserror = "1.0.31"
gum = { package = "tracing-gum", path = "../gum/" }
diff --git a/parachain/Cargo.toml b/parachain/Cargo.toml
index eb53a106aa46..d106b127d484 100644
--- a/parachain/Cargo.toml
+++ b/parachain/Cargo.toml
@@ -9,7 +9,7 @@ edition = "2021"
# note: special care is taken to avoid inclusion of `sp-io` externals when compiling
# this crate for WASM. This is critical to avoid forcing all parachain WASM into implementing
# various unnecessary Substrate-specific endpoints.
-parity-scale-codec = { version = "3.1.2", default-features = false, features = [ "derive" ] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = [ "derive" ] }
parity-util-mem = { version = "0.11.0", default-features = false, optional = true }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
sp-std = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
diff --git a/parachain/test-parachains/Cargo.toml b/parachain/test-parachains/Cargo.toml
index 4b5492f58ca6..6fe51fc0d3dc 100644
--- a/parachain/test-parachains/Cargo.toml
+++ b/parachain/test-parachains/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
tiny-keccak = "2.0.2"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
adder = { package = "test-parachain-adder", path = "adder" }
halt = { package = "test-parachain-halt", path = "halt" }
diff --git a/parachain/test-parachains/adder/Cargo.toml b/parachain/test-parachains/adder/Cargo.toml
index 69cf157ada89..28c74f5e36cb 100644
--- a/parachain/test-parachains/adder/Cargo.toml
+++ b/parachain/test-parachains/adder/Cargo.toml
@@ -8,7 +8,7 @@ build = "build.rs"
[dependencies]
parachain = { package = "polkadot-parachain", path = "../../", default-features = false, features = [ "wasm-api" ] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sp-std = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
tiny-keccak = { version = "2.0.2", features = ["keccak"] }
dlmalloc = { version = "0.2.3", features = [ "global" ] }
diff --git a/parachain/test-parachains/adder/collator/Cargo.toml b/parachain/test-parachains/adder/collator/Cargo.toml
index d3a165d14814..9776b6ea39de 100644
--- a/parachain/test-parachains/adder/collator/Cargo.toml
+++ b/parachain/test-parachains/adder/collator/Cargo.toml
@@ -14,7 +14,7 @@ name = "adder_collator_puppet_worker"
path = "bin/puppet_worker.rs"
[dependencies]
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
clap = { version = "3.1", features = ["derive"] }
futures = "0.3.21"
futures-timer = "3.0.2"
diff --git a/parachain/test-parachains/undying/Cargo.toml b/parachain/test-parachains/undying/Cargo.toml
index ef026bdce778..3fedb6729557 100644
--- a/parachain/test-parachains/undying/Cargo.toml
+++ b/parachain/test-parachains/undying/Cargo.toml
@@ -8,7 +8,7 @@ build = "build.rs"
[dependencies]
parachain = { package = "polkadot-parachain", path = "../../", default-features = false, features = [ "wasm-api" ] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sp-std = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
tiny-keccak = { version = "2.0.2", features = ["keccak"] }
dlmalloc = { version = "0.2.3", features = [ "global" ] }
diff --git a/parachain/test-parachains/undying/collator/Cargo.toml b/parachain/test-parachains/undying/collator/Cargo.toml
index 923b323d75ac..329e5373ed43 100644
--- a/parachain/test-parachains/undying/collator/Cargo.toml
+++ b/parachain/test-parachains/undying/collator/Cargo.toml
@@ -14,7 +14,7 @@ name = "undying_collator_puppet_worker"
path = "bin/puppet_worker.rs"
[dependencies]
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
clap = { version = "3.1", features = ["derive"] }
futures = "0.3.19"
futures-timer = "3.0.2"
diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml
index ede9e5f21c35..cbf63d3407b8 100644
--- a/primitives/Cargo.toml
+++ b/primitives/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
serde = { version = "1.0.137", optional = true, features = ["derive"] }
scale-info = { version = "2.1.2", default-features = false, features = ["bit-vec", "derive"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["bit-vec", "derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
primitives = { package = "sp-core", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
inherents = { package = "sp-inherents", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
application-crypto = { package = "sp-application-crypto", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml
index 555268fb8609..44615aea05df 100644
--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
impl-trait-for-tuples = "0.2.2"
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
log = { version = "0.4.17", default-features = false }
rustc-hex = { version = "2.1.0", default-features = false }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
diff --git a/runtime/common/slot_range_helper/Cargo.toml b/runtime/common/slot_range_helper/Cargo.toml
index 375dbd23c282..30cbbd910130 100644
--- a/runtime/common/slot_range_helper/Cargo.toml
+++ b/runtime/common/slot_range_helper/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
paste = "1.0"
enumn = "0.1.4"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sp-std = { package = "sp-std", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
diff --git a/runtime/kusama/Cargo.toml b/runtime/kusama/Cargo.toml
index c7732645e23d..5c936764d7fb 100644
--- a/runtime/kusama/Cargo.toml
+++ b/runtime/kusama/Cargo.toml
@@ -7,7 +7,7 @@ build = "build.rs"
[dependencies]
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive", "max-encoded-len"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
log = { version = "0.4.17", default-features = false }
rustc-hex = { version = "2.1.0", default-features = false }
diff --git a/runtime/metrics/Cargo.toml b/runtime/metrics/Cargo.toml
index 6660326a71e2..43c3609232f4 100644
--- a/runtime/metrics/Cargo.toml
+++ b/runtime/metrics/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
sp-std = { package = "sp-std", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false}
sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
-parity-scale-codec = { version = "3.1.2", default-features = false }
+parity-scale-codec = { version = "3.1.5", default-features = false }
primitives = { package = "polkadot-primitives", path = "../../primitives", default-features = false }
bs58 = { version = "0.4.0", default-features = false, features = ["alloc"] }
diff --git a/runtime/parachains/Cargo.toml b/runtime/parachains/Cargo.toml
index 4f775d2706a9..1cfd514b5e7b 100644
--- a/runtime/parachains/Cargo.toml
+++ b/runtime/parachains/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
[dependencies]
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive", "max-encoded-len"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
log = { version = "0.4.17", default-features = false }
rustc-hex = { version = "2.1.0", default-features = false }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
diff --git a/runtime/polkadot/Cargo.toml b/runtime/polkadot/Cargo.toml
index 9fa4383d5456..4763d7f04283 100644
--- a/runtime/polkadot/Cargo.toml
+++ b/runtime/polkadot/Cargo.toml
@@ -7,7 +7,7 @@ build = "build.rs"
[dependencies]
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive", "max-encoded-len"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
log = { version = "0.4.17", default-features = false }
rustc-hex = { version = "2.1.0", default-features = false }
diff --git a/runtime/rococo/Cargo.toml b/runtime/rococo/Cargo.toml
index d83b98a977aa..d23e48b99c61 100644
--- a/runtime/rococo/Cargo.toml
+++ b/runtime/rococo/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
build = "build.rs"
[dependencies]
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive", "max-encoded-len"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
serde = { version = "1.0.137", default-features = false }
serde_derive = { version = "1.0.117", optional = true }
diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs
index adf32fe7d9ab..8d9b9f5caee0 100644
--- a/runtime/rococo/src/lib.rs
+++ b/runtime/rococo/src/lib.rs
@@ -698,6 +698,7 @@ impl paras_registrar::Config for Runtime {
impl pallet_beefy::Config for Runtime {
type BeefyId = BeefyId;
type MaxAuthorities = MaxAuthorities;
+ type OnNewValidatorSet = MmrLeaf;
}
type MmrHash = ::Output;
@@ -1458,6 +1459,16 @@ sp_api::impl_runtime_apis! {
}
}
+ impl beefy_merkle_tree::BeefyMmrApi for RuntimeApi {
+ fn authority_set_proof() -> beefy_primitives::mmr::BeefyAuthoritySet {
+ MmrLeaf::authority_set_proof()
+ }
+
+ fn next_authority_set_proof() -> beefy_primitives::mmr::BeefyNextAuthoritySet {
+ MmrLeaf::next_authority_set_proof()
+ }
+ }
+
impl bp_rococo::RococoFinalityApi for Runtime {
fn best_finalized() -> (bp_rococo::BlockNumber, bp_rococo::Hash) {
let header = BridgeRococoGrandpa::best_finalized();
diff --git a/runtime/test-runtime/Cargo.toml b/runtime/test-runtime/Cargo.toml
index a685736a63e9..b7b2c6ec2b10 100644
--- a/runtime/test-runtime/Cargo.toml
+++ b/runtime/test-runtime/Cargo.toml
@@ -7,7 +7,7 @@ build = "build.rs"
[dependencies]
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
log = { version = "0.4.17", default-features = false }
rustc-hex = { version = "2.1.0", default-features = false }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
diff --git a/runtime/westend/Cargo.toml b/runtime/westend/Cargo.toml
index 74b55a835b39..778483353ee3 100644
--- a/runtime/westend/Cargo.toml
+++ b/runtime/westend/Cargo.toml
@@ -7,7 +7,7 @@ build = "build.rs"
[dependencies]
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive", "max-encoded-len"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
log = { version = "0.4.17", default-features = false }
rustc-hex = { version = "2.1.0", default-features = false }
diff --git a/statement-table/Cargo.toml b/statement-table/Cargo.toml
index ab9c48abbc8e..eea29c749713 100644
--- a/statement-table/Cargo.toml
+++ b/statement-table/Cargo.toml
@@ -5,6 +5,6 @@ authors = ["Parity Technologies "]
edition = "2021"
[dependencies]
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
primitives = { package = "polkadot-primitives", path = "../primitives" }
diff --git a/utils/staking-miner/Cargo.toml b/utils/staking-miner/Cargo.toml
index 24e5231614e3..92625f6604f0 100644
--- a/utils/staking-miner/Cargo.toml
+++ b/utils/staking-miner/Cargo.toml
@@ -43,4 +43,4 @@ westend-runtime = { path = "../../runtime/westend" }
sub-tokens = { git = "https://github.com/paritytech/substrate-debug-kit", branch = "master" }
[dev-dependencies]
-assert_cmd = "2.0.2"
+assert_cmd = "2.0.4"
diff --git a/utils/staking-miner/README.md b/utils/staking-miner/README.md
index 2190443003e7..599217e7e134 100644
--- a/utils/staking-miner/README.md
+++ b/utils/staking-miner/README.md
@@ -28,7 +28,7 @@ There are 2 options to build a staking-miner Docker image:
### Building the injected image
First build the binary as documented [above](#building).
-You may then inject the binary into a Docker base image usingfrom the root of the Polkadot repository:
+You may then inject the binary into a Docker base image from the root of the Polkadot repository:
```
docker build -t staking-miner -f scripts/ci/dockerfiles/staking-miner/staking-miner_injected.Dockerfile target/release
```
diff --git a/utils/staking-miner/src/dry_run.rs b/utils/staking-miner/src/dry_run.rs
index 19be1c4474f7..8b105d70eb3b 100644
--- a/utils/staking-miner/src/dry_run.rs
+++ b/utils/staking-miner/src/dry_run.rs
@@ -16,7 +16,7 @@
//! The dry-run command.
-use crate::{prelude::*, rpc::*, signer::Signer, DryRunConfig, Error, SharedRpcClient};
+use crate::{opts::DryRunConfig, prelude::*, rpc::*, signer::Signer, Error, SharedRpcClient};
use codec::Encode;
use frame_support::traits::Currency;
use sp_core::Bytes;
diff --git a/utils/staking-miner/src/main.rs b/utils/staking-miner/src/main.rs
index 5a515c9de296..fd1281e2ec59 100644
--- a/utils/staking-miner/src/main.rs
+++ b/utils/staking-miner/src/main.rs
@@ -28,30 +28,34 @@
//! development. It is intended to run this bot with a `restart = true` way, so that it reports it
//! crash, but resumes work thereafter.
+// Silence erroneous warning about unsafe not being required whereas it is
+// see https://github.com/rust-lang/rust/issues/49112
+#![allow(unused_unsafe)]
+
mod dry_run;
mod emergency_solution;
mod monitor;
+mod opts;
mod prelude;
mod rpc;
+mod runtime_versions;
mod signer;
-use std::str::FromStr;
-
pub(crate) use prelude::*;
pub(crate) use signer::get_account_info;
+use crate::opts::*;
use clap::Parser;
use frame_election_provider_support::NposSolver;
use frame_support::traits::Get;
use jsonrpsee::ws_client::{WsClient, WsClientBuilder};
use remote_externalities::{Builder, Mode, OnlineConfig};
use rpc::{RpcApiClient, SharedRpcClient};
+use runtime_versions::RuntimeVersions;
use sp_npos_elections::BalancingConfig;
-use sp_runtime::{traits::Block as BlockT, DeserializeOwned, Perbill};
-use tracing_subscriber::{fmt, EnvFilter};
-
+use sp_runtime::{traits::Block as BlockT, DeserializeOwned};
use std::{ops::Deref, sync::Arc};
-
+use tracing_subscriber::{fmt, EnvFilter};
pub(crate) enum AnyRuntime {
Polkadot,
Kusama,
@@ -62,7 +66,6 @@ pub(crate) static mut RUNTIME: AnyRuntime = AnyRuntime::Polkadot;
macro_rules! construct_runtime_prelude {
($runtime:ident) => { paste::paste! {
- #[allow(unused_import)]
pub(crate) mod [<$runtime _runtime_exports>] {
pub(crate) use crate::prelude::EPM;
pub(crate) use [<$runtime _runtime>]::*;
@@ -278,70 +281,6 @@ impl std::fmt::Display for Error {
}
}
-#[derive(Debug, Clone, Parser)]
-#[cfg_attr(test, derive(PartialEq))]
-enum Command {
- /// Monitor for the phase being signed, then compute.
- Monitor(MonitorConfig),
- /// Just compute a solution now, and don't submit it.
- DryRun(DryRunConfig),
- /// Provide a solution that can be submitted to the chain as an emergency response.
- EmergencySolution(EmergencySolutionConfig),
-}
-
-#[derive(Debug, Clone, Parser)]
-#[cfg_attr(test, derive(PartialEq))]
-enum Solver {
- SeqPhragmen {
- #[clap(long, default_value = "10")]
- iterations: usize,
- },
- PhragMMS {
- #[clap(long, default_value = "10")]
- iterations: usize,
- },
-}
-
-/// Submission strategy to use.
-#[derive(Debug, Copy, Clone)]
-#[cfg_attr(test, derive(PartialEq))]
-enum SubmissionStrategy {
- // Only submit if at the time, we are the best.
- IfLeading,
- // Always submit.
- Always,
- // Submit if we are leading, or if the solution that's leading is more that the given `Perbill`
- // better than us. This helps detect obviously fake solutions and still combat them.
- ClaimBetterThan(Perbill),
-}
-
-/// Custom `impl` to parse `SubmissionStrategy` from CLI.
-///
-/// Possible options:
-/// * --submission-strategy if-leading: only submit if leading
-/// * --submission-strategy always: always submit
-/// * --submission-strategy "percent-better ": submit if submission is `n` percent better.
-///
-impl FromStr for SubmissionStrategy {
- type Err = String;
-
- fn from_str(s: &str) -> Result {
- let s = s.trim();
-
- let res = if s == "if-leading" {
- Self::IfLeading
- } else if s == "always" {
- Self::Always
- } else if s.starts_with("percent-better ") {
- let percent: u32 = s[15..].parse().map_err(|e| format!("{:?}", e))?;
- Self::ClaimBetterThan(Perbill::from_percent(percent))
- } else {
- return Err(s.into())
- };
- Ok(res)
- }
-}
-
frame_support::parameter_types! {
/// Number of balancing iterations for a solution algorithm. Set based on the [`Solvers`] CLI
/// config.
@@ -349,87 +288,6 @@ frame_support::parameter_types! {
pub static Balancing: Option = Some( BalancingConfig { iterations: BalanceIterations::get(), tolerance: 0 } );
}
-#[derive(Debug, Clone, Parser)]
-#[cfg_attr(test, derive(PartialEq))]
-struct MonitorConfig {
- /// They type of event to listen to.
- ///
- /// Typically, finalized is safer and there is no chance of anything going wrong, but it can be
- /// slower. It is recommended to use finalized, if the duration of the signed phase is longer
- /// than the the finality delay.
- #[clap(long, default_value = "head", possible_values = &["head", "finalized"])]
- listen: String,
-
- /// The solver algorithm to use.
- #[clap(subcommand)]
- solver: Solver,
-
- /// Submission strategy to use.
- ///
- /// Possible options:
- ///
- /// `--submission-strategy if-leading`: only submit if leading.
- ///
- /// `--submission-strategy always`: always submit.
- ///
- /// `--submission-strategy "percent-better "`: submit if the submission is `n` percent better.
- #[clap(long, parse(try_from_str), default_value = "if-leading")]
- submission_strategy: SubmissionStrategy,
-}
-
-#[derive(Debug, Clone, Parser)]
-#[cfg_attr(test, derive(PartialEq))]
-struct EmergencySolutionConfig {
- /// The block hash at which scraping happens. If none is provided, the latest head is used.
- #[clap(long)]
- at: Option,
-
- /// The solver algorithm to use.
- #[clap(subcommand)]
- solver: Solver,
-
- /// The number of top backed winners to take. All are taken, if not provided.
- take: Option,
-}
-
-#[derive(Debug, Clone, Parser)]
-#[cfg_attr(test, derive(PartialEq))]
-struct DryRunConfig {
- /// The block hash at which scraping happens. If none is provided, the latest head is used.
- #[clap(long)]
- at: Option,
-
- /// The solver algorithm to use.
- #[clap(subcommand)]
- solver: Solver,
-
- /// Force create a new snapshot, else expect one to exist onchain.
- #[clap(long)]
- force_snapshot: bool,
-}
-
-#[derive(Debug, Clone, Parser)]
-#[cfg_attr(test, derive(PartialEq))]
-#[clap(author, version, about)]
-struct Opt {
- /// The `ws` node to connect to.
- #[clap(long, short, default_value = DEFAULT_URI, env = "URI")]
- uri: String,
-
- /// The path to a file containing the seed of the account. If the file is not found, the seed is
- /// used as-is.
- ///
- /// Can also be provided via the `SEED` environment variable.
- ///
- /// WARNING: Don't use an account with a large stash for this. Based on how the bot is
- /// configured, it might re-try and lose funds through transaction fees/deposits.
- #[clap(long, short, env = "SEED")]
- seed_or_path: String,
-
- #[clap(subcommand)]
- command: Command,
-}
-
/// Build the Ext at hash with all the data of `ElectionProviderMultiPhase` and any additional
/// pallets.
async fn create_election_ext(
@@ -582,7 +440,7 @@ pub(crate) async fn check_versions(
async fn main() {
fmt().with_env_filter(EnvFilter::from_default_env()).init();
- let Opt { uri, seed_or_path, command } = Opt::parse();
+ let Opt { uri, command } = Opt::parse();
log::debug!(target: LOG_TARGET, "attempting to connect to {:?}", uri);
let rpc = loop {
@@ -648,26 +506,51 @@ async fn main() {
check_versions::(&rpc).await
};
- let signer_account = any_runtime! {
- signer::signer_uri_from_string::(&seed_or_path, &rpc)
- .await
- .expect("Provided account is invalid, terminating.")
- };
-
let outcome = any_runtime! {
match command {
- Command::Monitor(cmd) => monitor_cmd(rpc, cmd, signer_account).await
+ Command::Monitor(monitor_config) =>
+ {
+ let signer_account = any_runtime! {
+ signer::signer_uri_from_string::(&monitor_config.seed_or_path , &rpc)
+ .await
+ .expect("Provided account is invalid, terminating.")
+ };
+ monitor_cmd(rpc, monitor_config, signer_account).await
.map_err(|e| {
log::error!(target: LOG_TARGET, "Monitor error: {:?}", e);
- }),
- Command::DryRun(cmd) => dry_run_cmd(rpc, cmd, signer_account).await
+ })},
+ Command::DryRun(dryrun_config) => {
+ let signer_account = any_runtime! {
+ signer::signer_uri_from_string::(&dryrun_config.seed_or_path , &rpc)
+ .await
+ .expect("Provided account is invalid, terminating.")
+ };
+ dry_run_cmd(rpc, dryrun_config, signer_account).await
.map_err(|e| {
log::error!(target: LOG_TARGET, "DryRun error: {:?}", e);
- }),
- Command::EmergencySolution(cmd) => emergency_solution_cmd(rpc, cmd).await
+ })},
+ Command::EmergencySolution(emergency_solution_config) =>
+ emergency_solution_cmd(rpc, emergency_solution_config).await
.map_err(|e| {
log::error!(target: LOG_TARGET, "EmergencySolution error: {:?}", e);
}),
+ Command::Info(info_opts) => {
+ let remote_runtime_version = rpc.runtime_version(None).await.expect("runtime_version infallible; qed.");
+
+ let builtin_version = any_runtime! {
+ Version::get()
+ };
+
+ let versions = RuntimeVersions::new(&remote_runtime_version, &builtin_version);
+
+ if !info_opts.json {
+ println!("{}", versions);
+ } else {
+ let versions = serde_json::to_string_pretty(&versions).expect("Failed serializing version info");
+ println!("{}", versions);
+ }
+ Ok(())
+ }
}
};
log::info!(target: LOG_TARGET, "round of execution finished. outcome = {:?}", outcome);
@@ -696,102 +579,4 @@ mod tests {
assert_eq!(polkadot_version.spec_name, "polkadot".into());
assert_eq!(kusama_version.spec_name, "kusama".into());
}
-
- #[test]
- fn cli_monitor_works() {
- let opt = Opt::try_parse_from([
- env!("CARGO_PKG_NAME"),
- "--uri",
- "hi",
- "--seed-or-path",
- "//Alice",
- "monitor",
- "--listen",
- "head",
- "seq-phragmen",
- ])
- .unwrap();
-
- assert_eq!(
- opt,
- Opt {
- uri: "hi".to_string(),
- seed_or_path: "//Alice".to_string(),
- command: Command::Monitor(MonitorConfig {
- listen: "head".to_string(),
- solver: Solver::SeqPhragmen { iterations: 10 },
- submission_strategy: SubmissionStrategy::IfLeading,
- }),
- }
- );
- }
-
- #[test]
- fn cli_dry_run_works() {
- let opt = Opt::try_parse_from([
- env!("CARGO_PKG_NAME"),
- "--uri",
- "hi",
- "--seed-or-path",
- "//Alice",
- "dry-run",
- "phrag-mms",
- ])
- .unwrap();
-
- assert_eq!(
- opt,
- Opt {
- uri: "hi".to_string(),
- seed_or_path: "//Alice".to_string(),
- command: Command::DryRun(DryRunConfig {
- at: None,
- solver: Solver::PhragMMS { iterations: 10 },
- force_snapshot: false,
- }),
- }
- );
- }
-
- #[test]
- fn cli_emergency_works() {
- let opt = Opt::try_parse_from([
- env!("CARGO_PKG_NAME"),
- "--uri",
- "hi",
- "--seed-or-path",
- "//Alice",
- "emergency-solution",
- "99",
- "phrag-mms",
- "--iterations",
- "1337",
- ])
- .unwrap();
-
- assert_eq!(
- opt,
- Opt {
- uri: "hi".to_string(),
- seed_or_path: "//Alice".to_string(),
- command: Command::EmergencySolution(EmergencySolutionConfig {
- take: Some(99),
- at: None,
- solver: Solver::PhragMMS { iterations: 1337 }
- }),
- }
- );
- }
-
- #[test]
- fn submission_strategy_from_str_works() {
- use std::str::FromStr;
-
- assert_eq!(SubmissionStrategy::from_str("if-leading"), Ok(SubmissionStrategy::IfLeading));
- assert_eq!(SubmissionStrategy::from_str("always"), Ok(SubmissionStrategy::Always));
- assert_eq!(
- SubmissionStrategy::from_str(" percent-better 99 "),
- Ok(SubmissionStrategy::ClaimBetterThan(Perbill::from_percent(99)))
- );
- }
}
diff --git a/utils/staking-miner/src/opts.rs b/utils/staking-miner/src/opts.rs
new file mode 100644
index 000000000000..63425b89a105
--- /dev/null
+++ b/utils/staking-miner/src/opts.rs
@@ -0,0 +1,298 @@
+// Copyright 2021 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot. If not, see .
+
+use crate::prelude::*;
+use clap::Parser;
+use sp_runtime::Perbill;
+use std::str::FromStr;
+
+#[derive(Debug, Clone, Parser)]
+#[cfg_attr(test, derive(PartialEq))]
+#[clap(author, version, about)]
+pub(crate) struct Opt {
+ /// The `ws` node to connect to.
+ #[clap(long, short, default_value = DEFAULT_URI, env = "URI", global = true)]
+ pub uri: String,
+
+ #[clap(subcommand)]
+ pub command: Command,
+}
+
+#[derive(Debug, Clone, Parser)]
+#[cfg_attr(test, derive(PartialEq))]
+pub(crate) enum Command {
+ /// Monitor for the phase being signed, then compute.
+ Monitor(MonitorConfig),
+
+ /// Just compute a solution now, and don't submit it.
+ DryRun(DryRunConfig),
+
+ /// Provide a solution that can be submitted to the chain as an emergency response.
+ EmergencySolution(EmergencySolutionConfig),
+
+ /// Return information about the current version
+ Info(InfoOpts),
+}
+
+#[derive(Debug, Clone, Parser)]
+#[cfg_attr(test, derive(PartialEq))]
+pub(crate) struct MonitorConfig {
+ /// The path to a file containing the seed of the account. If the file is not found, the seed is
+ /// used as-is.
+ ///
+ /// Can also be provided via the `SEED` environment variable.
+ ///
+ /// WARNING: Don't use an account with a large stash for this. Based on how the bot is
+ /// configured, it might re-try and lose funds through transaction fees/deposits.
+ #[clap(long, short, env = "SEED")]
+ pub seed_or_path: String,
+
+ /// They type of event to listen to.
+ ///
+ /// Typically, finalized is safer and there is no chance of anything going wrong, but it can be
+ /// slower. It is recommended to use finalized, if the duration of the signed phase is longer
+ /// than the the finality delay.
+ #[clap(long, default_value = "head", possible_values = &["head", "finalized"])]
+ pub listen: String,
+
+ /// The solver algorithm to use.
+ #[clap(subcommand)]
+ pub solver: Solver,
+
+ /// Submission strategy to use.
+ ///
+ /// Possible options:
+ ///
+ /// `--submission-strategy if-leading`: only submit if leading.
+ ///
+ /// `--submission-strategy always`: always submit.
+ ///
+ /// `--submission-strategy "percent-better "`: submit if the submission is `n` percent better.
+ #[clap(long, parse(try_from_str), default_value = "if-leading")]
+ pub submission_strategy: SubmissionStrategy,
+}
+
+#[derive(Debug, Clone, Parser)]
+#[cfg_attr(test, derive(PartialEq))]
+pub(crate) struct DryRunConfig {
+ /// The path to a file containing the seed of the account. If the file is not found, the seed is
+ /// used as-is.
+ ///
+ /// Can also be provided via the `SEED` environment variable.
+ ///
+ /// WARNING: Don't use an account with a large stash for this. Based on how the bot is
+ /// configured, it might re-try and lose funds through transaction fees/deposits.
+ #[clap(long, short, env = "SEED")]
+ pub seed_or_path: String,
+
+ /// The block hash at which scraping happens. If none is provided, the latest head is used.
+ #[clap(long)]
+ pub at: Option,
+
+ /// The solver algorithm to use.
+ #[clap(subcommand)]
+ pub solver: Solver,
+
+ /// Force create a new snapshot, else expect one to exist onchain.
+ #[clap(long)]
+ pub force_snapshot: bool,
+}
+
+#[derive(Debug, Clone, Parser)]
+#[cfg_attr(test, derive(PartialEq))]
+pub(crate) struct EmergencySolutionConfig {
+ /// The block hash at which scraping happens. If none is provided, the latest head is used.
+ #[clap(long)]
+ pub at: Option,
+
+ /// The solver algorithm to use.
+ #[clap(subcommand)]
+ pub solver: Solver,
+
+ /// The number of top backed winners to take. All are taken, if not provided.
+ pub take: Option,
+}
+
+#[derive(Debug, Clone, Parser)]
+#[cfg_attr(test, derive(PartialEq))]
+pub(crate) struct InfoOpts {
+ /// Serialize the output as json
+ #[clap(long, short)]
+ pub json: bool,
+}
+
+/// Submission strategy to use.
+#[derive(Debug, Copy, Clone)]
+#[cfg_attr(test, derive(PartialEq))]
+pub enum SubmissionStrategy {
+ // Only submit if at the time, we are the best.
+ IfLeading,
+ // Always submit.
+ Always,
+ // Submit if we are leading, or if the solution that's leading is more that the given `Perbill`
+ // better than us. This helps detect obviously fake solutions and still combat them.
+ ClaimBetterThan(Perbill),
+}
+
+#[derive(Debug, Clone, Parser)]
+#[cfg_attr(test, derive(PartialEq))]
+pub(crate) enum Solver {
+ SeqPhragmen {
+ #[clap(long, default_value = "10")]
+ iterations: usize,
+ },
+ PhragMMS {
+ #[clap(long, default_value = "10")]
+ iterations: usize,
+ },
+}
+
+/// Custom `impl` to parse `SubmissionStrategy` from CLI.
+///
+/// Possible options:
+/// * --submission-strategy if-leading: only submit if leading
+/// * --submission-strategy always: always submit
+/// * --submission-strategy "percent-better ": submit if submission is `n` percent better.
+///
+impl FromStr for SubmissionStrategy {
+ type Err = String;
+
+ fn from_str(s: &str) -> Result {
+ let s = s.trim();
+
+ let res = if s == "if-leading" {
+ Self::IfLeading
+ } else if s == "always" {
+ Self::Always
+ } else if s.starts_with("percent-better ") {
+ let percent: u32 = s[15..].parse().map_err(|e| format!("{:?}", e))?;
+ Self::ClaimBetterThan(Perbill::from_percent(percent))
+ } else {
+ return Err(s.into())
+ };
+ Ok(res)
+ }
+}
+
+#[cfg(test)]
+mod test_super {
+ use super::*;
+
+ #[test]
+ fn cli_monitor_works() {
+ let opt = Opt::try_parse_from([
+ env!("CARGO_PKG_NAME"),
+ "--uri",
+ "hi",
+ "monitor",
+ "--seed-or-path",
+ "//Alice",
+ "--listen",
+ "head",
+ "seq-phragmen",
+ ])
+ .unwrap();
+
+ assert_eq!(
+ opt,
+ Opt {
+ uri: "hi".to_string(),
+ command: Command::Monitor(MonitorConfig {
+ seed_or_path: "//Alice".to_string(),
+ listen: "head".to_string(),
+ solver: Solver::SeqPhragmen { iterations: 10 },
+ submission_strategy: SubmissionStrategy::IfLeading,
+ }),
+ }
+ );
+ }
+
+ #[test]
+ fn cli_dry_run_works() {
+ let opt = Opt::try_parse_from([
+ env!("CARGO_PKG_NAME"),
+ "--uri",
+ "hi",
+ "dry-run",
+ "--seed-or-path",
+ "//Alice",
+ "phrag-mms",
+ ])
+ .unwrap();
+
+ assert_eq!(
+ opt,
+ Opt {
+ uri: "hi".to_string(),
+ command: Command::DryRun(DryRunConfig {
+ seed_or_path: "//Alice".to_string(),
+ at: None,
+ solver: Solver::PhragMMS { iterations: 10 },
+ force_snapshot: false,
+ }),
+ }
+ );
+ }
+
+ #[test]
+ fn cli_emergency_works() {
+ let opt = Opt::try_parse_from([
+ env!("CARGO_PKG_NAME"),
+ "--uri",
+ "hi",
+ "emergency-solution",
+ "99",
+ "phrag-mms",
+ "--iterations",
+ "1337",
+ ])
+ .unwrap();
+
+ assert_eq!(
+ opt,
+ Opt {
+ uri: "hi".to_string(),
+ command: Command::EmergencySolution(EmergencySolutionConfig {
+ take: Some(99),
+ at: None,
+ solver: Solver::PhragMMS { iterations: 1337 }
+ }),
+ }
+ );
+ }
+
+ #[test]
+ fn cli_info_works() {
+ let opt = Opt::try_parse_from([env!("CARGO_PKG_NAME"), "--uri", "hi", "info"]).unwrap();
+
+ assert_eq!(
+ opt,
+ Opt { uri: "hi".to_string(), command: Command::Info(InfoOpts { json: false }) }
+ );
+ }
+
+ #[test]
+ fn submission_strategy_from_str_works() {
+ use std::str::FromStr;
+
+ assert_eq!(SubmissionStrategy::from_str("if-leading"), Ok(SubmissionStrategy::IfLeading));
+ assert_eq!(SubmissionStrategy::from_str("always"), Ok(SubmissionStrategy::Always));
+ assert_eq!(
+ SubmissionStrategy::from_str(" percent-better 99 "),
+ Ok(SubmissionStrategy::ClaimBetterThan(Perbill::from_percent(99)))
+ );
+ }
+}
diff --git a/utils/staking-miner/src/runtime_versions.rs b/utils/staking-miner/src/runtime_versions.rs
new file mode 100644
index 000000000000..20e4bd435a63
--- /dev/null
+++ b/utils/staking-miner/src/runtime_versions.rs
@@ -0,0 +1,90 @@
+// Copyright 2021 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot. If not, see .
+
+use sp_version::RuntimeVersion;
+use std::fmt;
+
+#[derive(Debug, serde::Serialize)]
+pub(crate) struct RuntimeWrapper<'a>(pub &'a RuntimeVersion);
+
+impl<'a> fmt::Display for RuntimeWrapper<'a> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ let width = 16;
+
+ writeln!(
+ f,
+ r#" impl_name : {impl_name:>width$}
+ spec_name : {spec_name:>width$}
+ spec_version : {spec_version:>width$}
+ transaction_version : {transaction_version:>width$}
+ impl_version : {impl_version:>width$}
+ authoringVersion : {authoring_version:>width$}
+ state_version : {state_version:>width$}"#,
+ spec_name = self.0.spec_name.to_string(),
+ impl_name = self.0.impl_name.to_string(),
+ spec_version = self.0.spec_version,
+ impl_version = self.0.impl_version,
+ authoring_version = self.0.authoring_version,
+ transaction_version = self.0.transaction_version,
+ state_version = self.0.state_version,
+ )
+ }
+}
+
+impl<'a> From<&'a RuntimeVersion> for RuntimeWrapper<'a> {
+ fn from(r: &'a RuntimeVersion) -> Self {
+ RuntimeWrapper(r)
+ }
+}
+
+#[derive(Debug, serde::Serialize)]
+pub(crate) struct RuntimeVersions<'a> {
+ /// The `RuntimeVersion` linked in the staking-miner
+ pub linked: RuntimeWrapper<'a>,
+
+ /// The `RuntimeVersion` reported by the node we connect to via RPC
+ pub remote: RuntimeWrapper<'a>,
+
+ /// This `bool` reports whether both remote and linked `RuntimeVersion` are compatible
+ /// and if the staking-miner is expected to work properly against the remote runtime
+ compatible: bool,
+}
+
+impl<'a> RuntimeVersions<'a> {
+ pub fn new(
+ remote_runtime_version: &'a RuntimeVersion,
+ linked_runtime_version: &'a RuntimeVersion,
+ ) -> Self {
+ Self {
+ remote: remote_runtime_version.into(),
+ linked: linked_runtime_version.into(),
+ compatible: are_runtimes_compatible(remote_runtime_version, linked_runtime_version),
+ }
+ }
+}
+
+/// Check whether runtimes are compatible. Currently we only support equality.
+fn are_runtimes_compatible(r1: &RuntimeVersion, r2: &RuntimeVersion) -> bool {
+ r1 == r2
+}
+
+impl<'a> fmt::Display for RuntimeVersions<'a> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ let _ = write!(f, "- linked:\n{}", self.linked);
+ let _ = write!(f, "- remote :\n{}", self.remote);
+ write!(f, "Compatible: {}", if self.compatible { "YES" } else { "NO" })
+ }
+}
diff --git a/utils/staking-miner/tests/cli.rs b/utils/staking-miner/tests/cli.rs
index 46f5cf0cb0b2..ebd5380f047b 100644
--- a/utils/staking-miner/tests/cli.rs
+++ b/utils/staking-miner/tests/cli.rs
@@ -1,4 +1,5 @@
use assert_cmd::{cargo::cargo_bin, Command};
+use serde_json::{Result, Value};
#[test]
fn cli_version_works() {
@@ -10,3 +11,23 @@ fn cli_version_works() {
assert_eq!(version, format!("{} {}", crate_name, env!("CARGO_PKG_VERSION")));
}
+
+#[test]
+fn cli_info_works() {
+ let crate_name = env!("CARGO_PKG_NAME");
+ let output = Command::new(cargo_bin(crate_name))
+ .arg("info")
+ .arg("--json")
+ .env("RUST_LOG", "none")
+ .output()
+ .unwrap();
+
+ assert!(output.status.success(), "command returned with non-success exit code");
+ let info = String::from_utf8_lossy(&output.stdout).trim().to_owned();
+ let v: Result = serde_json::from_str(&info);
+ let v = v.unwrap();
+ assert!(!v["builtin"].to_string().is_empty());
+ assert!(!v["builtin"]["spec_name"].to_string().is_empty());
+ assert!(!v["builtin"]["spec_version"].to_string().is_empty());
+ assert!(!v["remote"].to_string().is_empty());
+}
diff --git a/xcm/Cargo.toml b/xcm/Cargo.toml
index 5059da18067d..fec2d33448cd 100644
--- a/xcm/Cargo.toml
+++ b/xcm/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
impl-trait-for-tuples = "0.2.2"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive", "max-encoded-len"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
derivative = {version = "2.2.0", default-features = false, features = [ "use_core" ] }
diff --git a/xcm/procedural/Cargo.toml b/xcm/procedural/Cargo.toml
index 7dfe974fb1f5..2efd80f2de5f 100644
--- a/xcm/procedural/Cargo.toml
+++ b/xcm/procedural/Cargo.toml
@@ -8,7 +8,7 @@ edition = "2021"
proc-macro = true
[dependencies]
-proc-macro2 = "1.0.37"
-quote = "1.0.18"
+proc-macro2 = "1.0.40"
+quote = "1.0.19"
syn = "1.0.95"
Inflector = "0.11.4"
diff --git a/xcm/xcm-builder/Cargo.toml b/xcm/xcm-builder/Cargo.toml
index d5089e8ab059..904909d5ca13 100644
--- a/xcm/xcm-builder/Cargo.toml
+++ b/xcm/xcm-builder/Cargo.toml
@@ -6,7 +6,7 @@ description = "Tools & types for building with XCM and its executor."
version = "0.9.25"
[dependencies]
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
scale-info = { version = "2.1.2", default-features = false, features = ["derive"] }
xcm = { path = "..", default-features = false }
xcm-executor = { path = "../xcm-executor", default-features = false }
diff --git a/xcm/xcm-executor/Cargo.toml b/xcm/xcm-executor/Cargo.toml
index ad4b7037426a..56a9233d52f2 100644
--- a/xcm/xcm-executor/Cargo.toml
+++ b/xcm/xcm-executor/Cargo.toml
@@ -7,7 +7,7 @@ version = "0.9.25"
[dependencies]
impl-trait-for-tuples = "0.2.2"
-parity-scale-codec = { version = "3.1.2", default-features = false, features = ["derive"] }
+parity-scale-codec = { version = "3.1.5", default-features = false, features = ["derive"] }
xcm = { path = "..", default-features = false }
sp-std = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
sp-io = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
diff --git a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml
index d20e2ac4a833..0becb408550a 100644
--- a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml
+++ b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml
@@ -26,11 +26,12 @@ command = "polkadot"
[[parachains]]
id = 100
addToGenesis = true
+cumulus_based = true
[parachains.collator]
name = "collator01"
image = "{{COL_IMAGE}}"
- commandWithArgs = "polkadot-collator --collator --alice --force-authoring --tmp --parachain-id 100 --rpc-cors all --unsafe-rpc-external --rpc-methods unsafe --unsafe-ws-external -- --execution wasm --chain /cfg/rococo-local.json --bootnodes /dns/bootnode/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp"
+ command = "polkadot-collator"
[[parachains.collator.env]]
name = "RUST_LOG"