diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d6a2644b00f..3c5b4aa6fbe 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -121,7 +121,7 @@ check:
<<: *docker-env
<<: *test-refs
script: &check-script
- - SKIP_WASM_BUILD=1 time cargo check --locked --verbose --workspace --features runtime-benchmarks
+ - SKIP_WASM_BUILD=1 time cargo check --locked --verbose --workspace
check-nightly:
stage: test
@@ -142,7 +142,7 @@ test:
# Enable this, when you see: "`cargo metadata` can not fail on project `Cargo.toml`"
#- time cargo fetch --manifest-path=`cargo metadata --format-version=1 | jq --compact-output --raw-output ".packages[] | select(.name == \"polkadot-runtime\").manifest_path"`
#- time cargo fetch --manifest-path=`cargo metadata --format-version=1 | jq --compact-output --raw-output ".packages[] | select(.name == \"kusama-runtime\").manifest_path"`
- - CARGO_NET_OFFLINE=true SKIP_WASM_BUILD=1 time cargo test --verbose --workspace --features runtime-benchmarks
+ - CARGO_NET_OFFLINE=true SKIP_WASM_BUILD=1 time cargo test --verbose --workspace
test-nightly:
stage: test
diff --git a/Cargo.lock b/Cargo.lock
index e1d46834cf3..3097d742213 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -936,15 +936,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "binary-merkle-tree"
-version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
-dependencies = [
- "hash-db",
- "log",
-]
-
[[package]]
name = "bincode"
version = "1.3.3"
@@ -1122,46 +1113,10 @@ dependencies = [
"serde",
]
-[[package]]
-name = "bp-asset-hub-rococo"
-version = "0.4.0"
-dependencies = [
- "bp-xcm-bridge-hub-router",
- "frame-support",
- "parity-scale-codec",
- "scale-info",
-]
-
-[[package]]
-name = "bp-asset-hub-westend"
-version = "0.3.0"
-dependencies = [
- "bp-xcm-bridge-hub-router",
- "frame-support",
- "parity-scale-codec",
- "scale-info",
-]
-
-[[package]]
-name = "bp-beefy"
-version = "0.1.0"
-dependencies = [
- "binary-merkle-tree",
- "bp-runtime",
- "frame-support",
- "pallet-beefy-mmr",
- "pallet-mmr",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-consensus-beefy",
- "sp-runtime",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
-]
-
[[package]]
name = "bp-bridge-hub-cumulus"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-messages",
"bp-polkadot-core",
@@ -1176,6 +1131,7 @@ dependencies = [
[[package]]
name = "bp-bridge-hub-kusama"
version = "0.6.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
@@ -1189,6 +1145,7 @@ dependencies = [
[[package]]
name = "bp-bridge-hub-polkadot"
version = "0.6.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
@@ -1202,6 +1159,7 @@ dependencies = [
[[package]]
name = "bp-bridge-hub-rococo"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
@@ -1215,6 +1173,7 @@ dependencies = [
[[package]]
name = "bp-bridge-hub-westend"
version = "0.3.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-bridge-hub-cumulus",
"bp-messages",
@@ -1228,13 +1187,11 @@ dependencies = [
[[package]]
name = "bp-header-chain"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-runtime",
- "bp-test-utils",
"finality-grandpa",
"frame-support",
- "hex",
- "hex-literal",
"parity-scale-codec",
"scale-info",
"serde",
@@ -1247,6 +1204,7 @@ dependencies = [
[[package]]
name = "bp-kusama"
version = "0.5.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-polkadot-core",
@@ -1259,12 +1217,11 @@ dependencies = [
[[package]]
name = "bp-messages"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-runtime",
"frame-support",
- "hex",
- "hex-literal",
"parity-scale-codec",
"scale-info",
"serde",
@@ -1275,6 +1232,7 @@ dependencies = [
[[package]]
name = "bp-parachains"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-polkadot-core",
@@ -1291,6 +1249,7 @@ dependencies = [
[[package]]
name = "bp-polkadot"
version = "0.5.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-polkadot-core",
@@ -1303,6 +1262,7 @@ dependencies = [
[[package]]
name = "bp-polkadot-bulletin"
version = "0.4.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-messages",
@@ -1320,12 +1280,12 @@ dependencies = [
[[package]]
name = "bp-polkadot-core"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-messages",
"bp-runtime",
"frame-support",
"frame-system",
- "hex",
"parity-scale-codec",
"parity-util-mem",
"scale-info",
@@ -1338,12 +1298,11 @@ dependencies = [
[[package]]
name = "bp-relayers"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-messages",
"bp-runtime",
"frame-support",
- "hex",
- "hex-literal",
"parity-scale-codec",
"scale-info",
"sp-runtime",
@@ -1353,6 +1312,7 @@ dependencies = [
[[package]]
name = "bp-rococo"
version = "0.6.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-polkadot-core",
@@ -1365,11 +1325,11 @@ dependencies = [
[[package]]
name = "bp-runtime"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-support",
"frame-system",
"hash-db",
- "hex-literal",
"impl-trait-for-tuples",
"log",
"num-traits",
@@ -1388,6 +1348,7 @@ dependencies = [
[[package]]
name = "bp-test-utils"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-parachains",
@@ -1407,6 +1368,7 @@ dependencies = [
[[package]]
name = "bp-westend"
version = "0.3.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-polkadot-core",
@@ -1419,6 +1381,7 @@ dependencies = [
[[package]]
name = "bp-xcm-bridge-hub"
version = "0.2.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
]
@@ -1426,6 +1389,7 @@ dependencies = [
[[package]]
name = "bp-xcm-bridge-hub-router"
version = "0.6.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -1436,6 +1400,7 @@ dependencies = [
[[package]]
name = "bridge-runtime-common"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-messages",
@@ -1443,14 +1408,12 @@ dependencies = [
"bp-polkadot-core",
"bp-relayers",
"bp-runtime",
- "bp-test-utils",
"bp-xcm-bridge-hub",
"bp-xcm-bridge-hub-router",
"frame-support",
"frame-system",
"hash-db",
"log",
- "pallet-balances",
"pallet-bridge-grandpa",
"pallet-bridge-messages",
"pallet-bridge-parachains",
@@ -1467,7 +1430,6 @@ dependencies = [
"sp-trie",
"staging-xcm",
"staging-xcm-builder",
- "static_assertions",
]
[[package]]
@@ -1656,15 +1618,6 @@ dependencies = [
"zeroize",
]
-[[package]]
-name = "ckb-merkle-mountain-range"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ccb671c5921be8a84686e6212ca184cb1d7c51cadcdbfcbd1cc3f042f5dfb8"
-dependencies = [
- "cfg-if",
-]
-
[[package]]
name = "clap"
version = "2.34.0"
@@ -2637,6 +2590,7 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "equivocation-detector"
version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-std",
"async-trait",
@@ -2838,6 +2792,7 @@ dependencies = [
[[package]]
name = "finality-relay"
version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-std",
"async-trait",
@@ -2846,7 +2801,6 @@ dependencies = [
"futures",
"log",
"num-traits",
- "parking_lot 0.12.1",
"relay-utils",
]
@@ -2927,7 +2881,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa"
[[package]]
name = "frame-benchmarking"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-support",
"frame-support-procedural",
@@ -2975,7 +2929,7 @@ dependencies = [
[[package]]
name = "frame-support"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"aquamarine",
"array-bytes 6.2.2",
@@ -3016,7 +2970,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural"
version = "23.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"Inflector",
"cfg-expr",
@@ -3035,7 +2989,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools"
version = "10.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate 3.1.0",
@@ -3047,7 +3001,7 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools-derive"
version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
@@ -3057,7 +3011,7 @@ dependencies = [
[[package]]
name = "frame-system"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"cfg-if",
"docify",
@@ -4966,6 +4920,7 @@ dependencies = [
[[package]]
name = "messages-relay"
version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-std",
"async-trait",
@@ -5529,7 +5484,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "pallet-authorship"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-support",
"frame-system",
@@ -5543,7 +5498,7 @@ dependencies = [
[[package]]
name = "pallet-balances"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"docify",
"frame-benchmarking",
@@ -5556,78 +5511,10 @@ dependencies = [
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
]
-[[package]]
-name = "pallet-beefy"
-version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
-dependencies = [
- "frame-support",
- "frame-system",
- "log",
- "pallet-authorship",
- "pallet-session",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-consensus-beefy",
- "sp-runtime",
- "sp-session",
- "sp-staking",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
-]
-
-[[package]]
-name = "pallet-beefy-mmr"
-version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
-dependencies = [
- "array-bytes 6.2.2",
- "binary-merkle-tree",
- "frame-support",
- "frame-system",
- "log",
- "pallet-beefy",
- "pallet-mmr",
- "pallet-session",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-api",
- "sp-consensus-beefy",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
-]
-
-[[package]]
-name = "pallet-bridge-beefy"
-version = "0.1.0"
-dependencies = [
- "bp-beefy",
- "bp-runtime",
- "bp-test-utils",
- "ckb-merkle-mountain-range",
- "frame-support",
- "frame-system",
- "log",
- "pallet-beefy-mmr",
- "pallet-mmr",
- "parity-scale-codec",
- "rand 0.8.5",
- "scale-info",
- "serde",
- "sp-consensus-beefy",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
-]
-
[[package]]
name = "pallet-bridge-grandpa"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-runtime",
@@ -5640,8 +5527,6 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"sp-consensus-grandpa",
- "sp-core",
- "sp-io",
"sp-runtime",
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
"sp-trie",
@@ -5650,19 +5535,17 @@ dependencies = [
[[package]]
name = "pallet-bridge-messages"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-messages",
"bp-runtime",
- "bp-test-utils",
"frame-benchmarking",
"frame-support",
"frame-system",
"log",
"num-traits",
- "pallet-balances",
"parity-scale-codec",
"scale-info",
- "sp-io",
"sp-runtime",
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
]
@@ -5670,12 +5553,12 @@ dependencies = [
[[package]]
name = "pallet-bridge-parachains"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-header-chain",
"bp-parachains",
"bp-polkadot-core",
"bp-runtime",
- "bp-test-utils",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -5683,8 +5566,6 @@ dependencies = [
"pallet-bridge-grandpa",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
"sp-runtime",
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
"sp-trie",
@@ -5693,6 +5574,7 @@ dependencies = [
[[package]]
name = "pallet-bridge-relayers"
version = "0.7.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bp-messages",
"bp-relayers",
@@ -5701,12 +5583,10 @@ dependencies = [
"frame-support",
"frame-system",
"log",
- "pallet-balances",
"pallet-bridge-messages",
"parity-scale-codec",
"scale-info",
"sp-arithmetic",
- "sp-io",
"sp-runtime",
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
]
@@ -5714,7 +5594,7 @@ dependencies = [
[[package]]
name = "pallet-grandpa"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5734,28 +5614,10 @@ dependencies = [
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
]
-[[package]]
-name = "pallet-mmr"
-version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
-dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "log",
- "parity-scale-codec",
- "scale-info",
- "sp-core",
- "sp-io",
- "sp-mmr-primitives",
- "sp-runtime",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
-]
-
[[package]]
name = "pallet-session"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-support",
"frame-system",
@@ -5777,7 +5639,7 @@ dependencies = [
[[package]]
name = "pallet-timestamp"
version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"docify",
"frame-benchmarking",
@@ -5797,7 +5659,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-support",
"frame-system",
@@ -5813,7 +5675,7 @@ dependencies = [
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -5825,7 +5687,7 @@ dependencies = [
[[package]]
name = "pallet-utility"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5838,63 +5700,18 @@ dependencies = [
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
]
-[[package]]
-name = "pallet-xcm-bridge-hub"
-version = "0.2.0"
-dependencies = [
- "bp-header-chain",
- "bp-messages",
- "bp-runtime",
- "bp-xcm-bridge-hub",
- "bridge-runtime-common",
- "frame-support",
- "frame-system",
- "log",
- "pallet-balances",
- "pallet-bridge-messages",
- "parity-scale-codec",
- "scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
-]
-
-[[package]]
-name = "pallet-xcm-bridge-hub-router"
-version = "0.5.0"
-dependencies = [
- "bp-xcm-bridge-hub-router",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "log",
- "parity-scale-codec",
- "scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
- "staging-xcm",
- "staging-xcm-builder",
-]
-
[[package]]
name = "parachains-relay"
version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-std",
"async-trait",
"bp-polkadot-core",
"futures",
"log",
- "parity-scale-codec",
"relay-substrate-client",
"relay-utils",
- "sp-core",
]
[[package]]
@@ -5905,7 +5722,7 @@ checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9"
dependencies = [
"bitcoin_hashes 0.13.0",
"rand 0.8.5",
- "rand_core 0.5.1",
+ "rand_core 0.6.4",
"serde",
"unicode-normalization",
]
@@ -6164,7 +5981,7 @@ checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7"
[[package]]
name = "polkadot-core-primitives"
version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -6176,7 +5993,7 @@ dependencies = [
[[package]]
name = "polkadot-parachain-primitives"
version = "6.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bounded-collections",
"derive_more",
@@ -6193,7 +6010,7 @@ dependencies = [
[[package]]
name = "polkadot-primitives"
version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bitvec",
"hex-literal",
@@ -7117,6 +6934,7 @@ dependencies = [
[[package]]
name = "relay-substrate-client"
version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-std",
"async-trait",
@@ -7158,6 +6976,7 @@ dependencies = [
[[package]]
name = "relay-utils"
version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"ansi_term",
"anyhow",
@@ -7537,7 +7356,7 @@ dependencies = [
[[package]]
name = "sc-allocator"
version = "23.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"log",
"sp-core",
@@ -7548,7 +7367,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"array-bytes 6.2.2",
"docify",
@@ -7575,7 +7394,7 @@ dependencies = [
[[package]]
name = "sc-chain-spec-derive"
version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"proc-macro-crate 3.1.0",
"proc-macro2 1.0.79",
@@ -7586,7 +7405,7 @@ dependencies = [
[[package]]
name = "sc-client-api"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"fnv",
"futures",
@@ -7613,7 +7432,7 @@ dependencies = [
[[package]]
name = "sc-consensus"
version = "0.33.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-trait",
"futures",
@@ -7638,7 +7457,7 @@ dependencies = [
[[package]]
name = "sc-executor"
version = "0.32.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"parking_lot 0.12.1",
@@ -7661,7 +7480,7 @@ dependencies = [
[[package]]
name = "sc-executor-common"
version = "0.29.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"polkavm",
"sc-allocator",
@@ -7674,7 +7493,7 @@ dependencies = [
[[package]]
name = "sc-executor-polkavm"
version = "0.29.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"log",
"polkavm",
@@ -7685,7 +7504,7 @@ dependencies = [
[[package]]
name = "sc-executor-wasmtime"
version = "0.29.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"anyhow",
"cfg-if",
@@ -7703,7 +7522,7 @@ dependencies = [
[[package]]
name = "sc-mixnet"
version = "0.4.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"array-bytes 4.2.0",
"arrayvec 0.7.4",
@@ -7732,7 +7551,7 @@ dependencies = [
[[package]]
name = "sc-network"
version = "0.34.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"array-bytes 6.2.2",
"async-channel 1.9.0",
@@ -7783,7 +7602,7 @@ dependencies = [
[[package]]
name = "sc-network-common"
version = "0.33.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-trait",
"bitflags 1.3.2",
@@ -7801,7 +7620,7 @@ dependencies = [
[[package]]
name = "sc-network-types"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bs58 0.4.0",
"libp2p-identity",
@@ -7815,7 +7634,7 @@ dependencies = [
[[package]]
name = "sc-rpc-api"
version = "0.33.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"jsonrpsee 0.22.4",
"parity-scale-codec",
@@ -7835,7 +7654,7 @@ dependencies = [
[[package]]
name = "sc-telemetry"
version = "15.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"chrono",
"futures",
@@ -7855,7 +7674,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool-api"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-trait",
"futures",
@@ -7871,7 +7690,7 @@ dependencies = [
[[package]]
name = "sc-utils"
version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-channel 1.9.0",
"futures",
@@ -8569,7 +8388,7 @@ dependencies = [
[[package]]
name = "sp-api"
version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"hash-db",
"log",
@@ -8591,7 +8410,7 @@ dependencies = [
[[package]]
name = "sp-api-proc-macro"
version = "15.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"Inflector",
"blake2 0.10.6",
@@ -8605,7 +8424,7 @@ dependencies = [
[[package]]
name = "sp-application-crypto"
version = "30.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -8618,7 +8437,7 @@ dependencies = [
[[package]]
name = "sp-arithmetic"
version = "23.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"docify",
"integer-sqrt",
@@ -8651,7 +8470,7 @@ dependencies = [
[[package]]
name = "sp-authority-discovery"
version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -8663,7 +8482,7 @@ dependencies = [
[[package]]
name = "sp-blockchain"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"futures",
"log",
@@ -8681,7 +8500,7 @@ dependencies = [
[[package]]
name = "sp-consensus"
version = "0.32.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-trait",
"futures",
@@ -8693,30 +8512,10 @@ dependencies = [
"thiserror",
]
-[[package]]
-name = "sp-consensus-beefy"
-version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
-dependencies = [
- "lazy_static",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-crypto-hashing",
- "sp-io",
- "sp-keystore",
- "sp-mmr-primitives",
- "sp-runtime",
- "strum",
-]
-
[[package]]
name = "sp-consensus-grandpa"
version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"finality-grandpa",
"log",
@@ -8733,7 +8532,7 @@ dependencies = [
[[package]]
name = "sp-consensus-slots"
version = "0.32.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -8744,7 +8543,7 @@ dependencies = [
[[package]]
name = "sp-core"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"array-bytes 6.2.2",
"bandersnatch_vrfs",
@@ -8806,7 +8605,7 @@ dependencies = [
[[package]]
name = "sp-crypto-ec-utils"
version = "0.10.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"ark-bls12-377",
"ark-bls12-377-ext",
@@ -8826,7 +8625,7 @@ dependencies = [
[[package]]
name = "sp-crypto-hashing"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"blake2b_simd",
"byteorder",
@@ -8839,7 +8638,7 @@ dependencies = [
[[package]]
name = "sp-crypto-hashing-proc-macro"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"quote 1.0.35",
"sp-crypto-hashing",
@@ -8849,7 +8648,7 @@ dependencies = [
[[package]]
name = "sp-database"
version = "10.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"kvdb",
"parking_lot 0.12.1",
@@ -8858,7 +8657,7 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
@@ -8868,7 +8667,7 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
@@ -8878,7 +8677,7 @@ dependencies = [
[[package]]
name = "sp-externalities"
version = "0.25.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -8888,7 +8687,7 @@ dependencies = [
[[package]]
name = "sp-externalities"
version = "0.25.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -8898,7 +8697,7 @@ dependencies = [
[[package]]
name = "sp-genesis-builder"
version = "0.8.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -8910,7 +8709,7 @@ dependencies = [
[[package]]
name = "sp-inherents"
version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -8923,7 +8722,7 @@ dependencies = [
[[package]]
name = "sp-io"
version = "30.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bytes",
"ed25519-dalek 2.1.1",
@@ -8949,7 +8748,7 @@ dependencies = [
[[package]]
name = "sp-keyring"
version = "31.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"sp-core",
"sp-runtime",
@@ -8959,7 +8758,7 @@ dependencies = [
[[package]]
name = "sp-keystore"
version = "0.34.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"parking_lot 0.12.1",
@@ -8970,7 +8769,7 @@ dependencies = [
[[package]]
name = "sp-maybe-compressed-blob"
version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"thiserror",
"zstd 0.12.4",
@@ -8979,7 +8778,7 @@ dependencies = [
[[package]]
name = "sp-metadata-ir"
version = "0.6.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-metadata 16.0.0",
"parity-scale-codec",
@@ -8989,7 +8788,7 @@ dependencies = [
[[package]]
name = "sp-mixnet"
version = "0.4.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -8997,27 +8796,10 @@ dependencies = [
"sp-application-crypto",
]
-[[package]]
-name = "sp-mmr-primitives"
-version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
-dependencies = [
- "ckb-merkle-mountain-range",
- "log",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-api",
- "sp-core",
- "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=master)",
- "sp-runtime",
- "thiserror",
-]
-
[[package]]
name = "sp-panic-handler"
version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"backtrace",
"lazy_static",
@@ -9027,7 +8809,7 @@ dependencies = [
[[package]]
name = "sp-rpc"
version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"rustc-hash",
"serde",
@@ -9037,7 +8819,7 @@ dependencies = [
[[package]]
name = "sp-runtime"
version = "31.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"docify",
"either",
@@ -9061,7 +8843,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
version = "24.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bytes",
"impl-trait-for-tuples",
@@ -9080,7 +8862,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
version = "24.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bytes",
"impl-trait-for-tuples",
@@ -9099,7 +8881,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"Inflector",
"expander",
@@ -9112,7 +8894,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"Inflector",
"expander",
@@ -9125,7 +8907,7 @@ dependencies = [
[[package]]
name = "sp-session"
version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -9139,7 +8921,7 @@ dependencies = [
[[package]]
name = "sp-staking"
version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -9152,7 +8934,7 @@ dependencies = [
[[package]]
name = "sp-state-machine"
version = "0.35.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"hash-db",
"log",
@@ -9172,7 +8954,7 @@ dependencies = [
[[package]]
name = "sp-statement-store"
version = "10.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"aes-gcm",
"curve25519-dalek 4.1.1",
@@ -9202,17 +8984,17 @@ checksum = "53458e3c57df53698b3401ec0934bea8e8cfce034816873c0b0abbd83d7bac0d"
[[package]]
name = "sp-std"
version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
[[package]]
name = "sp-std"
version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
[[package]]
name = "sp-storage"
version = "19.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -9224,7 +9006,7 @@ dependencies = [
[[package]]
name = "sp-storage"
version = "19.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -9236,7 +9018,7 @@ dependencies = [
[[package]]
name = "sp-timestamp"
version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -9248,7 +9030,7 @@ dependencies = [
[[package]]
name = "sp-tracing"
version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"tracing",
@@ -9259,7 +9041,7 @@ dependencies = [
[[package]]
name = "sp-tracing"
version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"tracing",
@@ -9270,7 +9052,7 @@ dependencies = [
[[package]]
name = "sp-trie"
version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"ahash 0.8.11",
"hash-db",
@@ -9293,7 +9075,7 @@ dependencies = [
[[package]]
name = "sp-version"
version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -9310,7 +9092,7 @@ dependencies = [
[[package]]
name = "sp-version-proc-macro"
version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"parity-scale-codec",
"proc-macro2 1.0.79",
@@ -9321,7 +9103,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
version = "20.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"anyhow",
"impl-trait-for-tuples",
@@ -9333,7 +9115,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
version = "20.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"impl-trait-for-tuples",
"log",
@@ -9343,7 +9125,7 @@ dependencies = [
[[package]]
name = "sp-weights"
version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"bounded-collections",
"parity-scale-codec",
@@ -9400,7 +9182,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "staging-xcm"
version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"array-bytes 6.2.2",
"bounded-collections",
@@ -9418,7 +9200,7 @@ dependencies = [
[[package]]
name = "staging-xcm-builder"
version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"frame-support",
"frame-system",
@@ -9440,7 +9222,7 @@ dependencies = [
[[package]]
name = "staging-xcm-executor"
version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"environmental",
"frame-benchmarking",
@@ -9545,7 +9327,7 @@ dependencies = [
[[package]]
name = "substrate-bip39"
version = "0.4.7"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"hmac 0.12.1",
"pbkdf2",
@@ -9557,7 +9339,7 @@ dependencies = [
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.17.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"hyper",
"log",
@@ -9623,6 +9405,7 @@ dependencies = [
[[package]]
name = "substrate-relay-helper"
version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"anyhow",
"async-std",
@@ -9649,7 +9432,6 @@ dependencies = [
"pallet-bridge-messages",
"pallet-bridge-parachains",
"pallet-grandpa",
- "pallet-transaction-payment",
"parachains-relay",
"parity-scale-codec",
"rbtag",
@@ -11416,7 +11198,7 @@ dependencies = [
[[package]]
name = "xcm-procedural"
version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#74a42cebc1a9fd4e4a7713d5e41caba77a0fa172"
+source = "git+https://github.com/paritytech/polkadot-sdk?branch=master#92e142555d45f97aa88d241665d9952d12f4ae40"
dependencies = [
"Inflector",
"proc-macro2 1.0.79",
diff --git a/Cargo.toml b/Cargo.toml
index d79967875c4..2666706d369 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -7,36 +7,6 @@ license = "GPL-3.0-only"
[workspace]
resolver = "2"
members = [
- "bin/runtime-common",
- "chains/chain-asset-hub-rococo",
- "chains/chain-asset-hub-westend",
- "chains/chain-bridge-hub-cumulus",
- "chains/chain-bridge-hub-kusama",
- "chains/chain-bridge-hub-polkadot",
- "chains/chain-bridge-hub-rococo",
- "chains/chain-bridge-hub-westend",
- "chains/chain-kusama",
- "chains/chain-polkadot",
- "chains/chain-polkadot-bulletin",
- "chains/chain-rococo",
- "chains/chain-westend",
- "modules/beefy",
- "modules/grandpa",
- "modules/messages",
- "modules/parachains",
- "modules/relayers",
- "modules/xcm-bridge-hub",
- "modules/xcm-bridge-hub-router",
- "primitives/beefy",
- "primitives/header-chain",
- "primitives/messages",
- "primitives/parachains",
- "primitives/polkadot-core",
- "primitives/relayers",
- "primitives/runtime",
- "primitives/test-utils",
- "primitives/xcm-bridge-hub",
- "primitives/xcm-bridge-hub-router",
"relay-clients/client-bridge-hub-kusama",
"relay-clients/client-bridge-hub-polkadot",
"relay-clients/client-bridge-hub-rococo",
@@ -46,13 +16,6 @@ members = [
"relay-clients/client-polkadot-bulletin",
"relay-clients/client-rococo",
"relay-clients/client-westend",
- "relays/client-substrate",
- "relays/equivocation",
- "relays/finality",
- "relays/lib-substrate-relay",
- "relays/messages",
- "relays/parachains",
- "relays/utils",
"substrate-relay",
]
diff --git a/bin/runtime-common/Cargo.toml b/bin/runtime-common/Cargo.toml
deleted file mode 100644
index 6304c83b905..00000000000
--- a/bin/runtime-common/Cargo.toml
+++ /dev/null
@@ -1,100 +0,0 @@
-[package]
-name = "bridge-runtime-common"
-version = "0.7.0"
-description = "Common types and functions that may be used by substrate-based runtimes of all bridged chains"
-authors.workspace = true
-edition.workspace = true
-repository.workspace = true
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-
-[lints]
-workspace = true
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
-hash-db = { version = "0.16.0", default-features = false }
-log = { workspace = true }
-scale-info = { version = "2.11.1", default-features = false, features = ["derive"] }
-static_assertions = { version = "1.1", optional = true }
-
-# Bridge dependencies
-
-bp-header-chain = { path = "../../primitives/header-chain", default-features = false }
-bp-messages = { path = "../../primitives/messages", default-features = false }
-bp-parachains = { path = "../../primitives/parachains", default-features = false }
-bp-polkadot-core = { path = "../../primitives/polkadot-core", default-features = false }
-bp-relayers = { path = "../../primitives/relayers", default-features = false }
-bp-runtime = { path = "../../primitives/runtime", default-features = false }
-bp-xcm-bridge-hub = { path = "../../primitives/xcm-bridge-hub", default-features = false }
-bp-xcm-bridge-hub-router = { path = "../../primitives/xcm-bridge-hub-router", default-features = false }
-pallet-bridge-grandpa = { path = "../../modules/grandpa", default-features = false }
-pallet-bridge-messages = { path = "../../modules/messages", default-features = false }
-pallet-bridge-parachains = { path = "../../modules/parachains", default-features = false }
-pallet-bridge-relayers = { path = "../../modules/relayers", default-features = false }
-
-# Substrate dependencies
-
-frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master", default-features = false }
-
-# Polkadot dependencies
-xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", default-features = false , branch = "master" }
-xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", default-features = false , branch = "master" }
-
-[dev-dependencies]
-bp-test-utils = { path = "../../primitives/test-utils" }
-pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "master" }
-
-[features]
-default = ["std"]
-std = [
- "bp-header-chain/std",
- "bp-messages/std",
- "bp-parachains/std",
- "bp-polkadot-core/std",
- "bp-relayers/std",
- "bp-runtime/std",
- "bp-xcm-bridge-hub-router/std",
- "bp-xcm-bridge-hub/std",
- "codec/std",
- "frame-support/std",
- "frame-system/std",
- "hash-db/std",
- "log/std",
- "pallet-bridge-grandpa/std",
- "pallet-bridge-messages/std",
- "pallet-bridge-parachains/std",
- "pallet-bridge-relayers/std",
- "pallet-transaction-payment/std",
- "pallet-utility/std",
- "scale-info/std",
- "sp-api/std",
- "sp-core/std",
- "sp-io/std",
- "sp-runtime/std",
- "sp-std/std",
- "sp-trie/std",
- "xcm-builder/std",
- "xcm/std",
-]
-runtime-benchmarks = [
- "frame-support/runtime-benchmarks",
- "frame-system/runtime-benchmarks",
- "pallet-balances/runtime-benchmarks",
- "pallet-bridge-grandpa/runtime-benchmarks",
- "pallet-bridge-messages/runtime-benchmarks",
- "pallet-bridge-parachains/runtime-benchmarks",
- "pallet-bridge-relayers/runtime-benchmarks",
- "pallet-utility/runtime-benchmarks",
- "sp-runtime/runtime-benchmarks",
- "xcm-builder/runtime-benchmarks",
-]
-integrity-test = ["static_assertions"]
diff --git a/bin/runtime-common/src/integrity.rs b/bin/runtime-common/src/integrity.rs
deleted file mode 100644
index d3827a14dd6..00000000000
--- a/bin/runtime-common/src/integrity.rs
+++ /dev/null
@@ -1,348 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common 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.
-
-// Parity Bridges Common 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 Parity Bridges Common. If not, see .
-
-//! Integrity tests for chain constants and pallets configuration.
-//!
-//! Most of the tests in this module assume that the bridge is using standard (see `crate::messages`
-//! module for details) configuration.
-
-use crate::{messages, messages::MessageBridge};
-
-use bp_messages::{InboundLaneData, MessageNonce};
-use bp_runtime::{Chain, ChainId};
-use codec::Encode;
-use frame_support::{storage::generator::StorageValue, traits::Get, weights::Weight};
-use frame_system::limits;
-use pallet_bridge_messages::WeightInfoExt as _;
-
-/// Macro that ensures that the runtime configuration and chain primitives crate are sharing
-/// the same types (nonce, block number, hash, hasher, account id and header).
-#[macro_export]
-macro_rules! assert_chain_types(
- ( runtime: $r:path, this_chain: $this:path ) => {
- {
- // if one of asserts fail, then either bridge isn't configured properly (or alternatively - non-standard
- // configuration is used), or something has broke existing configuration (meaning that all bridged chains
- // and relays will stop functioning)
- use frame_system::{Config as SystemConfig, pallet_prelude::{BlockNumberFor, HeaderFor}};
- use static_assertions::assert_type_eq_all;
-
- assert_type_eq_all!(<$r as SystemConfig>::Nonce, bp_runtime::NonceOf<$this>);
- assert_type_eq_all!(BlockNumberFor<$r>, bp_runtime::BlockNumberOf<$this>);
- assert_type_eq_all!(<$r as SystemConfig>::Hash, bp_runtime::HashOf<$this>);
- assert_type_eq_all!(<$r as SystemConfig>::Hashing, bp_runtime::HasherOf<$this>);
- assert_type_eq_all!(<$r as SystemConfig>::AccountId, bp_runtime::AccountIdOf<$this>);
- assert_type_eq_all!(HeaderFor<$r>, bp_runtime::HeaderOf<$this>);
- }
- }
-);
-
-/// Macro that ensures that the bridge GRANDPA pallet is configured properly to bridge with given
-/// chain.
-#[macro_export]
-macro_rules! assert_bridge_grandpa_pallet_types(
- ( runtime: $r:path, with_bridged_chain_grandpa_instance: $i:path, bridged_chain: $bridged:path ) => {
- {
- // if one of asserts fail, then either bridge isn't configured properly (or alternatively - non-standard
- // configuration is used), or something has broke existing configuration (meaning that all bridged chains
- // and relays will stop functioning)
- use pallet_bridge_grandpa::Config as GrandpaConfig;
- use static_assertions::assert_type_eq_all;
-
- assert_type_eq_all!(<$r as GrandpaConfig<$i>>::BridgedChain, $bridged);
- }
- }
-);
-
-/// Macro that ensures that the bridge messages pallet is configured properly to bridge using given
-/// configuration.
-#[macro_export]
-macro_rules! assert_bridge_messages_pallet_types(
- (
- runtime: $r:path,
- with_bridged_chain_messages_instance: $i:path,
- bridge: $bridge:path
- ) => {
- {
- // if one of asserts fail, then either bridge isn't configured properly (or alternatively - non-standard
- // configuration is used), or something has broke existing configuration (meaning that all bridged chains
- // and relays will stop functioning)
- use $crate::messages::{
- source::{FromThisChainMessagePayload, TargetHeaderChainAdapter},
- target::{FromBridgedChainMessagePayload, SourceHeaderChainAdapter},
- AccountIdOf, BalanceOf, BridgedChain, ThisChain,
- };
- use pallet_bridge_messages::Config as MessagesConfig;
- use static_assertions::assert_type_eq_all;
-
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::OutboundPayload, FromThisChainMessagePayload);
-
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::InboundRelayer, AccountIdOf>);
-
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::TargetHeaderChain, TargetHeaderChainAdapter<$bridge>);
- assert_type_eq_all!(<$r as MessagesConfig<$i>>::SourceHeaderChain, SourceHeaderChainAdapter<$bridge>);
- }
- }
-);
-
-/// Macro that combines four other macro calls - `assert_chain_types`, `assert_bridge_types`,
-/// `assert_bridge_grandpa_pallet_types` and `assert_bridge_messages_pallet_types`. It may be used
-/// at the chain that is implementing complete standard messages bridge (i.e. with bridge GRANDPA
-/// and messages pallets deployed).
-#[macro_export]
-macro_rules! assert_complete_bridge_types(
- (
- runtime: $r:path,
- with_bridged_chain_grandpa_instance: $gi:path,
- with_bridged_chain_messages_instance: $mi:path,
- bridge: $bridge:path,
- this_chain: $this:path,
- bridged_chain: $bridged:path,
- ) => {
- $crate::assert_chain_types!(runtime: $r, this_chain: $this);
- $crate::assert_bridge_grandpa_pallet_types!(
- runtime: $r,
- with_bridged_chain_grandpa_instance: $gi,
- bridged_chain: $bridged
- );
- $crate::assert_bridge_messages_pallet_types!(
- runtime: $r,
- with_bridged_chain_messages_instance: $mi,
- bridge: $bridge
- );
- }
-);
-
-/// Parameters for asserting chain-related constants.
-#[derive(Debug)]
-pub struct AssertChainConstants {
- /// Block length limits of the chain.
- pub block_length: limits::BlockLength,
- /// Block weight limits of the chain.
- pub block_weights: limits::BlockWeights,
-}
-
-/// Test that our hardcoded, chain-related constants, are matching chain runtime configuration.
-///
-/// In particular, this test ensures that:
-///
-/// 1) block weight limits are matching;
-/// 2) block size limits are matching.
-pub fn assert_chain_constants(params: AssertChainConstants)
-where
- R: frame_system::Config,
-{
- // we don't check runtime version here, because in our case we'll be building relay from one
- // repo and runtime will live in another repo, along with outdated relay version. To avoid
- // unneeded commits, let's not raise an error in case of version mismatch.
-
- // if one of following assert fails, it means that we may need to upgrade bridged chain and
- // relay to use updated constants. If constants are now smaller than before, it may lead to
- // undeliverable messages.
-
- // `BlockLength` struct is not implementing `PartialEq`, so we compare encoded values here.
- assert_eq!(
- R::BlockLength::get().encode(),
- params.block_length.encode(),
- "BlockLength from runtime ({:?}) differ from hardcoded: {:?}",
- R::BlockLength::get(),
- params.block_length,
- );
- // `BlockWeights` struct is not implementing `PartialEq`, so we compare encoded values here
- assert_eq!(
- R::BlockWeights::get().encode(),
- params.block_weights.encode(),
- "BlockWeights from runtime ({:?}) differ from hardcoded: {:?}",
- R::BlockWeights::get(),
- params.block_weights,
- );
-}
-
-/// Test that the constants, used in GRANDPA pallet configuration are valid.
-pub fn assert_bridge_grandpa_pallet_constants()
-where
- R: pallet_bridge_grandpa::Config,
- GI: 'static,
-{
- assert!(
- R::HeadersToKeep::get() > 0,
- "HeadersToKeep ({}) must be larger than zero",
- R::HeadersToKeep::get(),
- );
-}
-
-/// Parameters for asserting messages pallet constants.
-#[derive(Debug)]
-pub struct AssertBridgeMessagesPalletConstants {
- /// Maximal number of unrewarded relayer entries in a confirmation transaction at the bridged
- /// chain.
- pub max_unrewarded_relayers_in_bridged_confirmation_tx: MessageNonce,
- /// Maximal number of unconfirmed messages in a confirmation transaction at the bridged chain.
- pub max_unconfirmed_messages_in_bridged_confirmation_tx: MessageNonce,
- /// Identifier of the bridged chain.
- pub bridged_chain_id: ChainId,
-}
-
-/// Test that the constants, used in messages pallet configuration are valid.
-pub fn assert_bridge_messages_pallet_constants(params: AssertBridgeMessagesPalletConstants)
-where
- R: pallet_bridge_messages::Config,
- MI: 'static,
-{
- assert!(
- !R::ActiveOutboundLanes::get().is_empty(),
- "ActiveOutboundLanes ({:?}) must not be empty",
- R::ActiveOutboundLanes::get(),
- );
- assert!(
- R::MaxUnrewardedRelayerEntriesAtInboundLane::get() <= params.max_unrewarded_relayers_in_bridged_confirmation_tx,
- "MaxUnrewardedRelayerEntriesAtInboundLane ({}) must be <= than the hardcoded value for bridged chain: {}",
- R::MaxUnrewardedRelayerEntriesAtInboundLane::get(),
- params.max_unrewarded_relayers_in_bridged_confirmation_tx,
- );
- assert!(
- R::MaxUnconfirmedMessagesAtInboundLane::get() <= params.max_unconfirmed_messages_in_bridged_confirmation_tx,
- "MaxUnrewardedRelayerEntriesAtInboundLane ({}) must be <= than the hardcoded value for bridged chain: {}",
- R::MaxUnconfirmedMessagesAtInboundLane::get(),
- params.max_unconfirmed_messages_in_bridged_confirmation_tx,
- );
- assert_eq!(R::BridgedChainId::get(), params.bridged_chain_id);
-}
-
-/// Parameters for asserting bridge pallet names.
-#[derive(Debug)]
-pub struct AssertBridgePalletNames<'a> {
- /// Name of the messages pallet, deployed at the bridged chain and used to bridge with this
- /// chain.
- pub with_this_chain_messages_pallet_name: &'a str,
- /// Name of the GRANDPA pallet, deployed at this chain and used to bridge with the bridged
- /// chain.
- pub with_bridged_chain_grandpa_pallet_name: &'a str,
- /// Name of the messages pallet, deployed at this chain and used to bridge with the bridged
- /// chain.
- pub with_bridged_chain_messages_pallet_name: &'a str,
-}
-
-/// Tests that bridge pallet names used in `construct_runtime!()` macro call are matching constants
-/// from chain primitives crates.
-pub fn assert_bridge_pallet_names(params: AssertBridgePalletNames)
-where
- B: MessageBridge,
- R: pallet_bridge_grandpa::Config + pallet_bridge_messages::Config,
- GI: 'static,
- MI: 'static,
-{
- assert_eq!(B::BRIDGED_MESSAGES_PALLET_NAME, params.with_this_chain_messages_pallet_name);
- assert_eq!(
- pallet_bridge_grandpa::PalletOwner::::storage_value_final_key().to_vec(),
- bp_runtime::storage_value_key(params.with_bridged_chain_grandpa_pallet_name, "PalletOwner",).0,
- );
- assert_eq!(
- pallet_bridge_messages::PalletOwner::::storage_value_final_key().to_vec(),
- bp_runtime::storage_value_key(
- params.with_bridged_chain_messages_pallet_name,
- "PalletOwner",
- )
- .0,
- );
-}
-
-/// Parameters for asserting complete standard messages bridge.
-#[derive(Debug)]
-pub struct AssertCompleteBridgeConstants<'a> {
- /// Parameters to assert this chain constants.
- pub this_chain_constants: AssertChainConstants,
- /// Parameters to assert messages pallet constants.
- pub messages_pallet_constants: AssertBridgeMessagesPalletConstants,
- /// Parameters to assert pallet names constants.
- pub pallet_names: AssertBridgePalletNames<'a>,
-}
-
-/// All bridge-related constants tests for the complete standard messages bridge (i.e. with bridge
-/// GRANDPA and messages pallets deployed).
-pub fn assert_complete_bridge_constants(params: AssertCompleteBridgeConstants)
-where
- R: frame_system::Config
- + pallet_bridge_grandpa::Config
- + pallet_bridge_messages::Config,
- GI: 'static,
- MI: 'static,
- B: MessageBridge,
-{
- assert_chain_constants::(params.this_chain_constants);
- assert_bridge_grandpa_pallet_constants::();
- assert_bridge_messages_pallet_constants::(params.messages_pallet_constants);
- assert_bridge_pallet_names::(params.pallet_names);
-}
-
-/// Check that the message lane weights are correct.
-pub fn check_message_lane_weights<
- C: Chain,
- T: frame_system::Config + pallet_bridge_messages::Config,
- MessagesPalletInstance: 'static,
->(
- bridged_chain_extra_storage_proof_size: u32,
- this_chain_max_unrewarded_relayers: MessageNonce,
- this_chain_max_unconfirmed_messages: MessageNonce,
- // whether `RefundBridgedParachainMessages` extension is deployed at runtime and is used for
- // refunding this bridge transactions?
- //
- // in other words: pass true for all known production chains
- runtime_includes_refund_extension: bool,
-) {
- type Weights = >::WeightInfo;
-
- // check basic weight assumptions
- pallet_bridge_messages::ensure_weights_are_correct::>();
-
- // check that weights allow us to receive messages
- let max_incoming_message_proof_size = bridged_chain_extra_storage_proof_size
- .saturating_add(messages::target::maximal_incoming_message_size(C::max_extrinsic_size()));
- pallet_bridge_messages::ensure_able_to_receive_message::>(
- C::max_extrinsic_size(),
- C::max_extrinsic_weight(),
- max_incoming_message_proof_size,
- messages::target::maximal_incoming_message_dispatch_weight(C::max_extrinsic_weight()),
- );
-
- // check that weights allow us to receive delivery confirmations
- let max_incoming_inbound_lane_data_proof_size =
- InboundLaneData::<()>::encoded_size_hint_u32(this_chain_max_unrewarded_relayers as _);
- pallet_bridge_messages::ensure_able_to_receive_confirmation::>(
- C::max_extrinsic_size(),
- C::max_extrinsic_weight(),
- max_incoming_inbound_lane_data_proof_size,
- this_chain_max_unrewarded_relayers,
- this_chain_max_unconfirmed_messages,
- );
-
- // check that extra weights of delivery/confirmation transactions include the weight
- // of `RefundBridgedParachainMessages` operations. This signed extension assumes the worst case
- // (i.e. slashing if delivery transaction was invalid) and refunds some weight if
- // assumption was wrong (i.e. if we did refund instead of slashing). This check
- // ensures the extension will not refund weight when it doesn't need to (i.e. if pallet
- // weights do not account weights of refund extension).
- if runtime_includes_refund_extension {
- assert_ne!(
- Weights::::receive_messages_proof_overhead_from_runtime(),
- Weight::zero()
- );
- assert_ne!(
- Weights::::receive_messages_delivery_proof_overhead_from_runtime(),
- Weight::zero()
- );
- }
-}
diff --git a/bin/runtime-common/src/lib.rs b/bin/runtime-common/src/lib.rs
deleted file mode 100644
index 2722f6f1c6d..00000000000
--- a/bin/runtime-common/src/lib.rs
+++ /dev/null
@@ -1,223 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common 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.
-
-// Parity Bridges Common 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 Parity Bridges Common. If not, see .
-
-//! Common types/functions that may be used by runtimes of all bridged chains.
-
-#![warn(missing_docs)]
-#![cfg_attr(not(feature = "std"), no_std)]
-
-use crate::messages_call_ext::MessagesCallSubType;
-use pallet_bridge_grandpa::CallSubType as GrandpaCallSubType;
-use pallet_bridge_parachains::CallSubType as ParachainsCallSubtype;
-use sp_runtime::transaction_validity::TransactionValidity;
-
-pub mod messages;
-pub mod messages_api;
-pub mod messages_benchmarking;
-pub mod messages_call_ext;
-pub mod messages_generation;
-pub mod messages_xcm_extension;
-pub mod parachains_benchmarking;
-pub mod priority_calculator;
-pub mod refund_relayer_extension;
-
-mod mock;
-
-#[cfg(feature = "integrity-test")]
-pub mod integrity;
-
-const LOG_TARGET_BRIDGE_DISPATCH: &str = "runtime::bridge-dispatch";
-
-/// A duplication of the `FilterCall` trait.
-///
-/// We need this trait in order to be able to implement it for the messages pallet,
-/// since the implementation is done outside of the pallet crate.
-pub trait BridgeRuntimeFilterCall {
- /// Checks if a runtime call is valid.
- fn validate(call: &Call) -> TransactionValidity;
-}
-
-impl BridgeRuntimeFilterCall for pallet_bridge_grandpa::Pallet
-where
- T: pallet_bridge_grandpa::Config,
- T::RuntimeCall: GrandpaCallSubType,
-{
- fn validate(call: &T::RuntimeCall) -> TransactionValidity {
- GrandpaCallSubType::::check_obsolete_submit_finality_proof(call)
- }
-}
-
-impl BridgeRuntimeFilterCall
- for pallet_bridge_parachains::Pallet
-where
- T: pallet_bridge_parachains::Config,
- T::RuntimeCall: ParachainsCallSubtype,
-{
- fn validate(call: &T::RuntimeCall) -> TransactionValidity {
- ParachainsCallSubtype::::check_obsolete_submit_parachain_heads(call)
- }
-}
-
-impl, I: 'static> BridgeRuntimeFilterCall
- for pallet_bridge_messages::Pallet
-where
- T::RuntimeCall: MessagesCallSubType,
-{
- /// Validate messages in order to avoid "mining" messages delivery and delivery confirmation
- /// transactions, that are delivering outdated messages/confirmations. Without this validation,
- /// even honest relayers may lose their funds if there are multiple relays running and
- /// submitting the same messages/confirmations.
- fn validate(call: &T::RuntimeCall) -> TransactionValidity {
- call.check_obsolete_call()
- }
-}
-
-/// Declares a runtime-specific `BridgeRejectObsoleteHeadersAndMessages` signed extension.
-///
-/// ## Example
-///
-/// ```nocompile
-/// generate_bridge_reject_obsolete_headers_and_messages!{
-/// Call, AccountId
-/// BridgeRococoGrandpa, BridgeRococoMessages,
-/// BridgeRococoParachains
-/// }
-/// ```
-///
-/// The goal of this extension is to avoid "mining" transactions that provide outdated bridged
-/// headers and messages. Without that extension, even honest relayers may lose their funds if
-/// there are multiple relays running and submitting the same information.
-#[macro_export]
-macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
- ($call:ty, $account_id:ty, $($filter_call:ty),*) => {
- #[derive(Clone, codec::Decode, Default, codec::Encode, Eq, PartialEq, sp_runtime::RuntimeDebug, scale_info::TypeInfo)]
- pub struct BridgeRejectObsoleteHeadersAndMessages;
- impl sp_runtime::traits::SignedExtension for BridgeRejectObsoleteHeadersAndMessages {
- const IDENTIFIER: &'static str = "BridgeRejectObsoleteHeadersAndMessages";
- type AccountId = $account_id;
- type Call = $call;
- type AdditionalSigned = ();
- type Pre = ();
-
- fn additional_signed(&self) -> sp_std::result::Result<
- (),
- sp_runtime::transaction_validity::TransactionValidityError,
- > {
- Ok(())
- }
-
- fn validate(
- &self,
- _who: &Self::AccountId,
- call: &Self::Call,
- _info: &sp_runtime::traits::DispatchInfoOf,
- _len: usize,
- ) -> sp_runtime::transaction_validity::TransactionValidity {
- let valid = sp_runtime::transaction_validity::ValidTransaction::default();
- $(
- let valid = valid
- .combine_with(<$filter_call as $crate::BridgeRuntimeFilterCall<$call>>::validate(call)?);
- )*
- Ok(valid)
- }
-
- fn pre_dispatch(
- self,
- who: &Self::AccountId,
- call: &Self::Call,
- info: &sp_runtime::traits::DispatchInfoOf,
- len: usize,
- ) -> Result {
- self.validate(who, call, info, len).map(drop)
- }
- }
- };
-}
-
-#[cfg(test)]
-mod tests {
- use crate::BridgeRuntimeFilterCall;
- use frame_support::{assert_err, assert_ok};
- use sp_runtime::{
- traits::SignedExtension,
- transaction_validity::{InvalidTransaction, TransactionValidity, ValidTransaction},
- };
-
- pub struct MockCall {
- data: u32,
- }
-
- impl sp_runtime::traits::Dispatchable for MockCall {
- type RuntimeOrigin = ();
- type Config = ();
- type Info = ();
- type PostInfo = ();
-
- fn dispatch(
- self,
- _origin: Self::RuntimeOrigin,
- ) -> sp_runtime::DispatchResultWithInfo {
- unimplemented!()
- }
- }
-
- struct FirstFilterCall;
- impl BridgeRuntimeFilterCall for FirstFilterCall {
- fn validate(call: &MockCall) -> TransactionValidity {
- if call.data <= 1 {
- return InvalidTransaction::Custom(1).into()
- }
-
- Ok(ValidTransaction { priority: 1, ..Default::default() })
- }
- }
-
- struct SecondFilterCall;
- impl BridgeRuntimeFilterCall for SecondFilterCall {
- fn validate(call: &MockCall) -> TransactionValidity {
- if call.data <= 2 {
- return InvalidTransaction::Custom(2).into()
- }
-
- Ok(ValidTransaction { priority: 2, ..Default::default() })
- }
- }
-
- #[test]
- fn test() {
- generate_bridge_reject_obsolete_headers_and_messages!(
- MockCall,
- (),
- FirstFilterCall,
- SecondFilterCall
- );
-
- assert_err!(
- BridgeRejectObsoleteHeadersAndMessages.validate(&(), &MockCall { data: 1 }, &(), 0),
- InvalidTransaction::Custom(1)
- );
-
- assert_err!(
- BridgeRejectObsoleteHeadersAndMessages.validate(&(), &MockCall { data: 2 }, &(), 0),
- InvalidTransaction::Custom(2)
- );
-
- assert_ok!(
- BridgeRejectObsoleteHeadersAndMessages.validate(&(), &MockCall { data: 3 }, &(), 0),
- ValidTransaction { priority: 3, ..Default::default() }
- )
- }
-}
diff --git a/bin/runtime-common/src/messages.rs b/bin/runtime-common/src/messages.rs
deleted file mode 100644
index 4aca53f3b98..00000000000
--- a/bin/runtime-common/src/messages.rs
+++ /dev/null
@@ -1,701 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Parity Bridges Common.
-
-// Parity Bridges Common 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.
-
-// Parity Bridges Common 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 Parity Bridges Common. If not, see .
-
-//! Types that allow runtime to act as a source/target endpoint of message lanes.
-//!
-//! Messages are assumed to be encoded `Call`s of the target chain. Call-dispatch
-//! pallet is used to dispatch incoming messages. Message identified by a tuple
-//! of to elements - message lane id and message nonce.
-
-pub use bp_runtime::{RangeInclusiveExt, UnderlyingChainOf, UnderlyingChainProvider};
-
-use bp_header_chain::HeaderChain;
-use bp_messages::{
- source_chain::TargetHeaderChain,
- target_chain::{ProvedLaneMessages, ProvedMessages, SourceHeaderChain},
- InboundLaneData, LaneId, Message, MessageKey, MessageNonce, MessagePayload, OutboundLaneData,
- VerificationError,
-};
-use bp_runtime::{Chain, RawStorageProof, Size, StorageProofChecker};
-use codec::{Decode, Encode};
-use frame_support::{traits::Get, weights::Weight};
-use hash_db::Hasher;
-use scale_info::TypeInfo;
-use sp_runtime::RuntimeDebug;
-use sp_std::{convert::TryFrom, marker::PhantomData, vec::Vec};
-
-/// Bidirectional message bridge.
-pub trait MessageBridge {
- /// Name of the paired messages pallet instance at the Bridged chain.
- ///
- /// Should be the name that is used in the `construct_runtime!()` macro.
- const BRIDGED_MESSAGES_PALLET_NAME: &'static str;
-
- /// This chain in context of message bridge.
- type ThisChain: ThisChainWithMessages;
- /// Bridged chain in context of message bridge.
- type BridgedChain: BridgedChainWithMessages;
- /// Bridged header chain.
- type BridgedHeaderChain: HeaderChain>;
-}
-
-/// This chain that has `pallet-bridge-messages` module.
-pub trait ThisChainWithMessages: UnderlyingChainProvider {
- /// Call origin on the chain.
- type RuntimeOrigin;
-}
-
-/// Bridged chain that has `pallet-bridge-messages` module.
-pub trait BridgedChainWithMessages: UnderlyingChainProvider {}
-
-/// This chain in context of message bridge.
-pub type ThisChain = ::ThisChain;
-/// Bridged chain in context of message bridge.
-pub type BridgedChain = ::BridgedChain;
-/// Hash used on the chain.
-pub type HashOf = bp_runtime::HashOf<::Chain>;
-/// Hasher used on the chain.
-pub type HasherOf = bp_runtime::HasherOf>;
-/// Account id used on the chain.
-pub type AccountIdOf = bp_runtime::AccountIdOf>;
-/// Type of balances that is used on the chain.
-pub type BalanceOf = bp_runtime::BalanceOf>;
-
-/// Sub-module that is declaring types required for processing This -> Bridged chain messages.
-pub mod source {
- use super::*;
-
- /// Message payload for This -> Bridged chain messages.
- pub type FromThisChainMessagePayload = crate::messages_xcm_extension::XcmAsPlainPayload;
-
- /// Maximal size of outbound message payload.
- pub struct FromThisChainMaximalOutboundPayloadSize(PhantomData);
-
- impl Get for FromThisChainMaximalOutboundPayloadSize {
- fn get() -> u32 {
- maximal_message_size::()
- }
- }
-
- /// Messages delivery proof from bridged chain:
- ///
- /// - hash of finalized header;
- /// - storage proof of inbound lane state;
- /// - lane id.
- #[derive(Clone, Decode, Encode, Eq, PartialEq, RuntimeDebug, TypeInfo)]
- pub struct FromBridgedChainMessagesDeliveryProof {
- /// Hash of the bridge header the proof is for.
- pub bridged_header_hash: BridgedHeaderHash,
- /// Storage trie proof generated for [`Self::bridged_header_hash`].
- pub storage_proof: RawStorageProof,
- /// Lane id of which messages were delivered and the proof is for.
- pub lane: LaneId,
- }
-
- impl Size for FromBridgedChainMessagesDeliveryProof {
- fn size(&self) -> u32 {
- u32::try_from(
- self.storage_proof
- .iter()
- .fold(0usize, |sum, node| sum.saturating_add(node.len())),
- )
- .unwrap_or(u32::MAX)
- }
- }
-
- /// 'Parsed' message delivery proof - inbound lane id and its state.
- pub type ParsedMessagesDeliveryProofFromBridgedChain =
- (LaneId, InboundLaneData>>);
-
- /// Return maximal message size of This -> Bridged chain message.
- pub fn maximal_message_size() -> u32 {
- super::target::maximal_incoming_message_size(
- UnderlyingChainOf::>::max_extrinsic_size(),
- )
- }
-
- /// `TargetHeaderChain` implementation that is using default types and perform default checks.
- pub struct TargetHeaderChainAdapter(PhantomData);
-
- impl TargetHeaderChain>>
- for TargetHeaderChainAdapter
- {
- type MessagesDeliveryProof = FromBridgedChainMessagesDeliveryProof>>;
-
- fn verify_message(payload: &FromThisChainMessagePayload) -> Result<(), VerificationError> {
- verify_chain_message::(payload)
- }
-
- fn verify_messages_delivery_proof(
- proof: Self::MessagesDeliveryProof,
- ) -> Result<(LaneId, InboundLaneData>>), VerificationError> {
- verify_messages_delivery_proof::(proof)
- }
- }
-
- /// Do basic Bridged-chain specific verification of This -> Bridged chain message.
- ///
- /// Ok result from this function means that the delivery transaction with this message
- /// may be 'mined' by the target chain.
- pub fn verify_chain_message(
- payload: &FromThisChainMessagePayload,
- ) -> Result<(), VerificationError> {
- // IMPORTANT: any error that is returned here is fatal for the bridge, because
- // this code is executed at the bridge hub and message sender actually lives
- // at some sibling parachain. So we are failing **after** the message has been
- // sent and we can't report it back to sender (unless error report mechanism is
- // embedded into message and its dispatcher).
-
- // apart from maximal message size check (see below), we should also check the message
- // dispatch weight here. But we assume that the bridged chain will just push the message
- // to some queue (XCMP, UMP, DMP), so the weight is constant and fits the block.
-
- // The maximal size of extrinsic at Substrate-based chain depends on the
- // `frame_system::Config::MaximumBlockLength` and
- // `frame_system::Config::AvailableBlockRatio` constants. This check is here to be sure that
- // the lane won't stuck because message is too large to fit into delivery transaction.
- //
- // **IMPORTANT NOTE**: the delivery transaction contains storage proof of the message, not
- // the message itself. The proof is always larger than the message. But unless chain state
- // is enormously large, it should be several dozens/hundreds of bytes. The delivery
- // transaction also contains signatures and signed extensions. Because of this, we reserve
- // 1/3 of the the maximal extrinsic size for this data.
- if payload.len() > maximal_message_size::() as usize {
- return Err(VerificationError::MessageTooLarge)
- }
-
- Ok(())
- }
-
- /// Verify proof of This -> Bridged chain messages delivery.
- ///
- /// This function is used when Bridged chain is directly using GRANDPA finality. For Bridged
- /// parachains, please use the `verify_messages_delivery_proof_from_parachain`.
- pub fn verify_messages_delivery_proof(
- proof: FromBridgedChainMessagesDeliveryProof>>,
- ) -> Result, VerificationError> {
- let FromBridgedChainMessagesDeliveryProof { bridged_header_hash, storage_proof, lane } =
- proof;
- let mut storage =
- B::BridgedHeaderChain::storage_proof_checker(bridged_header_hash, storage_proof)
- .map_err(VerificationError::HeaderChain)?;
- // Messages delivery proof is just proof of single storage key read => any error
- // is fatal.
- let storage_inbound_lane_data_key = bp_messages::storage_keys::inbound_lane_data_key(
- B::BRIDGED_MESSAGES_PALLET_NAME,
- &lane,
- );
- let inbound_lane_data = storage
- .read_and_decode_mandatory_value(storage_inbound_lane_data_key.0.as_ref())
- .map_err(VerificationError::InboundLaneStorage)?;
-
- // check that the storage proof doesn't have any untouched trie nodes
- storage.ensure_no_unused_nodes().map_err(VerificationError::StorageProof)?;
-
- Ok((lane, inbound_lane_data))
- }
-}
-
-/// Sub-module that is declaring types required for processing Bridged -> This chain messages.
-pub mod target {
- use super::*;
-
- /// Decoded Bridged -> This message payload.
- pub type FromBridgedChainMessagePayload = crate::messages_xcm_extension::XcmAsPlainPayload;
-
- /// Messages proof from bridged chain:
- ///
- /// - hash of finalized header;
- /// - storage proof of messages and (optionally) outbound lane state;
- /// - lane id;
- /// - nonces (inclusive range) of messages which are included in this proof.
- #[derive(Clone, Decode, Encode, Eq, PartialEq, RuntimeDebug, TypeInfo)]
- pub struct FromBridgedChainMessagesProof {
- /// Hash of the finalized bridged header the proof is for.
- pub bridged_header_hash: BridgedHeaderHash,
- /// A storage trie proof of messages being delivered.
- pub storage_proof: RawStorageProof,
- /// Messages in this proof are sent over this lane.
- pub lane: LaneId,
- /// Nonce of the first message being delivered.
- pub nonces_start: MessageNonce,
- /// Nonce of the last message being delivered.
- pub nonces_end: MessageNonce,
- }
-
- impl Size for FromBridgedChainMessagesProof {
- fn size(&self) -> u32 {
- u32::try_from(
- self.storage_proof
- .iter()
- .fold(0usize, |sum, node| sum.saturating_add(node.len())),
- )
- .unwrap_or(u32::MAX)
- }
- }
-
- /// Return maximal dispatch weight of the message we're able to receive.
- pub fn maximal_incoming_message_dispatch_weight(maximal_extrinsic_weight: Weight) -> Weight {
- maximal_extrinsic_weight / 2
- }
-
- /// Return maximal message size given maximal extrinsic size.
- pub fn maximal_incoming_message_size(maximal_extrinsic_size: u32) -> u32 {
- maximal_extrinsic_size / 3 * 2
- }
-
- /// `SourceHeaderChain` implementation that is using default types and perform default checks.
- pub struct SourceHeaderChainAdapter(PhantomData);
-
- impl SourceHeaderChain for SourceHeaderChainAdapter {
- type MessagesProof = FromBridgedChainMessagesProof>>;
-
- fn verify_messages_proof(
- proof: Self::MessagesProof,
- messages_count: u32,
- ) -> Result, VerificationError> {
- verify_messages_proof::(proof, messages_count)
- }
- }
-
- /// Verify proof of Bridged -> This chain messages.
- ///
- /// This function is used when Bridged chain is directly using GRANDPA finality. For Bridged
- /// parachains, please use the `verify_messages_proof_from_parachain`.
- ///
- /// The `messages_count` argument verification (sane limits) is supposed to be made
- /// outside of this function. This function only verifies that the proof declares exactly
- /// `messages_count` messages.
- pub fn verify_messages_proof(
- proof: FromBridgedChainMessagesProof>>,
- messages_count: u32,
- ) -> Result, VerificationError> {
- let FromBridgedChainMessagesProof {
- bridged_header_hash,
- storage_proof,
- lane,
- nonces_start,
- nonces_end,
- } = proof;
- let storage =
- B::BridgedHeaderChain::storage_proof_checker(bridged_header_hash, storage_proof)
- .map_err(VerificationError::HeaderChain)?;
- let mut parser = StorageProofCheckerAdapter::<_, B> { storage, _dummy: Default::default() };
- let nonces_range = nonces_start..=nonces_end;
-
- // receiving proofs where end < begin is ok (if proof includes outbound lane state)
- let messages_in_the_proof = nonces_range.checked_len().unwrap_or(0);
- if messages_in_the_proof != MessageNonce::from(messages_count) {
- return Err(VerificationError::MessagesCountMismatch)
- }
-
- // Read messages first. All messages that are claimed to be in the proof must
- // be in the proof. So any error in `read_value`, or even missing value is fatal.
- //
- // Mind that we allow proofs with no messages if outbound lane state is proved.
- let mut messages = Vec::with_capacity(messages_in_the_proof as _);
- for nonce in nonces_range {
- let message_key = MessageKey { lane_id: lane, nonce };
- let message_payload = parser.read_and_decode_message_payload(&message_key)?;
- messages.push(Message { key: message_key, payload: message_payload });
- }
-
- // Now let's check if proof contains outbound lane state proof. It is optional, so
- // we simply ignore `read_value` errors and missing value.
- let proved_lane_messages = ProvedLaneMessages {
- lane_state: parser.read_and_decode_outbound_lane_data(&lane)?,
- messages,
- };
-
- // Now we may actually check if the proof is empty or not.
- if proved_lane_messages.lane_state.is_none() && proved_lane_messages.messages.is_empty() {
- return Err(VerificationError::EmptyMessageProof)
- }
-
- // check that the storage proof doesn't have any untouched trie nodes
- parser
- .storage
- .ensure_no_unused_nodes()
- .map_err(VerificationError::StorageProof)?;
-
- // We only support single lane messages in this generated_schema
- let mut proved_messages = ProvedMessages::new();
- proved_messages.insert(lane, proved_lane_messages);
-
- Ok(proved_messages)
- }
-
- struct StorageProofCheckerAdapter {
- storage: StorageProofChecker,
- _dummy: sp_std::marker::PhantomData,
- }
-
- impl StorageProofCheckerAdapter {
- fn read_and_decode_outbound_lane_data(
- &mut self,
- lane_id: &LaneId,
- ) -> Result