diff --git a/cumulus/Cargo.lock b/cumulus/Cargo.lock
index bad378e9a8..cfabdc8880 100644
--- a/cumulus/Cargo.lock
+++ b/cumulus/Cargo.lock
@@ -433,7 +433,7 @@ dependencies = [
[[package]]
name = "beefy-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"beefy-primitives",
"fnv",
@@ -462,7 +462,7 @@ dependencies = [
[[package]]
name = "beefy-gadget-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"beefy-gadget",
"beefy-primitives",
@@ -485,12 +485,12 @@ dependencies = [
[[package]]
name = "beefy-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
[[package]]
name = "beefy-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -564,6 +564,15 @@ dependencies = [
"opaque-debug 0.3.0",
]
+[[package]]
+name = "blake2"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b94ba84325db59637ffc528bbe8c7f86c02c57cff5c0e2b9b00f9a851f42f309"
+dependencies = [
+ "digest 0.10.3",
+]
+
[[package]]
name = "blake2-rfc"
version = "0.2.18"
@@ -683,7 +692,7 @@ dependencies = [
[[package]]
name = "bp-header-chain"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"finality-grandpa",
"frame-support",
@@ -699,7 +708,7 @@ dependencies = [
[[package]]
name = "bp-message-dispatch"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-runtime",
"frame-support",
@@ -711,7 +720,7 @@ dependencies = [
[[package]]
name = "bp-messages"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitvec",
"bp-runtime",
@@ -727,7 +736,7 @@ dependencies = [
[[package]]
name = "bp-polkadot-core"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-messages",
"bp-runtime",
@@ -745,7 +754,7 @@ dependencies = [
[[package]]
name = "bp-rococo"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-messages",
"bp-polkadot-core",
@@ -762,7 +771,7 @@ dependencies = [
[[package]]
name = "bp-runtime"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"hash-db",
@@ -780,7 +789,7 @@ dependencies = [
[[package]]
name = "bp-test-utils"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-header-chain",
"ed25519-dalek",
@@ -795,7 +804,7 @@ dependencies = [
[[package]]
name = "bp-wococo"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-messages",
"bp-polkadot-core",
@@ -810,7 +819,7 @@ dependencies = [
[[package]]
name = "bridge-runtime-common"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-message-dispatch",
"bp-messages",
@@ -912,6 +921,72 @@ dependencies = [
"serde",
]
+[[package]]
+name = "canvas-kusama-runtime"
+version = "0.2.0"
+dependencies = [
+ "cumulus-pallet-aura-ext",
+ "cumulus-pallet-dmp-queue",
+ "cumulus-pallet-parachain-system",
+ "cumulus-pallet-session-benchmarking",
+ "cumulus-pallet-xcm",
+ "cumulus-pallet-xcmp-queue",
+ "cumulus-primitives-core",
+ "cumulus-primitives-timestamp",
+ "cumulus-primitives-utility",
+ "frame-benchmarking",
+ "frame-executive",
+ "frame-support",
+ "frame-system",
+ "frame-system-benchmarking",
+ "frame-system-rpc-runtime-api",
+ "frame-try-runtime",
+ "hex-literal 0.3.4",
+ "kusama-runtime-constants",
+ "log",
+ "node-primitives",
+ "pallet-aura",
+ "pallet-authorship",
+ "pallet-balances",
+ "pallet-collator-selection",
+ "pallet-contracts",
+ "pallet-contracts-primitives",
+ "pallet-contracts-rpc-runtime-api",
+ "pallet-multisig",
+ "pallet-randomness-collective-flip",
+ "pallet-session",
+ "pallet-sudo",
+ "pallet-timestamp",
+ "pallet-transaction-payment",
+ "pallet-transaction-payment-rpc-runtime-api",
+ "pallet-utility",
+ "pallet-xcm",
+ "parachain-info",
+ "parachains-common",
+ "parity-scale-codec",
+ "polkadot-parachain",
+ "polkadot-runtime-common",
+ "scale-info",
+ "serde",
+ "smallvec",
+ "sp-api",
+ "sp-block-builder",
+ "sp-consensus-aura",
+ "sp-core",
+ "sp-inherents",
+ "sp-io",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-session",
+ "sp-std",
+ "sp-transaction-pool",
+ "sp-version",
+ "substrate-wasm-builder",
+ "xcm",
+ "xcm-builder",
+ "xcm-executor",
+]
+
[[package]]
name = "cargo-platform"
version = "0.1.2"
@@ -1359,11 +1434,12 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "crypto-common"
-version = "0.1.1"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0"
+checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
dependencies = [
"generic-array 0.14.4",
+ "typenum",
]
[[package]]
@@ -2177,13 +2253,13 @@ dependencies = [
[[package]]
name = "digest"
-version = "0.10.1"
+version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b"
+checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
dependencies = [
"block-buffer 0.10.0",
"crypto-common",
- "generic-array 0.14.4",
+ "subtle",
]
[[package]]
@@ -2530,7 +2606,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
]
@@ -2548,7 +2624,7 @@ dependencies = [
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -2570,7 +2646,7 @@ dependencies = [
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"Inflector",
"chrono",
@@ -2597,7 +2673,7 @@ dependencies = [
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -2611,7 +2687,7 @@ dependencies = [
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -2639,7 +2715,7 @@ dependencies = [
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"bitflags",
"frame-metadata",
@@ -2668,7 +2744,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"Inflector",
"frame-support-procedural-tools",
@@ -2680,7 +2756,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate 1.1.0",
@@ -2692,7 +2768,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"proc-macro2",
"quote",
@@ -2702,7 +2778,7 @@ dependencies = [
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"log",
@@ -2719,7 +2795,7 @@ dependencies = [
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -2734,7 +2810,7 @@ dependencies = [
[[package]]
name = "frame-system-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -2743,7 +2819,7 @@ dependencies = [
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"sp-api",
@@ -3795,7 +3871,7 @@ dependencies = [
[[package]]
name = "kusama-runtime"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -3883,7 +3959,7 @@ dependencies = [
[[package]]
name = "kusama-runtime-constants"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -4289,7 +4365,7 @@ dependencies = [
"pin-project 1.0.10",
"rand 0.7.3",
"salsa20",
- "sha3",
+ "sha3 0.9.1",
]
[[package]]
@@ -4752,7 +4828,7 @@ dependencies = [
[[package]]
name = "metered-channel"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"derive_more",
"futures 0.3.21",
@@ -4901,7 +4977,7 @@ dependencies = [
"generic-array 0.14.4",
"multihash-derive",
"sha2 0.9.8",
- "sha3",
+ "sha3 0.9.1",
"unsigned-varint 0.5.1",
]
@@ -5017,7 +5093,7 @@ dependencies = [
[[package]]
name = "node-primitives"
version = "2.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"frame-system",
"parity-scale-codec",
@@ -5226,7 +5302,7 @@ dependencies = [
[[package]]
name = "pallet-asset-tx-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"frame-support",
"frame-system",
@@ -5243,7 +5319,7 @@ dependencies = [
[[package]]
name = "pallet-assets"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5257,7 +5333,7 @@ dependencies = [
[[package]]
name = "pallet-aura"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"frame-support",
"frame-system",
@@ -5273,7 +5349,7 @@ dependencies = [
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5289,7 +5365,7 @@ dependencies = [
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5304,7 +5380,7 @@ dependencies = [
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5328,7 +5404,7 @@ dependencies = [
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5348,7 +5424,7 @@ dependencies = [
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5363,7 +5439,7 @@ dependencies = [
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"beefy-primitives",
"frame-support",
@@ -5379,7 +5455,7 @@ dependencies = [
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"beefy-merkle-tree",
"beefy-primitives",
@@ -5404,7 +5480,7 @@ dependencies = [
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5422,7 +5498,7 @@ dependencies = [
[[package]]
name = "pallet-bridge-dispatch"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-message-dispatch",
"bp-runtime",
@@ -5439,7 +5515,7 @@ dependencies = [
[[package]]
name = "pallet-bridge-grandpa"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bp-header-chain",
"bp-runtime",
@@ -5461,7 +5537,7 @@ dependencies = [
[[package]]
name = "pallet-bridge-messages"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitvec",
"bp-message-dispatch",
@@ -5508,7 +5584,7 @@ dependencies = [
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5522,10 +5598,95 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "pallet-contracts"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
+dependencies = [
+ "bitflags",
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "libsecp256k1",
+ "log",
+ "pallet-contracts-primitives",
+ "pallet-contracts-proc-macro",
+ "parity-scale-codec",
+ "rand 0.8.5",
+ "rand_pcg 0.3.1",
+ "scale-info",
+ "serde",
+ "smallvec",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-sandbox",
+ "sp-std",
+ "wasm-instrument",
+ "wasmi-validation",
+]
+
+[[package]]
+name = "pallet-contracts-primitives"
+version = "5.0.0"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
+dependencies = [
+ "bitflags",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-core",
+ "sp-rpc",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
+name = "pallet-contracts-proc-macro"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pallet-contracts-rpc"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
+dependencies = [
+ "jsonrpc-core",
+ "jsonrpc-core-client",
+ "jsonrpc-derive",
+ "pallet-contracts-primitives",
+ "pallet-contracts-rpc-runtime-api",
+ "parity-scale-codec",
+ "serde",
+ "sp-api",
+ "sp-blockchain",
+ "sp-core",
+ "sp-rpc",
+ "sp-runtime",
+]
+
+[[package]]
+name = "pallet-contracts-rpc-runtime-api"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
+dependencies = [
+ "pallet-contracts-primitives",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api",
+ "sp-runtime",
+ "sp-std",
+]
+
[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5541,7 +5702,7 @@ dependencies = [
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5564,7 +5725,7 @@ dependencies = [
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5582,7 +5743,7 @@ dependencies = [
[[package]]
name = "pallet-gilt"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5597,7 +5758,7 @@ dependencies = [
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5620,7 +5781,7 @@ dependencies = [
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -5636,7 +5797,7 @@ dependencies = [
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5656,7 +5817,7 @@ dependencies = [
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5673,7 +5834,7 @@ dependencies = [
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5690,7 +5851,7 @@ dependencies = [
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"ckb-merkle-mountain-range",
"frame-benchmarking",
@@ -5708,7 +5869,7 @@ dependencies = [
[[package]]
name = "pallet-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5724,7 +5885,7 @@ dependencies = [
[[package]]
name = "pallet-mmr-rpc"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -5741,7 +5902,7 @@ dependencies = [
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5756,7 +5917,7 @@ dependencies = [
[[package]]
name = "pallet-nicks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5770,7 +5931,7 @@ dependencies = [
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5787,7 +5948,7 @@ dependencies = [
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5810,7 +5971,7 @@ dependencies = [
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5826,7 +5987,7 @@ dependencies = [
[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5838,10 +5999,24 @@ dependencies = [
"sp-std",
]
+[[package]]
+name = "pallet-randomness-collective-flip"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
+dependencies = [
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec",
+ "safe-mix",
+ "scale-info",
+ "sp-runtime",
+ "sp-std",
+]
+
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5855,7 +6030,7 @@ dependencies = [
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5871,7 +6046,7 @@ dependencies = [
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5892,7 +6067,7 @@ dependencies = [
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5908,7 +6083,7 @@ dependencies = [
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5922,7 +6097,7 @@ dependencies = [
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5945,7 +6120,7 @@ dependencies = [
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -5956,7 +6131,7 @@ dependencies = [
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"log",
"sp-arithmetic",
@@ -5965,7 +6140,7 @@ dependencies = [
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -5994,7 +6169,7 @@ dependencies = [
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6012,7 +6187,7 @@ dependencies = [
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6031,7 +6206,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-support",
"frame-system",
@@ -6048,7 +6223,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -6065,7 +6240,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -6076,7 +6251,7 @@ dependencies = [
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6093,7 +6268,7 @@ dependencies = [
[[package]]
name = "pallet-uniques"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6108,7 +6283,7 @@ dependencies = [
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6124,7 +6299,7 @@ dependencies = [
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6139,7 +6314,7 @@ dependencies = [
[[package]]
name = "pallet-xcm"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"frame-system",
@@ -6157,7 +6332,7 @@ dependencies = [
[[package]]
name = "pallet-xcm-benchmarks"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6730,7 +6905,7 @@ dependencies = [
[[package]]
name = "polkadot-approval-distribution"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"polkadot-node-network-protocol",
@@ -6744,7 +6919,7 @@ dependencies = [
[[package]]
name = "polkadot-availability-bitfield-distribution"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"polkadot-node-network-protocol",
@@ -6757,7 +6932,7 @@ dependencies = [
[[package]]
name = "polkadot-availability-distribution"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"derive_more",
"futures 0.3.21",
@@ -6779,7 +6954,7 @@ dependencies = [
[[package]]
name = "polkadot-availability-recovery"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"lru 0.7.2",
@@ -6799,7 +6974,7 @@ dependencies = [
[[package]]
name = "polkadot-cli"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"clap 3.0.7",
"frame-benchmarking-cli",
@@ -6822,7 +6997,7 @@ dependencies = [
[[package]]
name = "polkadot-client"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-primitives",
"frame-benchmarking",
@@ -6855,6 +7030,7 @@ version = "5.2.0"
dependencies = [
"assert_cmd",
"async-trait",
+ "canvas-kusama-runtime",
"clap 3.0.7",
"cumulus-client-cli",
"cumulus-client-consensus-aura",
@@ -6873,6 +7049,7 @@ dependencies = [
"jsonrpc-core",
"log",
"nix",
+ "pallet-contracts-rpc",
"pallet-transaction-payment-rpc",
"parachains-common",
"parity-scale-codec",
@@ -6925,7 +7102,7 @@ dependencies = [
[[package]]
name = "polkadot-collator-protocol"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"always-assert",
"derive_more",
@@ -6946,7 +7123,7 @@ dependencies = [
[[package]]
name = "polkadot-core-primitives"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"parity-scale-codec",
"parity-util-mem",
@@ -6959,7 +7136,7 @@ dependencies = [
[[package]]
name = "polkadot-dispute-distribution"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"derive_more",
"futures 0.3.21",
@@ -6981,7 +7158,7 @@ dependencies = [
[[package]]
name = "polkadot-erasure-coding"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"parity-scale-codec",
"polkadot-node-primitives",
@@ -6995,7 +7172,7 @@ dependencies = [
[[package]]
name = "polkadot-gossip-support"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -7015,7 +7192,7 @@ dependencies = [
[[package]]
name = "polkadot-network-bridge"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7034,7 +7211,7 @@ dependencies = [
[[package]]
name = "polkadot-node-collation-generation"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"parity-scale-codec",
@@ -7052,7 +7229,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-approval-voting"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitvec",
"derive_more",
@@ -7080,7 +7257,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-av-store"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitvec",
"futures 0.3.21",
@@ -7100,7 +7277,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-backing"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitvec",
"futures 0.3.21",
@@ -7118,7 +7295,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-bitfield-signing"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"polkadot-node-subsystem",
@@ -7133,7 +7310,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-candidate-validation"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7151,7 +7328,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-chain-api"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"polkadot-node-subsystem",
@@ -7166,7 +7343,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-chain-selection"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -7183,7 +7360,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-dispute-coordinator"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"kvdb",
@@ -7201,7 +7378,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-parachains-inherent"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7218,7 +7395,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-provisioner"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitvec",
"futures 0.3.21",
@@ -7235,7 +7412,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-pvf"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"always-assert",
"assert_matches",
@@ -7265,7 +7442,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-pvf-checker"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"polkadot-node-primitives",
@@ -7281,7 +7458,7 @@ dependencies = [
[[package]]
name = "polkadot-node-core-runtime-api"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"memory-lru",
@@ -7299,7 +7476,7 @@ dependencies = [
[[package]]
name = "polkadot-node-jaeger"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-std",
"lazy_static",
@@ -7317,7 +7494,7 @@ dependencies = [
[[package]]
name = "polkadot-node-metrics"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bs58",
"futures 0.3.21",
@@ -7336,7 +7513,7 @@ dependencies = [
[[package]]
name = "polkadot-node-network-protocol"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"derive_more",
@@ -7354,7 +7531,7 @@ dependencies = [
[[package]]
name = "polkadot-node-primitives"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bounded-vec",
"futures 0.3.21",
@@ -7376,7 +7553,7 @@ dependencies = [
[[package]]
name = "polkadot-node-subsystem"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"polkadot-node-jaeger",
"polkadot-node-subsystem-types",
@@ -7386,7 +7563,7 @@ dependencies = [
[[package]]
name = "polkadot-node-subsystem-test-helpers"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7404,7 +7581,7 @@ dependencies = [
[[package]]
name = "polkadot-node-subsystem-types"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"derive_more",
"futures 0.3.21",
@@ -7423,7 +7600,7 @@ dependencies = [
[[package]]
name = "polkadot-node-subsystem-util"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"derive_more",
@@ -7451,7 +7628,7 @@ dependencies = [
[[package]]
name = "polkadot-overseer"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -7472,7 +7649,7 @@ dependencies = [
[[package]]
name = "polkadot-overseer-gen"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7489,7 +7666,7 @@ dependencies = [
[[package]]
name = "polkadot-overseer-gen-proc-macro"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -7500,7 +7677,7 @@ dependencies = [
[[package]]
name = "polkadot-parachain"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"derive_more",
"frame-support",
@@ -7517,7 +7694,7 @@ dependencies = [
[[package]]
name = "polkadot-performance-test"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"env_logger 0.9.0",
"kusama-runtime",
@@ -7532,7 +7709,7 @@ dependencies = [
[[package]]
name = "polkadot-primitives"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitvec",
"frame-system",
@@ -7562,7 +7739,7 @@ dependencies = [
[[package]]
name = "polkadot-rpc"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-gadget",
"beefy-gadget-rpc",
@@ -7593,7 +7770,7 @@ dependencies = [
[[package]]
name = "polkadot-runtime"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -7677,7 +7854,7 @@ dependencies = [
[[package]]
name = "polkadot-runtime-common"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -7724,7 +7901,7 @@ dependencies = [
[[package]]
name = "polkadot-runtime-constants"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -7736,7 +7913,7 @@ dependencies = [
[[package]]
name = "polkadot-runtime-metrics"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bs58",
"parity-scale-codec",
@@ -7748,7 +7925,7 @@ dependencies = [
[[package]]
name = "polkadot-runtime-parachains"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"bitflags",
"bitvec",
@@ -7790,7 +7967,7 @@ dependencies = [
[[package]]
name = "polkadot-service"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"async-trait",
"beefy-gadget",
@@ -7890,7 +8067,7 @@ dependencies = [
[[package]]
name = "polkadot-statement-distribution"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"arrayvec 0.5.2",
"derive_more",
@@ -7911,7 +8088,7 @@ dependencies = [
[[package]]
name = "polkadot-statement-table"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
@@ -7921,7 +8098,7 @@ dependencies = [
[[package]]
name = "polkadot-test-client"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"parity-scale-codec",
"polkadot-node-subsystem",
@@ -7946,7 +8123,7 @@ dependencies = [
[[package]]
name = "polkadot-test-runtime"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -8008,7 +8185,7 @@ dependencies = [
[[package]]
name = "polkadot-test-service"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-benchmarking",
"frame-system",
@@ -8323,7 +8500,7 @@ dependencies = [
"rand_chacha 0.2.2",
"rand_core 0.5.1",
"rand_hc",
- "rand_pcg",
+ "rand_pcg 0.2.1",
]
[[package]]
@@ -8403,6 +8580,15 @@ dependencies = [
"rand_core 0.5.1",
]
+[[package]]
+name = "rand_pcg"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
+dependencies = [
+ "rand_core 0.6.3",
+]
+
[[package]]
name = "rawpointer"
version = "0.2.1"
@@ -8544,7 +8730,7 @@ dependencies = [
[[package]]
name = "remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"env_logger 0.9.0",
"jsonrpsee 0.8.0",
@@ -8661,7 +8847,7 @@ dependencies = [
[[package]]
name = "rococo-runtime"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-primitives",
"bp-messages",
@@ -8736,7 +8922,7 @@ dependencies = [
[[package]]
name = "rococo-runtime-constants"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -8773,6 +8959,15 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver 0.9.0",
+]
+
[[package]]
name = "rustc_version"
version = "0.3.3"
@@ -8886,6 +9081,15 @@ version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568"
+[[package]]
+name = "safe-mix"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c"
+dependencies = [
+ "rustc_version 0.2.3",
+]
+
[[package]]
name = "salsa20"
version = "0.9.0"
@@ -8907,7 +9111,7 @@ dependencies = [
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"log",
"sp-core",
@@ -8918,7 +9122,7 @@ dependencies = [
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -8945,7 +9149,7 @@ dependencies = [
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -8968,7 +9172,7 @@ dependencies = [
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -8984,7 +9188,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"impl-trait-for-tuples",
"memmap2 0.5.0",
@@ -9001,7 +9205,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -9012,7 +9216,7 @@ dependencies = [
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"chrono",
"clap 3.0.7",
@@ -9050,7 +9254,7 @@ dependencies = [
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"fnv",
"futures 0.3.21",
@@ -9078,7 +9282,7 @@ dependencies = [
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"hash-db",
"kvdb",
@@ -9103,7 +9307,7 @@ dependencies = [
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -9127,7 +9331,7 @@ dependencies = [
[[package]]
name = "sc-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -9156,7 +9360,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"fork-tree",
@@ -9199,7 +9403,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"jsonrpc-core",
@@ -9223,7 +9427,7 @@ dependencies = [
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -9236,7 +9440,7 @@ dependencies = [
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -9261,7 +9465,7 @@ dependencies = [
[[package]]
name = "sc-consensus-uncles"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"sc-client-api",
"sp-authorship",
@@ -9272,7 +9476,7 @@ dependencies = [
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"lazy_static",
"libsecp256k1",
@@ -9300,7 +9504,7 @@ dependencies = [
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -9317,7 +9521,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmi"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"log",
"parity-scale-codec",
@@ -9333,7 +9537,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -9351,8 +9555,9 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
+ "ahash",
"async-trait",
"dyn-clone",
"finality-grandpa",
@@ -9389,7 +9594,7 @@ dependencies = [
[[package]]
name = "sc-finality-grandpa-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"finality-grandpa",
"futures 0.3.21",
@@ -9413,7 +9618,7 @@ dependencies = [
[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"ansi_term",
"futures 0.3.21",
@@ -9430,7 +9635,7 @@ dependencies = [
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"hex",
@@ -9445,7 +9650,7 @@ dependencies = [
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-std",
"async-trait",
@@ -9495,8 +9700,9 @@ dependencies = [
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
+ "ahash",
"futures 0.3.21",
"futures-timer",
"libp2p",
@@ -9511,7 +9717,7 @@ dependencies = [
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"bytes 1.1.0",
"fnv",
@@ -9539,7 +9745,7 @@ dependencies = [
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"libp2p",
@@ -9552,7 +9758,7 @@ dependencies = [
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -9561,7 +9767,7 @@ dependencies = [
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"hash-db",
@@ -9592,7 +9798,7 @@ dependencies = [
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"jsonrpc-core",
@@ -9617,7 +9823,7 @@ dependencies = [
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"jsonrpc-core",
@@ -9634,7 +9840,7 @@ dependencies = [
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"directories",
@@ -9698,7 +9904,7 @@ dependencies = [
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"log",
"parity-scale-codec",
@@ -9712,7 +9918,7 @@ dependencies = [
[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -9723,7 +9929,6 @@ dependencies = [
"sc-consensus-babe",
"sc-consensus-epochs",
"sc-finality-grandpa",
- "sc-rpc-api",
"serde",
"serde_json",
"sp-blockchain",
@@ -9734,7 +9939,7 @@ dependencies = [
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"chrono",
"futures 0.3.21",
@@ -9752,7 +9957,7 @@ dependencies = [
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"ansi_term",
"atty",
@@ -9783,7 +9988,7 @@ dependencies = [
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -9794,7 +9999,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -9821,7 +10026,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"log",
@@ -9834,7 +10039,7 @@ dependencies = [
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -10001,6 +10206,15 @@ dependencies = [
"semver-parser 0.7.0",
]
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser 0.7.0",
+]
+
[[package]]
name = "semver"
version = "0.11.0"
@@ -10127,13 +10341,13 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.0"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6"
+checksum = "99c3bd8169c58782adad9290a9af5939994036b76187f7b4f0e6de91dbbfc0ec"
dependencies = [
"cfg-if 1.0.0",
"cpufeatures 0.2.1",
- "digest 0.10.1",
+ "digest 0.10.3",
]
[[package]]
@@ -10148,6 +10362,16 @@ dependencies = [
"opaque-debug 0.3.0",
]
+[[package]]
+name = "sha3"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f935e31cf406e8c0e96c2815a5516181b7004ae8c5f296293221e9b1e356bd"
+dependencies = [
+ "digest 0.10.3",
+ "keccak",
+]
+
[[package]]
name = "sharded-slab"
version = "0.1.4"
@@ -10244,7 +10468,7 @@ checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
[[package]]
name = "slot-range-helper"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"enumn",
"parity-scale-codec",
@@ -10264,9 +10488,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.7.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309"
+checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
[[package]]
name = "snap"
@@ -10281,7 +10505,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6142f7c25e94f6fd25a32c3348ec230df9109b463f59c8c7acc4bd34936babb7"
dependencies = [
"aes-gcm",
- "blake2",
+ "blake2 0.9.2",
"chacha20poly1305",
"rand 0.8.5",
"rand_core 0.6.3",
@@ -10332,7 +10556,7 @@ dependencies = [
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"hash-db",
"log",
@@ -10349,9 +10573,9 @@ dependencies = [
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
- "blake2-rfc",
+ "blake2 0.10.2",
"proc-macro-crate 1.1.0",
"proc-macro2",
"quote",
@@ -10361,7 +10585,7 @@ dependencies = [
[[package]]
name = "sp-application-crypto"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10374,7 +10598,7 @@ dependencies = [
[[package]]
name = "sp-arithmetic"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -10389,7 +10613,7 @@ dependencies = [
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10402,7 +10626,7 @@ dependencies = [
[[package]]
name = "sp-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -10414,7 +10638,7 @@ dependencies = [
[[package]]
name = "sp-block-builder"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -10426,7 +10650,7 @@ dependencies = [
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"log",
@@ -10444,7 +10668,7 @@ dependencies = [
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -10463,7 +10687,7 @@ dependencies = [
[[package]]
name = "sp-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -10481,7 +10705,7 @@ dependencies = [
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"merlin",
@@ -10504,7 +10728,7 @@ dependencies = [
[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10516,7 +10740,7 @@ dependencies = [
[[package]]
name = "sp-consensus-vrf"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"schnorrkel",
@@ -10528,7 +10752,7 @@ dependencies = [
[[package]]
name = "sp-core"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"base58",
"bitflags",
@@ -10556,7 +10780,6 @@ dependencies = [
"schnorrkel",
"secrecy",
"serde",
- "sha2 0.10.0",
"sp-core-hashing",
"sp-debug-derive",
"sp-externalities",
@@ -10567,8 +10790,6 @@ dependencies = [
"substrate-bip39",
"thiserror",
"tiny-bip39",
- "tiny-keccak",
- "twox-hash",
"wasmi",
"zeroize",
]
@@ -10576,20 +10797,21 @@ dependencies = [
[[package]]
name = "sp-core-hashing"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
- "blake2-rfc",
+ "blake2 0.10.2",
"byteorder",
- "sha2 0.10.0",
+ "digest 0.10.3",
+ "sha2 0.10.1",
+ "sha3 0.10.0",
"sp-std",
- "tiny-keccak",
"twox-hash",
]
[[package]]
name = "sp-core-hashing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"proc-macro2",
"quote",
@@ -10600,7 +10822,7 @@ dependencies = [
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"kvdb",
"parking_lot 0.11.2",
@@ -10609,7 +10831,7 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"proc-macro2",
"quote",
@@ -10619,7 +10841,7 @@ dependencies = [
[[package]]
name = "sp-externalities"
version = "0.11.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -10630,7 +10852,7 @@ dependencies = [
[[package]]
name = "sp-finality-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"finality-grandpa",
"log",
@@ -10648,7 +10870,7 @@ dependencies = [
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -10662,7 +10884,7 @@ dependencies = [
[[package]]
name = "sp-io"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"futures 0.3.21",
"hash-db",
@@ -10686,7 +10908,7 @@ dependencies = [
[[package]]
name = "sp-keyring"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"lazy_static",
"sp-core",
@@ -10697,7 +10919,7 @@ dependencies = [
[[package]]
name = "sp-keystore"
version = "0.11.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -10714,7 +10936,7 @@ dependencies = [
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"thiserror",
"zstd",
@@ -10723,7 +10945,7 @@ dependencies = [
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10738,7 +10960,7 @@ dependencies = [
[[package]]
name = "sp-npos-elections-solution-type"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -10749,7 +10971,7 @@ dependencies = [
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"sp-api",
"sp-core",
@@ -10759,7 +10981,7 @@ dependencies = [
[[package]]
name = "sp-panic-handler"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"backtrace",
"lazy_static",
@@ -10769,7 +10991,7 @@ dependencies = [
[[package]]
name = "sp-rpc"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"rustc-hash",
"serde",
@@ -10779,7 +11001,7 @@ dependencies = [
[[package]]
name = "sp-runtime"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"either",
"hash256-std-hasher",
@@ -10801,7 +11023,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -10818,7 +11040,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"Inflector",
"proc-macro-crate 1.1.0",
@@ -10827,10 +11049,24 @@ dependencies = [
"syn",
]
+[[package]]
+name = "sp-sandbox"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
+dependencies = [
+ "log",
+ "parity-scale-codec",
+ "sp-core",
+ "sp-io",
+ "sp-std",
+ "sp-wasm-interface",
+ "wasmi",
+]
+
[[package]]
name = "sp-serializer"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"serde",
"serde_json",
@@ -10839,7 +11075,7 @@ dependencies = [
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10853,7 +11089,7 @@ dependencies = [
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10864,7 +11100,7 @@ dependencies = [
[[package]]
name = "sp-state-machine"
version = "0.11.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"hash-db",
"log",
@@ -10887,12 +11123,12 @@ dependencies = [
[[package]]
name = "sp-std"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
[[package]]
name = "sp-storage"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -10905,7 +11141,7 @@ dependencies = [
[[package]]
name = "sp-tasks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"log",
"sp-core",
@@ -10918,7 +11154,7 @@ dependencies = [
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"futures-timer",
@@ -10934,7 +11170,7 @@ dependencies = [
[[package]]
name = "sp-tracing"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -10946,7 +11182,7 @@ dependencies = [
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"sp-api",
"sp-runtime",
@@ -10955,7 +11191,7 @@ dependencies = [
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"log",
@@ -10971,7 +11207,7 @@ dependencies = [
[[package]]
name = "sp-trie"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"hash-db",
"memory-db",
@@ -10986,7 +11222,7 @@ dependencies = [
[[package]]
name = "sp-version"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -11003,7 +11239,7 @@ dependencies = [
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"parity-scale-codec",
"proc-macro2",
@@ -11014,7 +11250,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"impl-trait-for-tuples",
"log",
@@ -11272,7 +11508,7 @@ dependencies = [
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"platforms",
]
@@ -11280,7 +11516,7 @@ dependencies = [
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"frame-system-rpc-runtime-api",
"futures 0.3.21",
@@ -11302,7 +11538,7 @@ dependencies = [
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-std",
"futures-util",
@@ -11316,7 +11552,7 @@ dependencies = [
[[package]]
name = "substrate-test-client"
version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -11342,7 +11578,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"futures 0.3.21",
"substrate-test-utils-derive",
@@ -11352,7 +11588,7 @@ dependencies = [
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#5cdbaa3e1caac94fa3ede30f9fb08fd1f031b3d4"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -11363,7 +11599,7 @@ dependencies = [
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"ansi_term",
"build-helper",
@@ -11449,7 +11685,7 @@ checksum = "13a4ec180a2de59b57434704ccfad967f789b12737738798fa08798cd5824c16"
[[package]]
name = "test-runtime-constants"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -11554,15 +11790,6 @@ dependencies = [
"zeroize",
]
-[[package]]
-name = "tiny-keccak"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
-dependencies = [
- "crunchy",
-]
-
[[package]]
name = "tinytemplate"
version = "1.2.1"
@@ -11600,6 +11827,7 @@ dependencies = [
"mio 0.7.14",
"num_cpus",
"once_cell",
+ "parking_lot 0.11.2",
"pin-project-lite 0.2.7",
"signal-hook-registry",
"tokio-macros",
@@ -11841,7 +12069,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=master#0a92e3eeb6568cee34bcccdf34529f77db767c46"
+source = "git+https://github.com/paritytech/substrate?branch=master#e6def65920d30029e42d498cb07cec5dd433b927"
dependencies = [
"clap 3.0.7",
"jsonrpsee 0.4.1",
@@ -11876,7 +12104,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ee73e6e4924fe940354b8d4d98cad5231175d615cd855b758adc658c0aac6a0"
dependencies = [
"cfg-if 1.0.0",
- "rand 0.7.3",
+ "digest 0.10.3",
+ "rand 0.8.5",
"static_assertions",
]
@@ -12206,6 +12435,7 @@ checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d"
dependencies = [
"downcast-rs",
"libc",
+ "libm",
"memory_units",
"num-rational 0.2.4",
"num-traits",
@@ -12441,7 +12671,7 @@ dependencies = [
[[package]]
name = "westend-runtime"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -12527,7 +12757,7 @@ dependencies = [
[[package]]
name = "westend-runtime-constants"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -12744,7 +12974,7 @@ dependencies = [
[[package]]
name = "xcm"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"derivative",
"impl-trait-for-tuples",
@@ -12757,7 +12987,7 @@ dependencies = [
[[package]]
name = "xcm-builder"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-support",
"frame-system",
@@ -12777,7 +13007,7 @@ dependencies = [
[[package]]
name = "xcm-executor"
version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -12795,7 +13025,7 @@ dependencies = [
[[package]]
name = "xcm-procedural"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=master#720aea809cfc72499340dff26adeb12eab053511"
+source = "git+https://github.com/paritytech/polkadot?branch=master#a6394995871d40a1b9ec5c4f458a8aa7f7638aa6"
dependencies = [
"Inflector",
"proc-macro2",
diff --git a/cumulus/Cargo.toml b/cumulus/Cargo.toml
index 6cb33d8dbc..4ad17909ba 100644
--- a/cumulus/Cargo.toml
+++ b/cumulus/Cargo.toml
@@ -32,6 +32,7 @@ members = [
"polkadot-parachains/statemint",
"polkadot-parachains/statemine",
"polkadot-parachains/westmint",
+ "polkadot-parachains/canvas-kusama",
"test/client",
"test/relay-sproof-builder",
"test/relay-validation-worker-provider",
diff --git a/cumulus/README.md b/cumulus/README.md
index 473b481fb8..6957941bc8 100644
--- a/cumulus/README.md
+++ b/cumulus/README.md
@@ -1,4 +1,9 @@
-# Cumulus :cloud:
+# Cumulus ☁️
+
+This repository contains both the Cumulus SDK and also specific chains implemented
+on top of this SDK.
+
+## Cumulus SDK
A set of tools for writing [Substrate](https://substrate.io/)-based
[Polkadot](https://wiki.polkadot.network/en/)
@@ -14,7 +19,7 @@ make it easy to write parachains for Polkadot by leveraging the power of Substra
Cumulus clouds are shaped sort of like dots; together they form a system that is intricate,
beautiful and functional.
-## Consensus
+### Consensus
[`parachain-consensus`](https://github.com/paritytech/cumulus/blob/master/client/consensus/common/src/parachain_consensus.rs) is a
[consensus engine](https://docs.substrate.io/v3/advanced/consensus) for Substrate
@@ -25,18 +30,18 @@ to follow,
[finalize](https://wiki.polkadot.network/docs/en/learn-consensus#probabilistic-vs-provable-finality),
and treat as best.
-## Collator
+### Collator
A Polkadot [collator](https://wiki.polkadot.network/docs/en/learn-collator) for the parachain is
implemented by the `polkadot-collator` binary.
-# Statemint 🪙
+## Statemint 🪙
This repository also contains the Statemint runtime (as well as the canary runtime Statemine and the
test runtime Westmint).
Statemint is a common good parachain providing an asset store for the Polkadot ecosystem.
-## Build & Launch a Node
+### Build & Launch a Node
To run a Statemine or Westmint node (Statemint is not deployed, yet) you will need to compile the
`polkadot-collator` binary:
@@ -54,14 +59,104 @@ CHAIN=westmint # or statemine
Refer to the [setup instructions below](#local-setup) to run a local network for development.
-# Rococo :crown:
+## Canvas 🧑🎨
+
+[![matrix][k1]][k2] [![discord][l1]][l2]
+
+[k1]: https://img.shields.io/badge/matrix-chat-brightgreen.svg?style=flat
+[k2]: https://riot.im/app/#/room/#ink:matrix.parity.io
+[l1]: https://img.shields.io/discord/722223075629727774?style=flat-square&label=discord
+[l2]: https://discord.com/invite/wGUDt2p
+
+This is a node implementation of `Canvas`, a common good parachain for `pallet-contracts`
+based wasm smart contracts. Right now this repository only contains the `canvas-kusama` runtime
+which we plan to use for both Rococo and Kusama.
+
+If you have any questions, feel free to talk to us on [Element][k2] or on [Discord][l2]
+(in the [`ink_smart-contracts`](https://discord.com/channels/722223075629727774/765280480609828864) channel).
+
+## Developing Smart Contracts for Canvas
+
+
+
+This node contains Substrate's smart contracts module ‒ the
+[`contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts) pallet.
+This `contracts` pallet takes smart contracts as WebAssembly blobs and defines an API
+for everything a smart contract needs (storage access, …).
+As long as a programming language compiles to WebAssembly and there exists an implementation
+of this API in it, you can write a smart contract for this pallet ‒ and thus for Canvas ‒ in
+that language.
+
+This is a list of languages you can currently choose from:
+
+* [Parity's ink!](https://github.com/paritytech/ink) for Rust
+* [ask!](https://github.com/patractlabs/ask) for Assembly Script
+* The [Solang](https://github.com/hyperledger-labs/solang) compiler for Solidity
+
+There are also different user interfaces and command-line tools you can use to deploy
+or interact with contracts:
+
+* [polkadot-js](https://polkadot.js.org/apps/)
+* [Canvas UI](https://paritytech.github.io/canvas-ui/) (outdated)
+
+If you are looking for a quickstart, we can recommend
+[ink!'s Guided Tutorial for Beginners](https://docs.substrate.io/tutorials/v3/ink-workshop/pt1/).
+
+### Build & Launch a Node
+
+To run a Canvas node that connects to Rococo (Kusama and Polkadot parachains are not deployed, yet)
+you will need to compile the `polkadot-collator` binary:
+
+```bash
+cargo build --release --locked -p polkadot-collator
+```
+
+Once the executable is built, launch the parachain node via:
+
+```bash
+./target/release/polkadot-collator --chain rocanvas
+```
+
+Refer to the [setup instructions below](#local-setup) to run a local network for development.
+
+### Rococo Deployment
+
+We have a live deployment of the Canvas parachain on [Rococo](https://wiki.polkadot.network/docs/build-pdk#rococo-testnet) ‒
+a testnet for Polkadot and Kusama parachains.
+You can interact with the network through Polkadot JS Apps,
+[click here for a direct link to Canvas](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-canvas-rpc.polkadot.io#/explorer).
+
+The Canvas parachain uses the Rococo relay chain's native token (ROC) instead of having its own token.
+Due to this you'll need ROC in order to deploy contracts on Canvas.
+
+As a first step, you should create an account. See [here](https://wiki.polkadot.network/docs/learn-account-generation)
+for a detailed guide.
+
+As a second step, you have to get ROC testnet tokens through the [Rococo Faucet](https://wiki.polkadot.network/docs/learn-DOT#getting-rococo-tokens).
+This is a chat room in which you need to write:
+
+```bash
+!drip YOUR_SS_58_ADDRESS:1002
+```
+
+The number `1002` is the parachain id of Canvas on Rococo, by supplying it the faucet will teleport ROC
+tokens directly to your account on the parachain.
+
+If everything worked out, the teleported ROC tokens will show up under
+[the "Accounts" tab for Canvas](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-canvas-rpc.polkadot.io#/accounts).
+
+Once you have ROC on Canvas you can deploy a contract as you would normally.
+If you're unsure about this, our [guided tutorial](https://docs.substrate.io/tutorials/v3/ink-workshop/pt1/)
+will clarify that for you in no time.
+
+## Rococo 👑
[Rococo](https://polkadot.js.org/apps/?rpc=wss://rococo-rpc.polkadot.io) is becoming a [Community Parachain Testbed](https://polkadot.network/blog/rococo-revamp-becoming-a-community-parachain-testbed/) for parachain teams in the Polkadot ecosystem. It supports multiple parachains with the differentiation of long-term connections and recurring short-term connections, to see which parachains are currently connected and how long they will be connected for [see here](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-rpc.polkadot.io#/parachains).
Rococo is an elaborate style of design and the name describes the painstaking effort that has gone
into this project.
-## Build & Launch Rococo Collators
+### Build & Launch Rococo Collators
Collators are similar to validators in the relay chain. These nodes build the blocks that will
eventually be included by the relay chain for a parachain.
@@ -92,19 +187,21 @@ Once the executable is built, launch collators for each parachain (repeat once e
./target/release/polkadot-collator --chain $CHAIN --validator
```
-## Parachains
+### Parachains
-- [Canvas - WASM Smart Contract](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-canvas-rpc.polkadot.io#/explorer)
+* [Statemint](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-statemint-rpc.polkadot.io#/explorer)
+* [Canvas on Rococo](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-canvas-rpc.polkadot.io#/explorer)
+* [RILT](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo.kilt.io#/explorer)
The network uses horizontal message passing (HRMP) to enable communication between parachains and
the relay chain and, in turn, between parachains. This means that every message is sent to the relay
chain, and from the relay chain to its destination parachain.
-## Local Setup
+### Local Setup
Launch a local setup including a Relay Chain and a Parachain.
-### Launch the Relay Chain
+#### Launch the Relay Chain
```bash
# Compile Polkadot with the real overseer feature
@@ -121,7 +218,7 @@ cargo build --release
./target/release/polkadot --chain rococo-local-cfde.json --bob --tmp --port 30334
```
-### Launch the Parachain
+#### Launch the Parachain
```bash
# Compile
@@ -144,11 +241,11 @@ cargo build --release
./target/release/polkadot-collator --tmp --port 40337 --ws-port 9948 -- --execution wasm --chain ../polkadot/rococo-local-cfde.json --port 30337
```
-### Register the parachain
+#### Register the parachain

-## Containerize
+### Containerize
After building `polkadot-collator` with cargo or with Parity CI image as documented in [this chapter](#build--launch-rococo-collators),
the following will allow producing a new docker image where the compiled binary is injected:
diff --git a/cumulus/docs/canvas-overview.svg b/cumulus/docs/canvas-overview.svg
new file mode 100644
index 0000000000..a4a480f9bf
--- /dev/null
+++ b/cumulus/docs/canvas-overview.svg
@@ -0,0 +1,764 @@
+
+
diff --git a/cumulus/polkadot-parachains/Cargo.toml b/cumulus/polkadot-parachains/Cargo.toml
index 95a805a0c8..0d3e011171 100644
--- a/cumulus/polkadot-parachains/Cargo.toml
+++ b/cumulus/polkadot-parachains/Cargo.toml
@@ -25,6 +25,7 @@ seedling-runtime = { path = "seedling" }
statemint-runtime = { path = "statemint" }
statemine-runtime = { path = "statemine" }
westmint-runtime = { path = "westmint" }
+canvas-kusama-runtime = { path = "canvas-kusama" }
parachains-common = { path = "parachains-common" }
# Substrate dependencies
@@ -66,6 +67,7 @@ jsonrpc-core = "18.0.0"
sc-transaction-pool-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
frame-rpc-system = { package = "substrate-frame-rpc-system", git = "https://github.com/paritytech/substrate", branch = "master" }
pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" }
+pallet-contracts-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" }
# Cumulus dependencies
cumulus-client-cli = { path = "../client/cli" }
diff --git a/cumulus/polkadot-parachains/canvas-kusama/Cargo.toml b/cumulus/polkadot-parachains/canvas-kusama/Cargo.toml
new file mode 100644
index 0000000000..844423184f
--- /dev/null
+++ b/cumulus/polkadot-parachains/canvas-kusama/Cargo.toml
@@ -0,0 +1,174 @@
+[package]
+name = "canvas-kusama-runtime"
+version = "0.2.0"
+authors = ["Parity Technologies "]
+edition = "2021"
+
+[package.metadata.docs.rs]
+targets = ["x86_64-unknown-linux-gnu"]
+
+[build-dependencies]
+substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
+
+[dependencies]
+hex-literal = { version = '0.3.1', optional = true }
+codec = { package = 'parity-scale-codec', version = '2.0.0', default-features = false, features = ['derive']}
+log = { version = "0.4.14", default-features = false }
+scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
+serde = { version = '1.0.119', optional = true, features = ['derive'] }
+smallvec = "1.6.1"
+
+# Substrate Dependencies
+## Substrate Primitive Dependencies
+sp-api = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-block-builder = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-core = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-inherents = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-io = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-offchain = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-runtime = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-session = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-std = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-transaction-pool = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+sp-version = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+node-primitives = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+
+## Substrate FRAME Dependencies
+frame-benchmarking = { git = 'https://github.com/paritytech/substrate', default-features = false, optional = true , branch = "master" }
+frame-try-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, optional = true , branch = "master" }
+frame-executive = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+frame-support = { git = 'https://github.com/paritytech/substrate', default-features = false, branch = "master" }
+frame-system = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+frame-system-benchmarking = { git = 'https://github.com/paritytech/substrate', default-features = false, optional = true , branch = "master" }
+frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+
+## Substrate Pallet Dependencies
+pallet-aura = { git = "https://github.com/paritytech/substrate", default-features = false , branch = "master" }
+pallet-authorship = { git = "https://github.com/paritytech/substrate", default-features = false , branch = "master" }
+pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", default-features = false , branch = "master" }
+pallet-balances = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+pallet-multisig = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+pallet-session = { git = "https://github.com/paritytech/substrate", default-features = false , branch = "master" }
+pallet-timestamp = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+pallet-transaction-payment = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate', default-features = false , branch = "master" }
+pallet-utility = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+pallet-sudo = { git = "https://github.com/paritytech/substrate", default-features = false , branch = "master" }
+
+# Cumulus Dependencies
+cumulus-pallet-aura-ext = { path = "../../pallets/aura-ext", default-features = false }
+cumulus-pallet-parachain-system = { path = "../../pallets/parachain-system", default-features = false }
+cumulus-primitives-core = { path = "../../primitives/core", default-features = false }
+cumulus-primitives-timestamp = { path = "../../primitives/timestamp", default-features = false }
+cumulus-primitives-utility = { path = "../../primitives/utility", default-features = false }
+cumulus-pallet-dmp-queue = { path = "../../pallets/dmp-queue", default-features = false }
+cumulus-pallet-xcmp-queue = { path = "../../pallets/xcmp-queue", default-features = false }
+cumulus-pallet-xcm = { path = "../../pallets/xcm", default-features = false }
+cumulus-pallet-session-benchmarking = { path = "../../pallets/session-benchmarking", default-features = false }
+pallet-collator-selection = { path = "../../pallets/collator-selection", default-features = false }
+parachains-common = { path = "../parachains-common", default-features = false }
+parachain-info = { path = "../pallets/parachain-info", default-features = false }
+
+# Polkadot Dependencies
+polkadot-parachain = { git = 'https://github.com/paritytech/polkadot', default-features = false , branch = "master" }
+polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+kusama-runtime-constants = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "master" }
+xcm = { git = 'https://github.com/paritytech/polkadot', default-features = false , branch = "master" }
+xcm-builder = { git = 'https://github.com/paritytech/polkadot', default-features = false , branch = "master" }
+xcm-executor = { git = 'https://github.com/paritytech/polkadot', default-features = false , branch = "master" }
+pallet-xcm = { git = 'https://github.com/paritytech/polkadot', default-features = false , branch = "master" }
+
+# Contracts specific packages
+pallet-contracts = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+pallet-contracts-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+
+[features]
+default = [
+ "std",
+]
+std = [
+ "codec/std",
+ "serde",
+ "scale-info/std",
+ "log/std",
+ "sp-api/std",
+ "sp-block-builder/std",
+ "sp-consensus-aura/std",
+ "sp-core/std",
+ "sp-inherents/std",
+ "sp-io/std",
+ "sp-offchain/std",
+ "sp-runtime/std",
+ "sp-session/std",
+ "sp-std/std",
+ "sp-transaction-pool/std",
+ "sp-version/std",
+ "node-primitives/std",
+ "frame-executive/std",
+ "frame-support/std",
+ "frame-system/std",
+ "frame-system-rpc-runtime-api/std",
+ "pallet-authorship/std",
+ "pallet-aura/std",
+ "pallet-sudo/std",
+ "pallet-balances/std",
+ "pallet-multisig/std",
+ "pallet-collator-selection/std",
+ "pallet-randomness-collective-flip/std",
+ "pallet-contracts-primitives/std",
+ "pallet-contracts-rpc-runtime-api/std",
+ "pallet-contracts/std",
+ "pallet-session/std",
+ "pallet-timestamp/std",
+ "pallet-transaction-payment/std",
+ "pallet-transaction-payment-rpc-runtime-api/std",
+ "pallet-utility/std",
+ "pallet-xcm/std",
+ "cumulus-pallet-aura-ext/std",
+ "cumulus-pallet-dmp-queue/std",
+ "cumulus-pallet-parachain-system/std",
+ "cumulus-pallet-xcm/std",
+ "cumulus-pallet-xcmp-queue/std",
+ "cumulus-primitives-core/std",
+ "cumulus-primitives-timestamp/std",
+ "cumulus-primitives-utility/std",
+ "parachains-common/std",
+ "parachain-info/std",
+ "polkadot-parachain/std",
+ "polkadot-runtime-common/std",
+ "kusama-runtime-constants/std",
+ "xcm/std",
+ "xcm-builder/std",
+ "xcm-executor/std",
+]
+
+# Make contract callable functions marked as __unstable__ available. Do not enable
+# on live chains as those are subject to change.
+contracts-unstable-interface = [
+ "pallet-contracts/unstable-interface"
+]
+
+runtime-benchmarks = [
+ "hex-literal",
+ "sp-runtime/runtime-benchmarks",
+ "xcm-builder/runtime-benchmarks",
+ "frame-benchmarking/runtime-benchmarks",
+ "frame-system-benchmarking",
+ "frame-support/runtime-benchmarks",
+ "frame-system/runtime-benchmarks",
+ "pallet-balances/runtime-benchmarks",
+ "pallet-contracts/runtime-benchmarks",
+ "pallet-multisig/runtime-benchmarks",
+ "pallet-timestamp/runtime-benchmarks",
+ "pallet-utility/runtime-benchmarks",
+ "pallet-xcm/runtime-benchmarks",
+ "pallet-collator-selection/runtime-benchmarks",
+ "cumulus-pallet-session-benchmarking/runtime-benchmarks",
+]
+
+try-runtime = [
+ "frame-try-runtime",
+ "frame-executive/try-runtime",
+]
\ No newline at end of file
diff --git a/cumulus/polkadot-parachains/canvas-kusama/build.rs b/cumulus/polkadot-parachains/canvas-kusama/build.rs
new file mode 100644
index 0000000000..9b53d2457d
--- /dev/null
+++ b/cumulus/polkadot-parachains/canvas-kusama/build.rs
@@ -0,0 +1,9 @@
+use substrate_wasm_builder::WasmBuilder;
+
+fn main() {
+ WasmBuilder::new()
+ .with_current_project()
+ .export_heap_base()
+ .import_memory()
+ .build()
+}
diff --git a/cumulus/polkadot-parachains/canvas-kusama/src/constants.rs b/cumulus/polkadot-parachains/canvas-kusama/src/constants.rs
new file mode 100644
index 0000000000..69384141a2
--- /dev/null
+++ b/cumulus/polkadot-parachains/canvas-kusama/src/constants.rs
@@ -0,0 +1,73 @@
+// Copyright (C) 2021 Parity Technologies (UK) Ltd.
+// SPDX-License-Identifier: Apache-2.0
+
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+pub mod currency {
+ use kusama_runtime_constants as constants;
+ use node_primitives::Balance;
+
+ /// The existential deposit. Set to 1/10 of its parent Relay Chain.
+ pub const EXISTENTIAL_DEPOSIT: Balance = constants::currency::EXISTENTIAL_DEPOSIT / 10;
+
+ pub const UNITS: Balance = constants::currency::UNITS;
+ pub const CENTS: Balance = constants::currency::CENTS;
+ pub const GRAND: Balance = constants::currency::GRAND;
+ pub const MILLICENTS: Balance = constants::currency::MILLICENTS;
+
+ pub const fn deposit(items: u32, bytes: u32) -> Balance {
+ // map to 1/10 of what the kusama relay chain charges (v9020)
+ constants::currency::deposit(items, bytes) / 10
+ }
+}
+
+/// Fee-related.
+pub mod fee {
+ use frame_support::weights::{
+ constants::ExtrinsicBaseWeight, WeightToFeeCoefficient, WeightToFeeCoefficients,
+ WeightToFeePolynomial,
+ };
+ use node_primitives::Balance;
+ use smallvec::smallvec;
+ pub use sp_runtime::Perbill;
+
+ /// The block saturation level. Fees will be updates based on this value.
+ pub const TARGET_BLOCK_FULLNESS: Perbill = Perbill::from_percent(25);
+
+ /// Handles converting a weight scalar to a fee value, based on the scale and granularity of the
+ /// node's balance type.
+ ///
+ /// This should typically create a mapping between the following ranges:
+ /// - [0, MAXIMUM_BLOCK_WEIGHT]
+ /// - [Balance::min, Balance::max]
+ ///
+ /// Yet, it can be used for any other sort of change to weight-fee. Some examples being:
+ /// - Setting it to `0` will essentially disable the weight fee.
+ /// - Setting it to `1` will cause the literal `#[weight = x]` values to be charged.
+ pub struct WeightToFee;
+ impl WeightToFeePolynomial for WeightToFee {
+ type Balance = Balance;
+ fn polynomial() -> WeightToFeeCoefficients {
+ // in Kusama, extrinsic base weight (smallest non-zero weight) is mapped to 1/10 CENT:
+ // in Statemine, we map to 1/10 of that, or 1/100 CENT
+ let p = super::currency::CENTS;
+ let q = 100 * Balance::from(ExtrinsicBaseWeight::get());
+ smallvec![WeightToFeeCoefficient {
+ degree: 1,
+ negative: false,
+ coeff_frac: Perbill::from_rational(p % q, q),
+ coeff_integer: p / q,
+ }]
+ }
+ }
+}
diff --git a/cumulus/polkadot-parachains/canvas-kusama/src/lib.rs b/cumulus/polkadot-parachains/canvas-kusama/src/lib.rs
new file mode 100644
index 0000000000..293628533d
--- /dev/null
+++ b/cumulus/polkadot-parachains/canvas-kusama/src/lib.rs
@@ -0,0 +1,866 @@
+// Copyright (C) 2018-2021 Parity Technologies (UK) Ltd.
+// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
+//
+// This program 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.
+//
+// This program 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 this program. If not, see .
+
+#![cfg_attr(not(feature = "std"), no_std)]
+#![recursion_limit = "256"]
+
+// Make the WASM binary available.
+#[cfg(feature = "std")]
+include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
+
+pub mod constants;
+
+use sp_api::impl_runtime_apis;
+use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
+use sp_runtime::{
+ create_runtime_str, generic, impl_opaque_keys,
+ traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
+ transaction_validity::{TransactionSource, TransactionValidity},
+ ApplyExtrinsicResult,
+};
+
+use sp_std::prelude::*;
+#[cfg(feature = "std")]
+use sp_version::NativeVersion;
+use sp_version::RuntimeVersion;
+
+use constants::{currency::*, fee::WeightToFee};
+use frame_support::{
+ construct_runtime, match_type, parameter_types,
+ traits::{EnsureOneOf, Everything, Nothing},
+ weights::{
+ constants::{BlockExecutionWeight, ExtrinsicBaseWeight},
+ DispatchClass, IdentityFee, Weight,
+ },
+ PalletId,
+};
+use frame_system::{
+ limits::{BlockLength, BlockWeights},
+ EnsureRoot,
+};
+pub use parachains_common as common;
+use parachains_common::{
+ impls::DealWithFees, opaque, AccountId, BlockNumber, Hash, Header, Index, Signature,
+ AVERAGE_ON_INITIALIZE_RATIO, HOURS, MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SLOT_DURATION,
+};
+pub use parachains_common::{AuraId, Balance};
+
+#[cfg(any(feature = "std", test))]
+pub use sp_runtime::BuildStorage;
+
+// Polkadot imports
+use pallet_contracts::weights::WeightInfo;
+use pallet_xcm::{EnsureXcm, IsMajorityOfBody, XcmPassthrough};
+use polkadot_parachain::primitives::Sibling;
+use polkadot_runtime_common::{BlockHashCount, RocksDbWeight, SlowAdjustingFeeUpdate};
+use xcm::latest::prelude::*;
+use xcm_builder::{
+ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom,
+ AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter, EnsureXcmOrigin,
+ FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset, ParentIsPreset,
+ RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,
+ SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
+ UsingComponents,
+};
+use xcm_executor::{Config as XcmExecutorConfig, XcmExecutor};
+
+/// The address format for describing accounts.
+pub type Address = sp_runtime::MultiAddress;
+/// Block type as expected by this runtime.
+pub type Block = generic::Block;
+/// A Block signed with a Justification
+pub type SignedBlock = generic::SignedBlock;
+/// BlockId type as expected by this runtime.
+pub type BlockId = generic::BlockId;
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
+ frame_system::CheckNonZeroSender,
+ frame_system::CheckSpecVersion,
+ frame_system::CheckTxVersion,
+ frame_system::CheckGenesis,
+ frame_system::CheckEra,
+ frame_system::CheckNonce,
+ frame_system::CheckWeight,
+ pallet_transaction_payment::ChargeTransactionPayment,
+);
+/// Unchecked extrinsic type as expected by this runtime.
+pub type UncheckedExtrinsic = generic::UncheckedExtrinsic;
+/// Extrinsic type that has already been checked.
+pub type CheckedExtrinsic = generic::CheckedExtrinsic;
+/// Executive: handles dispatch to the various modules.
+pub type Executive = frame_executive::Executive<
+ Runtime,
+ Block,
+ frame_system::ChainContext,
+ Runtime,
+ AllPalletsWithSystem,
+>;
+
+// Prints debug output of the `contracts` pallet to stdout if the node is
+// started with `-lruntime::contracts=debug`.
+pub const CONTRACTS_DEBUG_OUTPUT: bool = true;
+
+impl_opaque_keys! {
+ pub struct SessionKeys {
+ pub aura: Aura,
+ }
+}
+
+#[sp_version::runtime_version]
+pub const VERSION: RuntimeVersion = RuntimeVersion {
+ spec_name: create_runtime_str!("canvas-kusama"),
+ impl_name: create_runtime_str!("canvas-kusama"),
+ authoring_version: 1,
+ spec_version: 15,
+ impl_version: 0,
+ apis: RUNTIME_API_VERSIONS,
+ transaction_version: 1,
+ // Since Canvas is a "live" chain (on Rococo anyways), we need to set this to `0` until a
+ // migration path to `state_version = 1` is ready.
+ //
+ // See the following PRs for more details:
+ // - https://github.com/paritytech/substrate/pull/9732
+ // - https://github.com/paritytech/substrate/pull/10073
+ state_version: 0,
+};
+
+/// The version information used to identify this runtime when compiled natively.
+#[cfg(feature = "std")]
+pub fn native_version() -> NativeVersion {
+ NativeVersion { runtime_version: VERSION, can_author_with: Default::default() }
+}
+
+parameter_types! {
+ pub const Version: RuntimeVersion = VERSION;
+ pub RuntimeBlockLength: BlockLength =
+ BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO);
+ pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder()
+ .base_block(BlockExecutionWeight::get())
+ .for_class(DispatchClass::all(), |weights| {
+ weights.base_extrinsic = ExtrinsicBaseWeight::get();
+ })
+ .for_class(DispatchClass::Normal, |weights| {
+ weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT);
+ })
+ .for_class(DispatchClass::Operational, |weights| {
+ weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT);
+ // Operational transactions have some extra reserved space, so that they
+ // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`.
+ weights.reserved = Some(
+ MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT
+ );
+ })
+ .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO)
+ .build_or_panic();
+ pub const SS58Prefix: u8 = 42;
+}
+
+// Configure FRAME pallets to include in runtime.
+impl frame_system::Config for Runtime {
+ type BaseCallFilter = frame_support::traits::Everything;
+ type BlockWeights = RuntimeBlockWeights;
+ type BlockLength = RuntimeBlockLength;
+ type AccountId = AccountId;
+ type Call = Call;
+ type Lookup = AccountIdLookup;
+ type Index = Index;
+ type BlockNumber = BlockNumber;
+ type Hash = Hash;
+ type Hashing = BlakeTwo256;
+ type Header = Header;
+ type Event = Event;
+ type Origin = Origin;
+ type BlockHashCount = BlockHashCount;
+ type DbWeight = RocksDbWeight;
+ type Version = Version;
+ type PalletInfo = PalletInfo;
+ type OnNewAccount = ();
+ type OnKilledAccount = ();
+ type AccountData = pallet_balances::AccountData;
+ type SystemWeightInfo = frame_system::weights::SubstrateWeight;
+ type SS58Prefix = SS58Prefix;
+ type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode;
+ type MaxConsumers = frame_support::traits::ConstU32<16>;
+}
+
+parameter_types! {
+ pub const MinimumPeriod: u64 = SLOT_DURATION / 2;
+}
+
+impl pallet_timestamp::Config for Runtime {
+ /// A timestamp: milliseconds since the unix epoch.
+ type Moment = u64;
+ type OnTimestampSet = ();
+ type MinimumPeriod = MinimumPeriod;
+ type WeightInfo = pallet_timestamp::weights::SubstrateWeight;
+}
+
+parameter_types! {
+ pub const UncleGenerations: u32 = 0;
+}
+
+impl pallet_authorship::Config for Runtime {
+ type FindAuthor = pallet_session::FindAccountFromAuthorIndex;
+ type UncleGenerations = UncleGenerations;
+ type FilterUncle = ();
+ type EventHandler = (CollatorSelection,);
+}
+
+parameter_types! {
+ pub const ExistentialDeposit: Balance = EXISTENTIAL_DEPOSIT;
+ pub const MaxLocks: u32 = 50;
+ pub const MaxReserves: u32 = 50;
+}
+
+impl pallet_balances::Config for Runtime {
+ type MaxLocks = MaxLocks;
+ /// The type for recording an account's balance.
+ type Balance = Balance;
+ /// The ubiquitous event type.
+ type Event = Event;
+ type DustRemoval = ();
+ type ExistentialDeposit = ExistentialDeposit;
+ type AccountStore = System;
+ type WeightInfo = pallet_balances::weights::SubstrateWeight;
+ type MaxReserves = MaxReserves;
+ type ReserveIdentifier = [u8; 8];
+}
+
+parameter_types! {
+ /// Relay Chain `TransactionByteFee` / 10
+ pub const TransactionByteFee: Balance = 1 * MILLICENTS;
+ pub const OperationalFeeMultiplier: u8 = 5;
+}
+
+impl pallet_transaction_payment::Config for Runtime {
+ type OnChargeTransaction =
+ pallet_transaction_payment::CurrencyAdapter>;
+ type TransactionByteFee = TransactionByteFee;
+ type WeightToFee = WeightToFee;
+ type FeeMultiplierUpdate = SlowAdjustingFeeUpdate;
+ type OperationalFeeMultiplier = OperationalFeeMultiplier;
+}
+
+parameter_types! {
+ // One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes.
+ pub const DepositBase: Balance = deposit(1, 88);
+ // Additional storage item size of 32 bytes.
+ pub const DepositFactor: Balance = deposit(0, 32);
+ pub const MaxSignatories: u16 = 100;
+}
+
+impl pallet_multisig::Config for Runtime {
+ type Event = Event;
+ type Call = Call;
+ type Currency = Balances;
+ type DepositBase = DepositBase;
+ type DepositFactor = DepositFactor;
+ type MaxSignatories = MaxSignatories;
+ type WeightInfo = pallet_multisig::weights::SubstrateWeight;
+}
+
+impl pallet_utility::Config for Runtime {
+ type Event = Event;
+ type Call = Call;
+ type PalletsOrigin = OriginCaller;
+ type WeightInfo = pallet_utility::weights::SubstrateWeight;
+}
+
+parameter_types! {
+ pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;
+ pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;
+}
+
+impl cumulus_pallet_parachain_system::Config for Runtime {
+ type Event = Event;
+ type OnSystemEvent = ();
+ type SelfParaId = parachain_info::Pallet;
+ type DmpMessageHandler = DmpQueue;
+ type ReservedDmpWeight = ReservedDmpWeight;
+ type OutboundXcmpMessageSource = XcmpQueue;
+ type XcmpMessageHandler = XcmpQueue;
+ type ReservedXcmpWeight = ReservedXcmpWeight;
+}
+
+parameter_types! {
+ pub const DepositPerItem: Balance = deposit(1, 0);
+ pub const DepositPerByte: Balance = deposit(0, 1);
+ // The lazy deletion runs inside on_initialize.
+ pub DeletionWeightLimit: Weight = AVERAGE_ON_INITIALIZE_RATIO *
+ RuntimeBlockWeights::get().max_block;
+ // The weight needed for decoding the queue should be less or equal than a fifth
+ // of the overall weight dedicated to the lazy deletion.
+ pub DeletionQueueDepth: u32 = ((DeletionWeightLimit::get() / (
+ ::WeightInfo::on_initialize_per_queue_item(1) -
+ ::WeightInfo::on_initialize_per_queue_item(0)
+ )) / 5) as u32;
+ pub Schedule: pallet_contracts::Schedule = Default::default();
+}
+
+impl pallet_contracts::Config for Runtime {
+ type Time = Timestamp;
+ type Randomness = RandomnessCollectiveFlip;
+ type Currency = Balances;
+ type Event = Event;
+ type Call = Call;
+ /// The safest default is to allow no calls at all.
+ ///
+ /// Runtimes should whitelist dispatchables that are allowed to be called from contracts
+ /// and make sure they are stable. Dispatchables exposed to contracts are not allowed to
+ /// change because that would break already deployed contracts. The `Call` structure itself
+ /// is not allowed to change the indices of existing pallets, too.
+ type CallFilter = frame_support::traits::Nothing;
+ type DepositPerItem = DepositPerItem;
+ type DepositPerByte = DepositPerByte;
+ type WeightPrice = pallet_transaction_payment::Pallet;
+ type WeightInfo = pallet_contracts::weights::SubstrateWeight;
+ type ChainExtension = ();
+ type DeletionQueueDepth = DeletionQueueDepth;
+ type DeletionWeightLimit = DeletionWeightLimit;
+ type Schedule = Schedule;
+ type CallStack = [pallet_contracts::Frame; 31];
+ type AddressGenerator = pallet_contracts::DefaultAddressGenerator;
+}
+
+impl pallet_randomness_collective_flip::Config for Runtime {}
+
+impl parachain_info::Config for Runtime {}
+
+impl cumulus_pallet_aura_ext::Config for Runtime {}
+
+parameter_types! {
+ pub const RelayLocation: MultiLocation = MultiLocation::parent();
+ pub const RelayNetwork: NetworkId = NetworkId::Any;
+ pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into();
+ pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
+}
+
+/// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used
+/// when determining ownership of accounts for asset transacting and when attempting to use XCM
+/// `Transact` in order to determine the dispatch Origin.
+pub type LocationToAccountId = (
+ // The parent (Relay-chain) origin converts to the parent `AccountId`.
+ ParentIsPreset,
+ // Sibling parachain origins convert to AccountId via the `ParaId::into`.
+ SiblingParachainConvertsVia,
+ // Straight up local `AccountId32` origins just alias directly to `AccountId`.
+ AccountId32Aliases,
+);
+
+/// Means for transacting assets on this chain.
+pub type LocalAssetTransactor = CurrencyAdapter<
+ // Use this currency:
+ Balances,
+ // Use this currency when it is a fungible asset matching the given location or name:
+ IsConcrete,
+ // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:
+ LocationToAccountId,
+ // Our chain's account ID type (we can't get away without mentioning it explicitly):
+ AccountId,
+ // We don't track any teleports.
+ (),
+>;
+
+/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,
+/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can
+/// biases the kind of local `Origin` it will become.
+pub type XcmOriginToTransactDispatchOrigin = (
+ // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
+ // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
+ // foreign chains who want to have a local sovereign account on this chain which they control.
+ SovereignSignedViaLocation,
+ // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when
+ // recognized.
+ RelayChainAsNative,
+ // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
+ // recognized.
+ SiblingParachainAsNative,
+ // Native signed account converter; this just converts an `AccountId32` origin into a normal
+ // `Origin::Signed` origin of the same 32-byte value.
+ SignedAccountId32AsNative,
+ // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
+ XcmPassthrough,
+);
+
+parameter_types! {
+ // One XCM operation is 1_000_000_000 weight - almost certainly a conservative estimate.
+ pub UnitWeightCost: Weight = 1_000_000_000;
+ pub const MaxInstructions: u32 = 100;
+}
+
+match_type! {
+ pub type ParentOrParentsExecutivePlurality: impl Contains = {
+ MultiLocation { parents: 1, interior: Here } |
+ MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Executive, .. }) }
+ };
+}
+match_type! {
+ pub type ParentOrSiblings: impl Contains = {
+ MultiLocation { parents: 1, interior: Here } |
+ MultiLocation { parents: 1, interior: X1(_) }
+ };
+}
+
+pub type Barrier = (
+ TakeWeightCredit,
+ AllowTopLevelPaidExecutionFrom,
+ // Parent and its exec plurality get free execution
+ AllowUnpaidExecutionFrom,
+ // Expected responses are OK.
+ AllowKnownQueryResponses,
+ // Subscriptions for version tracking are OK.
+ AllowSubscriptionsFrom,
+);
+
+pub struct XcmConfig;
+impl XcmExecutorConfig for XcmConfig {
+ type Call = Call;
+ type XcmSender = XcmRouter;
+ // How to withdraw and deposit an asset.
+ type AssetTransactor = LocalAssetTransactor;
+ type OriginConverter = XcmOriginToTransactDispatchOrigin;
+ type IsReserve = NativeAsset;
+ type IsTeleporter = NativeAsset; // Should be enough to allow teleportation of ROC
+ type LocationInverter = LocationInverter;
+ type Barrier = Barrier;
+ type Weigher = FixedWeightBounds;
+ type Trader = UsingComponents, RelayLocation, AccountId, Balances, ()>;
+ type ResponseHandler = PolkadotXcm;
+ type AssetTrap = PolkadotXcm;
+ type AssetClaims = PolkadotXcm;
+ type SubscriptionService = PolkadotXcm;
+}
+
+parameter_types! {
+ pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10;
+}
+
+/// Converts a local signed origin into an XCM multilocation.
+/// Forms the basis for local origins sending/executing XCMs.
+pub type LocalOriginToLocation = SignedToAccountId32;
+
+/// The means for routing XCM messages which are not for local execution into the right message
+/// queues.
+pub type XcmRouter = (
+ // Two routers - use UMP to communicate with the relay chain:
+ cumulus_primitives_utility::ParentAsUmp,
+ // ..and XCMP to communicate with the sibling chains.
+ XcmpQueue,
+);
+
+impl pallet_xcm::Config for Runtime {
+ type Event = Event;
+ // We want to disallow users sending (arbitrary) XCMs from this chain.
+ type SendXcmOrigin = EnsureXcmOrigin;
+ type XcmRouter = XcmRouter;
+ // We support local origins dispatching XCM executions in principle...
+ type ExecuteXcmOrigin = EnsureXcmOrigin;
+ // ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed.
+ type XcmExecuteFilter = Nothing;
+ type XcmExecutor = XcmExecutor;
+ type XcmTeleportFilter = Everything;
+ type XcmReserveTransferFilter = Everything;
+ type Weigher = FixedWeightBounds;
+ type LocationInverter = LocationInverter;
+ type Origin = Origin;
+ type Call = Call;
+ const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
+ type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
+}
+
+impl cumulus_pallet_xcm::Config for Runtime {
+ type Event = Event;
+ type XcmExecutor = XcmExecutor;
+}
+
+impl cumulus_pallet_xcmp_queue::Config for Runtime {
+ type Event = Event;
+ type XcmExecutor = XcmExecutor;
+ type ChannelInfo = ParachainSystem;
+ type VersionWrapper = PolkadotXcm;
+ type ExecuteOverweightOrigin = EnsureRoot;
+ type ControllerOrigin = EnsureOneOf<
+ EnsureRoot,
+ EnsureXcm>,
+ >;
+ type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;
+}
+
+impl cumulus_pallet_dmp_queue::Config for Runtime {
+ type Event = Event;
+ type XcmExecutor = XcmExecutor;
+ type ExecuteOverweightOrigin = EnsureRoot;
+}
+
+parameter_types! {
+ pub const Period: u32 = 6 * HOURS;
+ pub const Offset: u32 = 0;
+ pub const MaxAuthorities: u32 = 100_000;
+}
+
+impl pallet_session::Config for Runtime {
+ type Event = Event;
+ type ValidatorId = ::AccountId;
+ // we don't have stash and controller, thus we don't need the convert as well.
+ type ValidatorIdOf = pallet_collator_selection::IdentityCollator;
+ type ShouldEndSession = pallet_session::PeriodicSessions;
+ type NextSessionRotation = pallet_session::PeriodicSessions;
+ type SessionManager = CollatorSelection;
+ // Essentially just Aura, but lets be pedantic.
+ type SessionHandler = ::KeyTypeIdProviders;
+ type Keys = SessionKeys;
+ type WeightInfo = pallet_session::weights::SubstrateWeight;
+}
+
+impl pallet_aura::Config for Runtime {
+ type AuthorityId = AuraId;
+ type DisabledValidators = ();
+ type MaxAuthorities = MaxAuthorities;
+}
+
+parameter_types! {
+ pub const PotId: PalletId = PalletId(*b"PotStake");
+ pub const MaxCandidates: u32 = 1000;
+ pub const MinCandidates: u32 = 5;
+ pub const SessionLength: BlockNumber = 6 * HOURS;
+ pub const MaxInvulnerables: u32 = 100;
+ pub const ExecutiveBody: BodyId = BodyId::Executive;
+}
+
+/// We allow root and the Relay Chain council to execute privileged collator selection operations.
+pub type CollatorSelectionUpdateOrigin =
+ EnsureOneOf, EnsureXcm>>;
+
+impl pallet_collator_selection::Config for Runtime {
+ type Event = Event;
+ type Currency = Balances;
+ type UpdateOrigin = CollatorSelectionUpdateOrigin;
+ type PotId = PotId;
+ type MaxCandidates = MaxCandidates;
+ type MinCandidates = MinCandidates;
+ type MaxInvulnerables = MaxInvulnerables;
+ // should be a multiple of session or things will get inconsistent
+ type KickThreshold = Period;
+ type ValidatorId = ::AccountId;
+ type ValidatorIdOf = pallet_collator_selection::IdentityCollator;
+ type ValidatorRegistration = Session;
+ type WeightInfo = pallet_collator_selection::weights::SubstrateWeight;
+}
+
+// Create the runtime by composing the FRAME pallets that were previously configured.
+construct_runtime!(
+ pub enum Runtime where
+ Block = Block,
+ NodeBlock = opaque::Block,
+ UncheckedExtrinsic = UncheckedExtrinsic,
+ {
+ // System support stuff.
+ System: frame_system::{Pallet, Call, Config, Storage, Event} = 0,
+ ParachainSystem: cumulus_pallet_parachain_system::{
+ Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned,
+ } = 1,
+ RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 2,
+ Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 3,
+ ParachainInfo: parachain_info::{Pallet, Storage, Config} = 4,
+
+ // Monetary stuff.
+ Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 10,
+ TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 11,
+
+ // Collator support. The order of these 5 are important and shall not change.
+ Authorship: pallet_authorship::{Pallet, Call, Storage} = 20,
+ CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 21,
+ Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 22,
+ Aura: pallet_aura::{Pallet, Storage, Config} = 23,
+ AuraExt: cumulus_pallet_aura_ext::{Pallet, Storage, Config} = 24,
+
+ // XCM helpers.
+ XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 30,
+ PolkadotXcm: pallet_xcm::{Pallet, Call, Storage, Event, Origin, Config} = 31,
+ CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 32,
+ DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 33,
+
+ // Smart Contracts.
+ Contracts: pallet_contracts::{Pallet, Call, Storage, Event} = 40,
+
+ // Handy utilities.
+ Utility: pallet_utility::{Pallet, Call, Event} = 50,
+ Multisig: pallet_multisig::{Pallet, Call, Storage, Event} = 51,
+ }
+);
+
+#[cfg(feature = "runtime-benchmarks")]
+#[macro_use]
+extern crate frame_benchmarking;
+
+#[cfg(feature = "runtime-benchmarks")]
+mod benches {
+ define_benchmarks!(
+ [frame_system, SystemBench::]
+ [pallet_balances, Balances]
+ [pallet_multisig, Multisig]
+ [pallet_session, SessionBench::]
+ [pallet_utility, Utility]
+ [pallet_timestamp, Timestamp]
+ [pallet_collator_selection, CollatorSelection]
+ [pallet_contracts, Contracts]
+ );
+}
+
+impl_runtime_apis! {
+ impl sp_consensus_aura::AuraApi for Runtime {
+ fn slot_duration() -> sp_consensus_aura::SlotDuration {
+ sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
+ }
+
+ fn authorities() -> Vec {
+ Aura::authorities().into_inner()
+ }
+ }
+
+ impl sp_api::Core for Runtime {
+ fn version() -> RuntimeVersion {
+ VERSION
+ }
+
+ fn execute_block(block: Block) {
+ Executive::execute_block(block)
+ }
+
+ fn initialize_block(header: &::Header) {
+ Executive::initialize_block(header)
+ }
+ }
+
+ impl sp_api::Metadata for Runtime {
+ fn metadata() -> OpaqueMetadata {
+ OpaqueMetadata::new(Runtime::metadata().into())
+ }
+ }
+
+ impl sp_block_builder::BlockBuilder for Runtime {
+ fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult {
+ Executive::apply_extrinsic(extrinsic)
+ }
+
+ fn finalize_block() -> ::Header {
+ Executive::finalize_block()
+ }
+
+ fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> {
+ data.create_extrinsics()
+ }
+
+ fn check_inherents(
+ block: Block,
+ data: sp_inherents::InherentData,
+ ) -> sp_inherents::CheckInherentsResult {
+ data.check_extrinsics(&block)
+ }
+ }
+
+ impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime {
+ fn validate_transaction(
+ source: TransactionSource,
+ tx: ::Extrinsic,
+ block_hash: ::Hash,
+ ) -> TransactionValidity {
+ Executive::validate_transaction(source, tx, block_hash)
+ }
+ }
+
+ impl sp_offchain::OffchainWorkerApi for Runtime {
+ fn offchain_worker(header: &::Header) {
+ Executive::offchain_worker(header)
+ }
+ }
+
+ impl sp_session::SessionKeys for Runtime {
+ fn generate_session_keys(seed: Option>) -> Vec {
+ SessionKeys::generate(seed)
+ }
+
+ fn decode_session_keys(
+ encoded: Vec,
+ ) -> Option, KeyTypeId)>> {
+ SessionKeys::decode_into_raw_public_keys(&encoded)
+ }
+ }
+
+ impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime {
+ fn account_nonce(account: AccountId) -> Index {
+ System::account_nonce(account)
+ }
+ }
+
+ impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime {
+ fn query_info(
+ uxt: ::Extrinsic,
+ len: u32,
+ ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo {
+ TransactionPayment::query_info(uxt, len)
+ }
+ fn query_fee_details(
+ uxt: ::Extrinsic,
+ len: u32,
+ ) -> pallet_transaction_payment::FeeDetails {
+ TransactionPayment::query_fee_details(uxt, len)
+ }
+ }
+
+ impl cumulus_primitives_core::CollectCollationInfo for Runtime {
+ fn collect_collation_info(header: &::Header) -> cumulus_primitives_core::CollationInfo {
+ ParachainSystem::collect_collation_info(header)
+ }
+ }
+
+impl pallet_contracts_rpc_runtime_api::ContractsApi
+ for Runtime
+ {
+ fn call(
+ origin: AccountId,
+ dest: AccountId,
+ value: Balance,
+ gas_limit: u64,
+ storage_deposit_limit: Option,
+ input_data: Vec,
+ ) -> pallet_contracts_primitives::ContractExecResult {
+ Contracts::bare_call(origin, dest, value, gas_limit, storage_deposit_limit, input_data, CONTRACTS_DEBUG_OUTPUT)
+ }
+
+ fn instantiate(
+ origin: AccountId,
+ value: Balance,
+ gas_limit: u64,
+ storage_deposit_limit: Option,
+ code: pallet_contracts_primitives::Code,
+ data: Vec,
+ salt: Vec,
+ ) -> pallet_contracts_primitives::ContractInstantiateResult
+ {
+ Contracts::bare_instantiate(origin, value, gas_limit, storage_deposit_limit, code, data, salt, CONTRACTS_DEBUG_OUTPUT)
+ }
+
+ fn upload_code(
+ origin: AccountId,
+ code: Vec,
+ storage_deposit_limit: Option,
+ ) -> pallet_contracts_primitives::CodeUploadResult
+ {
+ Contracts::bare_upload_code(origin, code, storage_deposit_limit)
+ }
+
+ fn get_storage(
+ address: AccountId,
+ key: [u8; 32],
+ ) -> pallet_contracts_primitives::GetStorageResult {
+ Contracts::get_storage(address, key)
+ }
+ }
+
+ #[cfg(feature = "try-runtime")]
+ impl frame_try_runtime::TryRuntime for Runtime {
+ fn on_runtime_upgrade() -> (Weight, Weight) {
+ log::info!("try-runtime::on_runtime_upgrade canvas");
+ let weight = Executive::try_runtime_upgrade().unwrap();
+ (weight, RuntimeBlockWeights::get().max_block)
+ }
+
+ fn execute_block_no_check(block: Block) -> Weight {
+ Executive::execute_block_no_check(block)
+ }
+ }
+
+ #[cfg(feature = "runtime-benchmarks")]
+ impl frame_benchmarking::Benchmark for Runtime {
+ fn benchmark_metadata(extra: bool) -> (
+ Vec,
+ Vec,
+ ) {
+ use frame_benchmarking::{Benchmarking, BenchmarkList};
+ use frame_support::traits::StorageInfoTrait;
+ use frame_system_benchmarking::Pallet as SystemBench;
+ use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
+
+ let mut list = Vec::::new();
+ list_benchmarks!(list, extra);
+
+ let storage_info = AllPalletsWithSystem::storage_info();
+ return (list, storage_info)
+ }
+
+ fn dispatch_benchmark(
+ config: frame_benchmarking::BenchmarkConfig
+ ) -> Result, sp_runtime::RuntimeString> {
+ use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey};
+
+ use frame_system_benchmarking::Pallet as SystemBench;
+ impl frame_system_benchmarking::Config for Runtime {}
+
+ use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
+ impl cumulus_pallet_session_benchmarking::Config for Runtime {}
+
+ let whitelist: Vec = vec![
+ // Block Number
+ hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(),
+ // Total Issuance
+ hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(),
+ // Execution Phase
+ hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(),
+ // Event Count
+ hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(),
+ // System Events
+ hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(),
+ ];
+
+ let mut batches = Vec::::new();
+ let params = (&config, &whitelist);
+ add_benchmarks!(params, batches);
+
+ if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
+ Ok(batches)
+ }
+ }
+}
+
+struct CheckInherents;
+
+impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents {
+ fn check_inherents(
+ block: &Block,
+ relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof,
+ ) -> sp_inherents::CheckInherentsResult {
+ let relay_chain_slot = relay_state_proof
+ .read_slot()
+ .expect("Could not read the relay chain slot from the proof");
+
+ let inherent_data =
+ cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration(
+ relay_chain_slot,
+ sp_std::time::Duration::from_secs(6),
+ )
+ .create_inherent_data()
+ .expect("Could not create the timestamp inherent data");
+
+ inherent_data.check_extrinsics(&block)
+ }
+}
+
+cumulus_pallet_parachain_system::register_validate_block! {
+ Runtime = Runtime,
+ BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::,
+ CheckInherents = CheckInherents,
+}
diff --git a/cumulus/polkadot-parachains/src/chain_spec.rs b/cumulus/polkadot-parachains/src/chain_spec.rs
index 7bd8cdb8c5..3071c0f83c 100644
--- a/cumulus/polkadot-parachains/src/chain_spec.rs
+++ b/cumulus/polkadot-parachains/src/chain_spec.rs
@@ -834,3 +834,254 @@ fn westmint_genesis(
},
}
}
+
+/// We use the same runtime on kusama and rococo.
+pub type CanvasKusamaChainSpec =
+ sc_service::GenericChainSpec;
+
+/// No relay chain suffix because the id is the same over all relay chains.
+const CANVAS_PARACHAIN_ID: u32 = 1002;
+
+/// The existential deposit is determined by the runtime "canvas-kusama".
+const CANVAS_KUSAMA_ED: canvas_kusama_runtime::Balance =
+ canvas_kusama_runtime::constants::currency::EXISTENTIAL_DEPOSIT;
+
+pub fn canvas_rococo_development_config() -> CanvasKusamaChainSpec {
+ let mut properties = sc_chain_spec::Properties::new();
+ properties.insert("tokenSymbol".into(), "ROC".into());
+ properties.insert("tokenDecimals".into(), 12.into());
+
+ CanvasKusamaChainSpec::from_genesis(
+ // Name
+ "Canvas on Rococo Development",
+ // ID
+ "canvas-rococo-dev",
+ ChainType::Development,
+ move || {
+ canvas_kusama_genesis(
+ // initial collators.
+ vec![
+ (
+ get_account_id_from_seed::("Alice"),
+ get_collator_keys_from_seed::("Alice"),
+ ),
+ (
+ get_account_id_from_seed::("Bob"),
+ get_collator_keys_from_seed::("Bob"),
+ ),
+ ],
+ vec![
+ get_account_id_from_seed::("Alice"),
+ get_account_id_from_seed::("Bob"),
+ get_account_id_from_seed::("Charlie"),
+ get_account_id_from_seed::("Dave"),
+ get_account_id_from_seed::("Eve"),
+ get_account_id_from_seed::("Ferdie"),
+ get_account_id_from_seed::("Alice//stash"),
+ get_account_id_from_seed::("Bob//stash"),
+ get_account_id_from_seed::("Charlie//stash"),
+ get_account_id_from_seed::("Dave//stash"),
+ get_account_id_from_seed::("Eve//stash"),
+ get_account_id_from_seed::("Ferdie//stash"),
+ ],
+ CANVAS_PARACHAIN_ID.into(),
+ )
+ },
+ Vec::new(),
+ None,
+ None,
+ None,
+ None,
+ Extensions {
+ relay_chain: "rococo-local".into(), // You MUST set this to the correct network!
+ para_id: CANVAS_PARACHAIN_ID,
+ },
+ )
+}
+
+pub fn canvas_rococo_local_config() -> CanvasKusamaChainSpec {
+ let mut properties = sc_chain_spec::Properties::new();
+ properties.insert("tokenSymbol".into(), "ROC".into());
+ properties.insert("tokenDecimals".into(), 12.into());
+
+ CanvasKusamaChainSpec::from_genesis(
+ // Name
+ "Canvas on Rococo",
+ // ID
+ "canvas-rococo-local",
+ ChainType::Local,
+ move || {
+ canvas_kusama_genesis(
+ // initial collators.
+ vec![
+ (
+ get_account_id_from_seed::("Alice"),
+ get_collator_keys_from_seed::("Alice"),
+ ),
+ (
+ get_account_id_from_seed::("Bob"),
+ get_collator_keys_from_seed::("Bob"),
+ ),
+ ],
+ vec![
+ get_account_id_from_seed::("Alice"),
+ get_account_id_from_seed::("Bob"),
+ get_account_id_from_seed::("Charlie"),
+ get_account_id_from_seed::("Dave"),
+ get_account_id_from_seed::("Eve"),
+ get_account_id_from_seed::("Ferdie"),
+ get_account_id_from_seed::("Alice//stash"),
+ get_account_id_from_seed::("Bob//stash"),
+ get_account_id_from_seed::("Charlie//stash"),
+ get_account_id_from_seed::("Dave//stash"),
+ get_account_id_from_seed::("Eve//stash"),
+ get_account_id_from_seed::("Ferdie//stash"),
+ ],
+ CANVAS_PARACHAIN_ID.into(),
+ )
+ },
+ // Bootnodes
+ Vec::new(),
+ // Telemetry
+ None,
+ // Protocol ID
+ None,
+ // Fork ID
+ None,
+ // Properties
+ Some(properties),
+ // Extensions
+ Extensions {
+ relay_chain: "rococo-local".into(), // You MUST set this to the correct network!
+ para_id: CANVAS_PARACHAIN_ID,
+ },
+ )
+}
+
+pub fn canvas_rococo_config() -> CanvasKusamaChainSpec {
+ // Give your base currency a unit name and decimal places
+ let mut properties = sc_chain_spec::Properties::new();
+ properties.insert("tokenSymbol".into(), "ROC".into());
+ properties.insert("tokenDecimals".into(), 12.into());
+
+ CanvasKusamaChainSpec::from_genesis(
+ // Name
+ "Canvas on Rococo",
+ // ID
+ "canvas-rococo",
+ ChainType::Live,
+ move || {
+ canvas_kusama_genesis(
+ vec![
+ // 5GKFbTTgrVS4Vz1UWWHPqMZQNFWZtqo7H2KpCDyYhEL3aS26
+ (
+ hex!["bc09354c12c054c8f6b3da208485eacec4ac648bad348895273b37bab5a0937c"]
+ .into(),
+ hex!["bc09354c12c054c8f6b3da208485eacec4ac648bad348895273b37bab5a0937c"]
+ .unchecked_into(),
+ ),
+ // 5EPRJHm2GpABVWcwnAujcrhnrjFZyDGd5TwKFzkBoGgdRyv2
+ (
+ hex!["66be63b7bcbfb91040e5248e2d1ceb822cf219c57848c5924ffa3a1f8e67ba72"]
+ .into(),
+ hex!["66be63b7bcbfb91040e5248e2d1ceb822cf219c57848c5924ffa3a1f8e67ba72"]
+ .unchecked_into(),
+ ),
+ // 5GH62vrJrVZxLREcHzm2PR5uTLAT5RQMJitoztCGyaP4o3uM
+ (
+ hex!["ba62886472a0a9f66b5e39f1469ce1c5b3d8cad6be39078daf16f111e89d1e44"]
+ .into(),
+ hex!["ba62886472a0a9f66b5e39f1469ce1c5b3d8cad6be39078daf16f111e89d1e44"]
+ .unchecked_into(),
+ ),
+ // 5FHfoJDLdjRYX5KXLRqMDYBbWrwHLMtti21uK4QByUoUAbJF
+ (
+ hex!["8e97f65cda001976311df9bed39e8d0c956089093e94a75ef76fe9347a0eda7b"]
+ .into(),
+ hex!["8e97f65cda001976311df9bed39e8d0c956089093e94a75ef76fe9347a0eda7b"]
+ .unchecked_into(),
+ ),
+ ],
+ // Warning: The configuration for a production chain should not contain
+ // any endowed accounts here, otherwise it'll be minting extra native tokens
+ // from the relay chain on the parachain.
+ vec![
+ // NOTE: Remove endowed accounts if deployed on other relay chains.
+ // Endowed accounts
+ hex!["baa78c7154c7f82d6d377177e20bcab65d327eca0086513f9964f5a0f6bdad56"].into(),
+ // AccountId of an account which `ink-waterfall` uses for automated testing
+ hex!["0e47e2344d523c3cc5c34394b0d58b9a4200e813a038e6c5a6163cc07d70b069"].into(),
+ ],
+ CANVAS_PARACHAIN_ID.into(),
+ )
+ },
+ // Bootnodes
+ vec![
+ "/ip4/34.90.191.237/tcp/30333/p2p/12D3KooWKg3Rpxcr9oJ8n6khoxpGKWztCZydtUZk2cojHqnfLrpj"
+ .parse()
+ .expect("MultiaddrWithPeerId"),
+ "/ip4/35.204.68.28/tcp/30333/p2p/12D3KooWPEXYrz8tHU3nDtPoPw4V7ou5dzMEWSTuUj7vaWiYVAVh"
+ .parse()
+ .expect("MultiaddrWithPeerId"),
+ "/ip4/34.90.139.15/tcp/30333/p2p/12D3KooWEVU8AFNary4nP4qEnEcwJaRuy59Wefekzdu9pKbnVEhk"
+ .parse()
+ .expect("MultiaddrWithPeerId"),
+ "/ip4/35.204.99.97/tcp/30333/p2p/12D3KooWP6pV3ZmcXzGDjv8ZMgA6nZxfAKDxSz4VNiLx6vVCQgJX"
+ .parse()
+ .expect("MultiaddrWithPeerId"),
+ ],
+ // Telemetry
+ None,
+ // Protocol ID
+ None,
+ // Fork ID
+ None,
+ // Properties
+ Some(properties),
+ // Extensions
+ Extensions { relay_chain: "rococo".into(), para_id: CANVAS_PARACHAIN_ID },
+ )
+}
+
+fn canvas_kusama_genesis(
+ invulnerables: Vec<(AccountId, AuraId)>,
+ endowed_accounts: Vec,
+ id: ParaId,
+) -> canvas_kusama_runtime::GenesisConfig {
+ canvas_kusama_runtime::GenesisConfig {
+ system: canvas_kusama_runtime::SystemConfig {
+ code: canvas_kusama_runtime::WASM_BINARY
+ .expect("WASM binary was not build, please build it!")
+ .to_vec(),
+ },
+ balances: canvas_kusama_runtime::BalancesConfig {
+ balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect(),
+ },
+ parachain_info: canvas_kusama_runtime::ParachainInfoConfig { parachain_id: id },
+ collator_selection: canvas_kusama_runtime::CollatorSelectionConfig {
+ invulnerables: invulnerables.iter().cloned().map(|(acc, _)| acc).collect(),
+ candidacy_bond: CANVAS_KUSAMA_ED * 16,
+ ..Default::default()
+ },
+ session: canvas_kusama_runtime::SessionConfig {
+ keys: invulnerables
+ .into_iter()
+ .map(|(acc, aura)| {
+ (
+ acc.clone(), // account id
+ acc, // validator id
+ canvas_kusama_runtime::SessionKeys { aura }, // session keys
+ )
+ })
+ .collect(),
+ },
+ // no need to pass anything to aura, in fact it will panic if we do. Session will take care
+ // of this.
+ aura: Default::default(),
+ aura_ext: Default::default(),
+ parachain_system: Default::default(),
+ polkadot_xcm: canvas_kusama_runtime::PolkadotXcmConfig {
+ safe_xcm_version: Some(SAFE_XCM_VERSION),
+ },
+ }
+}
diff --git a/cumulus/polkadot-parachains/src/command.rs b/cumulus/polkadot-parachains/src/command.rs
index 4f0ed19b69..8ebe96a1d5 100644
--- a/cumulus/polkadot-parachains/src/command.rs
+++ b/cumulus/polkadot-parachains/src/command.rs
@@ -18,9 +18,9 @@ use crate::{
chain_spec,
cli::{Cli, RelayChainCli, Subcommand},
service::{
- new_partial, Block, RococoParachainRuntimeExecutor, SeedlingRuntimeExecutor,
- ShellRuntimeExecutor, StatemineRuntimeExecutor, StatemintRuntimeExecutor,
- WestmintRuntimeExecutor,
+ new_partial, Block, CanvasKusamaRuntimeExecutor, RococoParachainRuntimeExecutor,
+ SeedlingRuntimeExecutor, ShellRuntimeExecutor, StatemineRuntimeExecutor,
+ StatemintRuntimeExecutor, WestmintRuntimeExecutor,
},
};
use codec::Encode;
@@ -47,6 +47,7 @@ trait IdentifyChain {
fn is_statemint(&self) -> bool;
fn is_statemine(&self) -> bool;
fn is_westmint(&self) -> bool;
+ fn is_canvas_kusama(&self) -> bool;
}
impl IdentifyChain for dyn sc_service::ChainSpec {
@@ -65,6 +66,10 @@ impl IdentifyChain for dyn sc_service::ChainSpec {
fn is_westmint(&self) -> bool {
self.id().starts_with("westmint")
}
+ fn is_canvas_kusama(&self) -> bool {
+ // we use the same runtime on rococo and kusama
+ self.id().starts_with("canvas-kusama") || self.id().starts_with("canvas-rococo")
+ }
}
impl IdentifyChain for T {
@@ -83,6 +88,9 @@ impl IdentifyChain for T {
fn is_westmint(&self) -> bool {
::is_westmint(self)
}
+ fn is_canvas_kusama(&self) -> bool {
+ ::is_canvas_kusama(self)
+ }
}
fn load_spec(id: &str) -> std::result::Result, String> {
@@ -126,6 +134,10 @@ fn load_spec(id: &str) -> std::result::Result, St
"westmint" => Box::new(chain_spec::ChainSpec::from_json_bytes(
&include_bytes!("../res/westmint.json")[..],
)?),
+ // -- Canvas on Rococo
+ "canvas-rococo-dev" => Box::new(chain_spec::canvas_rococo_development_config()),
+ "canvas-rococo-local" => Box::new(chain_spec::canvas_rococo_local_config()),
+ "canvas-rococo" => Box::new(chain_spec::canvas_rococo_config()),
"" => Box::new(chain_spec::get_chain_spec()),
path => {
let chain_spec = chain_spec::ChainSpec::from_json_file(path.into())?;
@@ -139,6 +151,8 @@ fn load_spec(id: &str) -> std::result::Result, St
Box::new(chain_spec::ShellChainSpec::from_json_file(path.into())?)
} else if chain_spec.is_seedling() {
Box::new(chain_spec::SeedlingChainSpec::from_json_file(path.into())?)
+ } else if chain_spec.is_canvas_kusama() {
+ Box::new(chain_spec::CanvasKusamaChainSpec::from_json_file(path.into())?)
} else {
Box::new(chain_spec)
}
@@ -192,6 +206,8 @@ impl SubstrateCli for Cli {
&shell_runtime::VERSION
} else if chain_spec.is_seedling() {
&seedling_runtime::VERSION
+ } else if chain_spec.is_canvas_kusama() {
+ &canvas_kusama_runtime::VERSION
} else {
&rococo_parachain_runtime::VERSION
}
@@ -296,6 +312,15 @@ macro_rules! construct_async_run {
let task_manager = $components.task_manager;
{ $( $code )* }.map(|v| (v, task_manager))
})
+ } else if runner.config().chain_spec.is_canvas_kusama() {
+ runner.async_run(|$config| {
+ let $components = new_partial::(
+ &$config,
+ crate::service::canvas_kusama_build_import_queue,
+ )?;
+ let task_manager = $components.task_manager;
+ { $( $code )* }.map(|v| (v, task_manager))
+ })
} else {
runner.async_run(|$config| {
let $components = new_partial::<
@@ -542,6 +567,11 @@ pub fn run() -> Result<()> {
.await
.map(|r| r.0)
.map_err(Into::into)
+ } else if config.chain_spec.is_canvas_kusama() {
+ crate::service::start_canvas_kusama_node(config, polkadot_config, id)
+ .await
+ .map(|r| r.0)
+ .map_err(Into::into)
} else {
crate::service::start_rococo_parachain_node(config, polkadot_config, id)
.await
diff --git a/cumulus/polkadot-parachains/src/rpc.rs b/cumulus/polkadot-parachains/src/rpc.rs
index 268dbdfcb3..7b55d75bc5 100644
--- a/cumulus/polkadot-parachains/src/rpc.rs
+++ b/cumulus/polkadot-parachains/src/rpc.rs
@@ -20,6 +20,8 @@
use std::sync::Arc;
+use pallet_contracts_rpc::{Contracts, ContractsApi};
+use parachains_common::{AccountId, Balance, Block, BlockNumber, Hash, Index as Nonce};
use sc_client_api::AuxStore;
pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor};
use sc_transaction_pool_api::TransactionPool;
@@ -27,8 +29,6 @@ use sp_api::ProvideRuntimeApi;
use sp_block_builder::BlockBuilder;
use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};
-use parachains_common::{AccountId, Balance, Block, Index as Nonce};
-
/// A type representing all RPC extensions.
pub type RpcExtension = jsonrpc_core::IoHandler;
@@ -68,3 +68,32 @@ where
io
}
+
+/// Instantiate all RPCs we want at the canvas-kusama chain.
+pub fn create_canvas_kusama(deps: FullDeps) -> RpcExtension
+where
+ C: ProvideRuntimeApi
+ + HeaderBackend
+ + AuxStore
+ + HeaderMetadata
+ + Send
+ + Sync
+ + 'static,
+ C::Api: frame_rpc_system::AccountNonceApi,
+ C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi,
+ C::Api: pallet_contracts_rpc::ContractsRuntimeApi,
+ C::Api: BlockBuilder,
+ P: TransactionPool + Sync + Send + 'static,
+{
+ use frame_rpc_system::{FullSystem, SystemApi};
+ use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi};
+
+ let mut io = jsonrpc_core::IoHandler::default();
+ let FullDeps { client, pool, deny_unsafe } = deps;
+
+ io.extend_with(SystemApi::to_delegate(FullSystem::new(client.clone(), pool, deny_unsafe)));
+ io.extend_with(TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone())));
+ io.extend_with(ContractsApi::to_delegate(Contracts::new(client)));
+
+ io
+}
diff --git a/cumulus/polkadot-parachains/src/service.rs b/cumulus/polkadot-parachains/src/service.rs
index a67b20c11e..f09ddd1f43 100644
--- a/cumulus/polkadot-parachains/src/service.rs
+++ b/cumulus/polkadot-parachains/src/service.rs
@@ -32,7 +32,7 @@ use cumulus_relay_chain_local::build_relay_chain_interface;
use polkadot_service::NativeExecutionDispatch;
use crate::rpc;
-pub use parachains_common::{AccountId, Balance, Block, Hash, Header, Index as Nonce};
+pub use parachains_common::{AccountId, Balance, Block, BlockNumber, Hash, Header, Index as Nonce};
use cumulus_client_consensus_relay_chain::Verifier as RelayChainVerifier;
use futures::lock::Mutex;
@@ -148,6 +148,21 @@ impl sc_executor::NativeExecutionDispatch for WestmintRuntimeExecutor {
}
}
+/// Native Canvas on Kusama executor instance.
+pub struct CanvasKusamaRuntimeExecutor;
+
+impl sc_executor::NativeExecutionDispatch for CanvasKusamaRuntimeExecutor {
+ type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
+
+ fn dispatch(method: &str, data: &[u8]) -> Option> {
+ canvas_kusama_runtime::api::dispatch(method, data)
+ }
+
+ fn native_version() -> sc_executor::NativeVersion {
+ canvas_kusama_runtime::native_version()
+ }
+}
+
/// Starts a `ServiceBuilder` for a full service.
///
/// Use this macro if you don't actually need the full service, but just the builder in order to
@@ -1252,3 +1267,341 @@ where
)
.await
}
+
+#[sc_tracing::logging::prefix_logs_with("Parachain")]
+async fn start_canvas_kusama_node_impl(
+ parachain_config: Configuration,
+ polkadot_config: Configuration,
+ id: ParaId,
+ _rpc_ext_builder: RB,
+ build_import_queue: BIQ,
+ build_consensus: BIC,
+) -> sc_service::error::Result<(
+ TaskManager,
+ Arc>>,
+)>
+where
+ RuntimeApi: ConstructRuntimeApi>>
+ + Send
+ + Sync
+ + 'static,
+ RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue
+ + sp_api::Metadata
+ + sp_session::SessionKeys
+ + sp_api::ApiExt<
+ Block,
+ StateBackend = sc_client_api::StateBackendFor, Block>,
+ > + sp_offchain::OffchainWorkerApi
+ + sp_block_builder::BlockBuilder
+ + cumulus_primitives_core::CollectCollationInfo
+ + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi
+ + frame_rpc_system::AccountNonceApi
+ + pallet_contracts_rpc::ContractsRuntimeApi,
+ sc_client_api::StateBackendFor, Block>: sp_api::StateBackend,
+ Executor: sc_executor::NativeExecutionDispatch + 'static,
+ RB: Fn(
+ Arc>,
+ ) -> Result, sc_service::Error>
+ + Send
+ + 'static,
+ BIQ: FnOnce(
+ Arc>>,
+ &Configuration,
+ Option,
+ &TaskManager,
+ ) -> Result<
+ sc_consensus::DefaultImportQueue<
+ Block,
+ TFullClient>,
+ >,
+ sc_service::Error,
+ > + 'static,
+ BIC: FnOnce(
+ Arc>>,
+ Option<&Registry>,
+ Option,
+ &TaskManager,
+ Arc,
+ Arc<
+ sc_transaction_pool::FullPool<
+ Block,
+ TFullClient>,
+ >,
+ >,
+ Arc>,
+ SyncCryptoStorePtr,
+ bool,
+ ) -> Result>, sc_service::Error>,
+{
+ if matches!(parachain_config.role, Role::Light) {
+ return Err("Light client not supported!".into())
+ }
+
+ let parachain_config = prepare_node_config(parachain_config);
+
+ let params = new_partial::(¶chain_config, build_import_queue)?;
+ let (mut telemetry, telemetry_worker_handle) = params.other;
+
+ let client = params.client.clone();
+ let backend = params.backend.clone();
+ let mut task_manager = params.task_manager;
+
+ let (relay_chain_interface, collator_key) =
+ build_relay_chain_interface(polkadot_config, telemetry_worker_handle, &mut task_manager)
+ .map_err(|e| match e {
+ polkadot_service::Error::Sub(x) => x,
+ s => format!("{}", s).into(),
+ })?;
+
+ let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id);
+
+ let force_authoring = parachain_config.force_authoring;
+ let validator = parachain_config.role.is_authority();
+ let prometheus_registry = parachain_config.prometheus_registry().cloned();
+ let transaction_pool = params.transaction_pool.clone();
+ let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);
+ let (network, system_rpc_tx, start_network) =
+ sc_service::build_network(sc_service::BuildNetworkParams {
+ config: ¶chain_config,
+ client: client.clone(),
+ transaction_pool: transaction_pool.clone(),
+ spawn_handle: task_manager.spawn_handle(),
+ import_queue: import_queue.clone(),
+ block_announce_validator_builder: Some(Box::new(|_| {
+ Box::new(block_announce_validator)
+ })),
+ warp_sync: None,
+ })?;
+
+ let rpc_extensions_builder = {
+ let client = client.clone();
+ let transaction_pool = transaction_pool.clone();
+
+ Box::new(move |deny_unsafe, _| {
+ let deps = crate::rpc::FullDeps {
+ client: client.clone(),
+ pool: transaction_pool.clone(),
+ deny_unsafe,
+ };
+
+ Ok(crate::rpc::create_canvas_kusama(deps))
+ })
+ };
+
+ sc_service::spawn_tasks(sc_service::SpawnTasksParams {
+ rpc_extensions_builder,
+ client: client.clone(),
+ transaction_pool: transaction_pool.clone(),
+ task_manager: &mut task_manager,
+ config: parachain_config,
+ keystore: params.keystore_container.sync_keystore(),
+ backend: backend.clone(),
+ network: network.clone(),
+ system_rpc_tx,
+ telemetry: telemetry.as_mut(),
+ })?;
+
+ let announce_block = {
+ let network = network.clone();
+ Arc::new(move |hash, data| network.announce_block(hash, data))
+ };
+
+ let relay_chain_slot_duration = Duration::from_secs(6);
+
+ if validator {
+ let parachain_consensus = build_consensus(
+ client.clone(),
+ prometheus_registry.as_ref(),
+ telemetry.as_ref().map(|t| t.handle()),
+ &task_manager,
+ relay_chain_interface.clone(),
+ transaction_pool,
+ network,
+ params.keystore_container.sync_keystore(),
+ force_authoring,
+ )?;
+
+ let spawner = task_manager.spawn_handle();
+
+ let params = StartCollatorParams {
+ para_id: id,
+ block_status: client.clone(),
+ announce_block,
+ client: client.clone(),
+ task_manager: &mut task_manager,
+ relay_chain_interface,
+ spawner,
+ parachain_consensus,
+ import_queue,
+ collator_key,
+ relay_chain_slot_duration,
+ };
+
+ start_collator(params).await?;
+ } else {
+ let params = StartFullNodeParams {
+ client: client.clone(),
+ announce_block,
+ task_manager: &mut task_manager,
+ para_id: id,
+ relay_chain_interface,
+ relay_chain_slot_duration,
+ import_queue,
+ };
+
+ start_full_node(params)?;
+ }
+
+ start_network.start_network();
+
+ Ok((task_manager, client))
+}
+
+#[allow(clippy::type_complexity)]
+pub fn canvas_kusama_build_import_queue(
+ client: Arc<
+ TFullClient<
+ Block,
+ canvas_kusama_runtime::RuntimeApi,
+ NativeElseWasmExecutor,
+ >,
+ >,
+ config: &Configuration,
+ telemetry: Option,
+ task_manager: &TaskManager,
+) -> Result<
+ sc_consensus::DefaultImportQueue<
+ Block,
+ TFullClient<
+ Block,
+ canvas_kusama_runtime::RuntimeApi,
+ NativeElseWasmExecutor,
+ >,
+ >,
+ sc_service::Error,
+> {
+ let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
+
+ cumulus_client_consensus_aura::import_queue::<
+ sp_consensus_aura::sr25519::AuthorityPair,
+ _,
+ _,
+ _,
+ _,
+ _,
+ _,
+ >(cumulus_client_consensus_aura::ImportQueueParams {
+ block_import: client.clone(),
+ client: client.clone(),
+ create_inherent_data_providers: move |_, _| async move {
+ let time = sp_timestamp::InherentDataProvider::from_system_time();
+
+ let slot =
+ sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+ *time,
+ slot_duration.slot_duration(),
+ );
+
+ Ok((time, slot))
+ },
+ registry: config.prometheus_registry(),
+ can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),
+ spawner: &task_manager.spawn_essential_handle(),
+ telemetry,
+ })
+ .map_err(Into::into)
+}
+
+/// Start a parachain node.
+pub async fn start_canvas_kusama_node(
+ parachain_config: Configuration,
+ polkadot_config: Configuration,
+ id: ParaId,
+) -> sc_service::error::Result<(
+ TaskManager,
+ Arc<
+ TFullClient<
+ Block,
+ canvas_kusama_runtime::RuntimeApi,
+ NativeElseWasmExecutor,
+ >,
+ >,
+)> {
+ start_canvas_kusama_node_impl::<
+ canvas_kusama_runtime::RuntimeApi,
+ CanvasKusamaRuntimeExecutor,
+ _,
+ _,
+ _,
+ >(
+ parachain_config,
+ polkadot_config,
+ id,
+ |_| Ok(Default::default()),
+ canvas_kusama_build_import_queue,
+ |client,
+ prometheus_registry,
+ telemetry,
+ task_manager,
+ relay_chain_interface,
+ transaction_pool,
+ sync_oracle,
+ keystore,
+ force_authoring| {
+ let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
+
+ let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording(
+ task_manager.spawn_handle(),
+ client.clone(),
+ transaction_pool,
+ prometheus_registry,
+ telemetry.clone(),
+ );
+
+ Ok(AuraConsensus::build::(
+ BuildAuraConsensusParams {
+ proposer_factory,
+ create_inherent_data_providers: move |_, (relay_parent, validation_data)| {
+ let relay_chain_interface = relay_chain_interface.clone();
+ async move {
+ let parachain_inherent =
+ cumulus_primitives_parachain_inherent::ParachainInherentData::create_at(
+ relay_parent,
+ &relay_chain_interface,
+ &validation_data,
+ id,
+ ).await;
+ let time = sp_timestamp::InherentDataProvider::from_system_time();
+
+ let slot =
+ sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+ *time,
+ slot_duration.slot_duration(),
+ );
+
+ let parachain_inherent = parachain_inherent.ok_or_else(|| {
+ Box::::from(
+ "Failed to create parachain inherent",
+ )
+ })?;
+ Ok((time, slot, parachain_inherent))
+ }
+ },
+ block_import: client.clone(),
+ para_client: client,
+ backoff_authoring_blocks: Option::<()>::None,
+ sync_oracle,
+ keystore,
+ force_authoring,
+ slot_duration,
+ // We got around 500ms for proposing
+ block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32),
+ // And a maximum of 750ms if slots are skipped
+ max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)),
+ telemetry,
+ },
+ ))
+ },
+ )
+ .await
+}