From c2b603833515723855a769fdc57a9e995e1d6c6d Mon Sep 17 00:00:00 2001
From: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
Date: Thu, 28 Aug 2025 10:56:29 +0200
Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E2=9C=A8=20Add=20core=20Ethereum?=
=?UTF-8?q?=20precompiles=20&=20Moonbeam's=20Precompiles=20registry=20to?=
=?UTF-8?q?=20DataHaven=20runtimes?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
operator/Cargo.lock | 3548 ++++++++++-------
operator/Cargo.toml | 241 +-
operator/node/src/command.rs | 92 +-
.../precompile-registry/Cargo.toml | 42 +
.../PrecompileRegistry.sol | 41 +
.../precompile-registry/src/lib.rs | 99 +
.../precompile-registry/src/mock.rs | 198 +
.../precompile-registry/src/tests.rs | 202 +
operator/runtime/mainnet/Cargo.toml | 19 +-
operator/runtime/mainnet/src/configs/mod.rs | 21 +-
operator/runtime/mainnet/src/lib.rs | 1 +
operator/runtime/mainnet/src/precompiles.rs | 67 +
operator/runtime/stagenet/Cargo.toml | 19 +-
operator/runtime/stagenet/src/configs/mod.rs | 21 +-
operator/runtime/stagenet/src/lib.rs | 1 +
operator/runtime/stagenet/src/precompiles.rs | 67 +
operator/runtime/testnet/Cargo.toml | 19 +-
operator/runtime/testnet/src/configs/mod.rs | 21 +-
operator/runtime/testnet/src/lib.rs | 1 +
operator/runtime/testnet/src/precompiles.rs | 67 +
20 files changed, 3229 insertions(+), 1558 deletions(-)
create mode 100644 operator/precompiles/precompile-registry/Cargo.toml
create mode 100644 operator/precompiles/precompile-registry/PrecompileRegistry.sol
create mode 100644 operator/precompiles/precompile-registry/src/lib.rs
create mode 100644 operator/precompiles/precompile-registry/src/mock.rs
create mode 100644 operator/precompiles/precompile-registry/src/tests.rs
create mode 100644 operator/runtime/mainnet/src/precompiles.rs
create mode 100644 operator/runtime/stagenet/src/precompiles.rs
create mode 100644 operator/runtime/testnet/src/precompiles.rs
diff --git a/operator/Cargo.lock b/operator/Cargo.lock
index a5c56e908..537b5ce63 100644
--- a/operator/Cargo.lock
+++ b/operator/Cargo.lock
@@ -917,7 +917,17 @@ dependencies = [
[[package]]
name = "binary-merkle-tree"
version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "hash-db",
+ "log",
+ "parity-scale-codec",
+]
+
+[[package]]
+name = "binary-merkle-tree"
+version = "16.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"hash-db",
"log",
@@ -1159,95 +1169,95 @@ dependencies = [
[[package]]
name = "bp-header-chain"
version = "0.19.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bp-runtime",
"finality-grandpa",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
"sp-consensus-grandpa",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "bp-messages"
version = "0.19.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bp-header-chain",
"bp-runtime",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "bp-parachains"
version = "0.19.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bp-header-chain",
"bp-polkadot-core",
"bp-runtime",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "bp-polkadot-core"
version = "0.19.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bp-messages",
"bp-runtime",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "bp-relayers"
version = "0.19.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bp-header-chain",
"bp-messages",
"bp-parachains",
"bp-runtime",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-utility",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
- "sp-std",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "bp-runtime"
version = "0.19.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hash-db",
"impl-trait-for-tuples",
"log",
@@ -1255,29 +1265,29 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
- "sp-std",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"trie-db",
]
[[package]]
name = "bridge-hub-common"
version = "0.12.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"cumulus-primitives-core",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-message-queue",
"parity-scale-codec",
"scale-info",
"snowbridge-core 0.12.2",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
]
@@ -1286,14 +1296,14 @@ name = "bridge-hub-common"
version = "0.13.1"
dependencies = [
"cumulus-primitives-core",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-message-queue",
"parity-scale-codec",
"scale-info",
"snowbridge-core 0.2.0",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -1309,6 +1319,17 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "bstr"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
+dependencies = [
+ "memchr",
+ "regex-automata 0.4.9",
+ "serde",
+]
+
[[package]]
name = "build-helper"
version = "0.1.1"
@@ -1409,6 +1430,12 @@ dependencies = [
"thiserror 1.0.69",
]
+[[package]]
+name = "case"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c"
+
[[package]]
name = "cc"
version = "1.2.22"
@@ -2045,7 +2072,7 @@ dependencies = [
[[package]]
name = "cumulus-client-parachain-inherent"
version = "0.15.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -2054,60 +2081,60 @@ dependencies = [
"cumulus-test-relay-sproof-builder",
"parity-scale-codec",
"sc-client-api",
- "sp-api",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-inherents",
- "sp-runtime",
- "sp-state-machine",
- "sp-storage",
- "sp-trie",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"tracing",
]
[[package]]
name = "cumulus-primitives-core"
version = "0.17.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
+ "polkadot-core-primitives 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"polkadot-primitives",
"scale-info",
- "sp-api",
- "sp-runtime",
- "sp-trie",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
]
[[package]]
name = "cumulus-primitives-parachain-inherent"
version = "0.17.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"cumulus-primitives-core",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-inherents",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "cumulus-primitives-proof-size-hostfunction"
version = "0.11.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "sp-externalities",
- "sp-runtime-interface",
- "sp-trie",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "cumulus-relay-chain-interface"
version = "0.21.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -2116,24 +2143,24 @@ dependencies = [
"parity-scale-codec",
"polkadot-overseer",
"sc-client-api",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-state-machine",
- "sp-version",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "cumulus-test-relay-sproof-builder"
version = "0.17.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
"polkadot-primitives",
- "sp-runtime",
- "sp-state-machine",
- "sp-trie",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -2342,27 +2369,34 @@ dependencies = [
"fp-evm",
"fp-rpc",
"fp-self-contained",
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-executive",
"frame-metadata-hash-extension",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-support-test",
- "frame-system",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-system-benchmarking",
"frame-system-rpc-runtime-api",
"frame-try-runtime",
"hex",
"hex-literal 0.3.4",
"log",
+ "num_enum",
"pallet-authorship",
"pallet-babe",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-beefy",
"pallet-beefy-mmr",
"pallet-datahaven-native-transfer",
"pallet-ethereum",
"pallet-evm",
"pallet-evm-chain-id",
+ "pallet-evm-precompile-blake2",
+ "pallet-evm-precompile-bn128",
+ "pallet-evm-precompile-modexp",
+ "pallet-evm-precompile-registry",
+ "pallet-evm-precompile-sha3fips",
+ "pallet-evm-precompile-simple",
"pallet-external-validators",
"pallet-external-validators-rewards",
"pallet-external-validators-rewards-runtime-api",
@@ -2388,6 +2422,7 @@ dependencies = [
"parity-scale-codec",
"polkadot-primitives",
"polkadot-runtime-common",
+ "precompile-utils",
"scale-info",
"serde_json",
"snowbridge-beacon-primitives 0.2.0",
@@ -2403,25 +2438,25 @@ dependencies = [
"snowbridge-pallet-system-v2",
"snowbridge-system-v2-runtime-api",
"snowbridge-verification-primitives",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-consensus-babe",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
- "sp-std",
- "sp-storage",
- "sp-tracing",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-version",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -2451,7 +2486,7 @@ dependencies = [
"fp-rpc",
"frame-benchmarking-cli",
"frame-metadata-hash-extension",
- "frame-system",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-system-rpc-runtime-api",
"futures",
"hex-literal 0.3.4",
@@ -2486,19 +2521,19 @@ dependencies = [
"sc-transaction-pool",
"sc-transaction-pool-api",
"serde_json",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-blockchain",
"sp-consensus-babe",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
"sp-timestamp",
"sp-transaction-pool",
@@ -2512,18 +2547,18 @@ name = "datahaven-runtime-common"
version = "0.1.0"
dependencies = [
"fp-account",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-authorship",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-treasury",
"parity-scale-codec",
"polkadot-primitives",
"polkadot-runtime-common",
"scale-info",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
]
@@ -2538,12 +2573,12 @@ dependencies = [
"fp-evm",
"fp-rpc",
"fp-self-contained",
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-executive",
"frame-metadata-hash-extension",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-support-test",
- "frame-system",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-system-benchmarking",
"frame-system-rpc-runtime-api",
"frame-try-runtime",
@@ -2551,9 +2586,10 @@ dependencies = [
"hex-literal 0.3.4",
"log",
"num-bigint",
+ "num_enum",
"pallet-authorship",
"pallet-babe",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-beefy",
"pallet-beefy-mmr",
"pallet-bucket-nfts",
@@ -2562,6 +2598,12 @@ dependencies = [
"pallet-ethereum",
"pallet-evm",
"pallet-evm-chain-id",
+ "pallet-evm-precompile-blake2",
+ "pallet-evm-precompile-bn128",
+ "pallet-evm-precompile-modexp",
+ "pallet-evm-precompile-registry",
+ "pallet-evm-precompile-sha3fips",
+ "pallet-evm-precompile-simple",
"pallet-external-validators",
"pallet-external-validators-rewards",
"pallet-external-validators-rewards-runtime-api",
@@ -2597,6 +2639,7 @@ dependencies = [
"parity-scale-codec",
"polkadot-primitives",
"polkadot-runtime-common",
+ "precompile-utils",
"scale-info",
"serde_json",
"shp-constants",
@@ -2620,26 +2663,26 @@ dependencies = [
"snowbridge-pallet-system-v2",
"snowbridge-system-v2-runtime-api",
"snowbridge-verification-primitives",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-consensus-babe",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
- "sp-std",
- "sp-storage",
- "sp-tracing",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-trie",
- "sp-version",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -2657,27 +2700,34 @@ dependencies = [
"fp-evm",
"fp-rpc",
"fp-self-contained",
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-executive",
"frame-metadata-hash-extension",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-support-test",
- "frame-system",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-system-benchmarking",
"frame-system-rpc-runtime-api",
"frame-try-runtime",
"hex",
"hex-literal 0.3.4",
"log",
+ "num_enum",
"pallet-authorship",
"pallet-babe",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-beefy",
"pallet-beefy-mmr",
"pallet-datahaven-native-transfer",
"pallet-ethereum",
"pallet-evm",
"pallet-evm-chain-id",
+ "pallet-evm-precompile-blake2",
+ "pallet-evm-precompile-bn128",
+ "pallet-evm-precompile-modexp",
+ "pallet-evm-precompile-registry",
+ "pallet-evm-precompile-sha3fips",
+ "pallet-evm-precompile-simple",
"pallet-external-validators",
"pallet-external-validators-rewards",
"pallet-external-validators-rewards-runtime-api",
@@ -2703,6 +2753,7 @@ dependencies = [
"parity-scale-codec",
"polkadot-primitives",
"polkadot-runtime-common",
+ "precompile-utils",
"scale-info",
"serde_json",
"snowbridge-beacon-primitives 0.2.0",
@@ -2718,25 +2769,25 @@ dependencies = [
"snowbridge-pallet-system-v2",
"snowbridge-system-v2-runtime-api",
"snowbridge-verification-primitives",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-consensus-babe",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
- "sp-std",
- "sp-storage",
- "sp-tracing",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-version",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -2863,6 +2914,7 @@ dependencies = [
"proc-macro2",
"quote",
"syn 2.0.101",
+ "unicode-xid",
]
[[package]]
@@ -2881,16 +2933,16 @@ dependencies = [
name = "dhp-bridge"
version = "0.1.0"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"pallet-datahaven-native-transfer",
"pallet-external-validators",
"parity-scale-codec",
"snowbridge-core 0.2.0",
"snowbridge-inbound-queue-primitives",
- "sp-core",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -3356,7 +3408,7 @@ dependencies = [
[[package]]
name = "evm"
version = "0.42.0"
-source = "git+https://github.com/rust-ethereum/evm?branch=v0.x#4ecc569368b74a3f699d78ceb4a58a9439c21586"
+source = "git+https://github.com/rust-ethereum/evm?rev=6d86fe2d3bcc14887c2575f62958a67ac2d523db#6d86fe2d3bcc14887c2575f62958a67ac2d523db"
dependencies = [
"auto_impl",
"environmental",
@@ -3376,7 +3428,7 @@ dependencies = [
[[package]]
name = "evm-core"
version = "0.42.0"
-source = "git+https://github.com/rust-ethereum/evm?branch=v0.x#4ecc569368b74a3f699d78ceb4a58a9439c21586"
+source = "git+https://github.com/rust-ethereum/evm?rev=6d86fe2d3bcc14887c2575f62958a67ac2d523db#6d86fe2d3bcc14887c2575f62958a67ac2d523db"
dependencies = [
"parity-scale-codec",
"primitive-types 0.13.1",
@@ -3387,7 +3439,7 @@ dependencies = [
[[package]]
name = "evm-gasometer"
version = "0.42.0"
-source = "git+https://github.com/rust-ethereum/evm?branch=v0.x#4ecc569368b74a3f699d78ceb4a58a9439c21586"
+source = "git+https://github.com/rust-ethereum/evm?rev=6d86fe2d3bcc14887c2575f62958a67ac2d523db#6d86fe2d3bcc14887c2575f62958a67ac2d523db"
dependencies = [
"environmental",
"evm-core",
@@ -3398,7 +3450,7 @@ dependencies = [
[[package]]
name = "evm-runtime"
version = "0.42.0"
-source = "git+https://github.com/rust-ethereum/evm?branch=v0.x#4ecc569368b74a3f699d78ceb4a58a9439c21586"
+source = "git+https://github.com/rust-ethereum/evm?rev=6d86fe2d3bcc14887c2575f62958a67ac2d523db#6d86fe2d3bcc14887c2575f62958a67ac2d523db"
dependencies = [
"auto_impl",
"environmental",
@@ -3498,19 +3550,19 @@ dependencies = [
[[package]]
name = "fc-api"
version = "1.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"async-trait",
"fp-storage",
"parity-scale-codec",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "fc-cli"
version = "1.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"clap",
"ethereum-types",
@@ -3520,31 +3572,31 @@ dependencies = [
"sc-cli",
"serde",
"serde_json",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"async-trait",
"fp-consensus",
"fp-rpc",
"sc-consensus",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-consensus",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "fc-db"
version = "2.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"async-trait",
"ethereum",
@@ -3562,11 +3614,11 @@ dependencies = [
"sc-client-api",
"sc-client-db",
"smallvec",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-database",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sqlx",
"tokio",
]
@@ -3574,7 +3626,7 @@ dependencies = [
[[package]]
name = "fc-mapping-sync"
version = "2.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"fc-db",
"fc-storage",
@@ -3586,18 +3638,18 @@ dependencies = [
"parking_lot 0.12.3",
"sc-client-api",
"sc-utils",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"tokio",
]
[[package]]
name = "fc-rpc"
version = "2.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"ethereum",
"ethereum-types",
@@ -3629,17 +3681,17 @@ dependencies = [
"sc-utils",
"schnellru",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-externalities",
- "sp-inherents",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
- "sp-storage",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
"tokio",
@@ -3648,7 +3700,7 @@ dependencies = [
[[package]]
name = "fc-rpc-core"
version = "1.1.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"ethereum",
"ethereum-types",
@@ -3657,13 +3709,13 @@ dependencies = [
"rustc-hex",
"serde",
"serde_json",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "fc-storage"
version = "1.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"ethereum",
"ethereum-types",
@@ -3671,10 +3723,10 @@ dependencies = [
"fp-storage",
"parity-scale-codec",
"sc-client-api",
- "sp-api",
- "sp-io",
- "sp-runtime",
- "sp-storage",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -3779,12 +3831,6 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
-[[package]]
-name = "fixedbitset"
-version = "0.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99"
-
[[package]]
name = "float-cmp"
version = "0.9.0"
@@ -3848,7 +3894,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "fork-tree"
version = "13.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
]
@@ -3875,7 +3921,7 @@ dependencies = [
[[package]]
name = "fp-account"
version = "1.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"hex",
"impl-serde 0.5.0",
@@ -3884,84 +3930,84 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-runtime-interface",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
]
[[package]]
name = "fp-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"ethereum",
"parity-scale-codec",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "fp-ethereum"
version = "1.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"ethereum",
"ethereum-types",
"fp-evm",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
]
[[package]]
name = "fp-evm"
version = "3.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"environmental",
"evm",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"num_enum",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "fp-rpc"
version = "3.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"ethereum",
"ethereum-types",
"fp-evm",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-core",
- "sp-runtime",
- "sp-state-machine",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "fp-self-contained"
version = "1.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "fp-storage"
version = "2.0.0"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"parity-scale-codec",
"serde",
@@ -3976,31 +4022,55 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619"
[[package]]
name = "frame-benchmarking"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-support-procedural 31.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "linregress",
+ "log",
+ "parity-scale-codec",
+ "paste",
+ "scale-info",
+ "serde",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "static_assertions",
+]
+
+[[package]]
+name = "frame-benchmarking"
+version = "39.1.1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
- "frame-support",
- "frame-support-procedural",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-support-procedural 31.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"linregress",
"log",
"parity-scale-codec",
"paste",
"scale-info",
"serde",
- "sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-runtime-interface",
- "sp-storage",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"static_assertions",
]
[[package]]
name = "frame-benchmarking-cli"
version = "46.2.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"Inflector",
"array-bytes",
@@ -4009,9 +4079,9 @@ dependencies = [
"comfy-table",
"cumulus-client-parachain-inherent",
"cumulus-primitives-proof-size-hostfunction",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"gethostname",
"handlebars",
"hex",
@@ -4019,7 +4089,7 @@ dependencies = [
"linked-hash-map",
"log",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"polkadot-primitives",
"rand 0.8.5",
"rand_pcg",
@@ -4034,25 +4104,25 @@ dependencies = [
"sc-sysinfo",
"serde",
"serde_json",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-blockchain",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-database",
- "sp-externalities",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-state-machine",
- "sp-storage",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-timestamp",
"sp-transaction-pool",
- "sp-trie",
- "sp-version",
- "sp-wasm-interface",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"subxt",
"subxt-signer",
"thiserror 1.0.69",
@@ -4062,7 +4132,7 @@ dependencies = [
[[package]]
name = "frame-election-provider-solution-type"
version = "14.0.2"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"proc-macro-crate 3.3.0",
"proc-macro2",
@@ -4073,35 +4143,35 @@ dependencies = [
[[package]]
name = "frame-election-provider-support"
version = "39.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"frame-election-provider-solution-type",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "frame-executive"
-version = "39.1.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "39.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"aquamarine",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-try-runtime",
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-tracing",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -4142,32 +4212,75 @@ dependencies = [
[[package]]
name = "frame-metadata-hash-extension"
version = "0.7.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"const-hex",
"docify",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "frame-support"
+version = "39.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "aquamarine",
+ "array-bytes",
+ "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "bitflags 1.3.2",
+ "docify",
+ "environmental",
+ "frame-metadata 18.0.0",
+ "frame-support-procedural 31.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "impl-trait-for-tuples",
+ "k256",
"log",
+ "macro_magic",
"parity-scale-codec",
+ "paste",
"scale-info",
- "sp-runtime",
+ "serde",
+ "serde_json",
+ "smallvec",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-metadata-ir 0.8.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "static_assertions",
+ "tt-call",
]
[[package]]
name = "frame-support"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"aquamarine",
"array-bytes",
- "binary-merkle-tree",
+ "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"bitflags 1.3.2",
"docify",
"environmental",
"frame-metadata 18.0.0",
- "frame-support-procedural",
+ "frame-support-procedural 31.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"impl-trait-for-tuples",
"k256",
"log",
@@ -4178,22 +4291,22 @@ dependencies = [
"serde",
"serde_json",
"smallvec",
- "sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-crypto-hashing-proc-macro",
- "sp-debug-derive",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-metadata-ir",
- "sp-runtime",
- "sp-staking",
- "sp-state-machine",
- "sp-std",
- "sp-tracing",
- "sp-trie",
- "sp-weights",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-metadata-ir 0.8.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"static_assertions",
"tt-call",
]
@@ -4201,29 +4314,61 @@ dependencies = [
[[package]]
name = "frame-support-procedural"
version = "31.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "Inflector",
+ "cfg-expr",
+ "derive-syn-parse",
+ "docify",
+ "expander",
+ "frame-support-procedural-tools 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "itertools 0.11.0",
+ "macro_magic",
+ "proc-macro-warning 1.84.1",
+ "proc-macro2",
+ "quote",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "syn 2.0.101",
+]
+
+[[package]]
+name = "frame-support-procedural"
+version = "31.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"Inflector",
"cfg-expr",
"derive-syn-parse",
"docify",
"expander",
- "frame-support-procedural-tools",
+ "frame-support-procedural-tools 13.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"itertools 0.11.0",
"macro_magic",
"proc-macro-warning 1.84.1",
"proc-macro2",
"quote",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "syn 2.0.101",
+]
+
+[[package]]
+name = "frame-support-procedural-tools"
+version = "13.0.1"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "proc-macro-crate 3.3.0",
+ "proc-macro2",
+ "quote",
"syn 2.0.101",
]
[[package]]
name = "frame-support-procedural-tools"
version = "13.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
- "frame-support-procedural-tools-derive",
+ "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"proc-macro-crate 3.3.0",
"proc-macro2",
"quote",
@@ -4233,7 +4378,17 @@ dependencies = [
[[package]]
name = "frame-support-procedural-tools-derive"
version = "12.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.101",
+]
+
+[[package]]
+name = "frame-support-procedural-tools-derive"
+version = "12.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"proc-macro2",
"quote",
@@ -4243,26 +4398,26 @@ dependencies = [
[[package]]
name = "frame-support-test"
version = "3.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-executive",
"frame-metadata 18.0.0",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-support-test-pallet",
- "frame-system",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"pretty_assertions",
"rustversion",
"scale-info",
"serde",
- "sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-metadata-ir",
- "sp-runtime",
- "sp-version",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-metadata-ir 0.8.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"static_assertions",
"trybuild",
]
@@ -4270,69 +4425,89 @@ dependencies = [
[[package]]
name = "frame-support-test-pallet"
version = "4.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "frame-system"
+version = "39.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "cfg-if",
+ "docify",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "log",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "frame-system"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"cfg-if",
"docify",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"log",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
- "sp-version",
- "sp-weights",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "frame-system-benchmarking"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "frame-system-rpc-runtime-api"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
"parity-scale-codec",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "frame-try-runtime"
version = "0.45.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
- "sp-api",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -5927,6 +6102,9 @@ name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+dependencies = [
+ "spin 0.9.8",
+]
[[package]]
name = "lazycell"
@@ -6892,16 +7070,16 @@ dependencies = [
[[package]]
name = "mmr-rpc"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"jsonrpsee 0.24.9",
"parity-scale-codec",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-mmr-primitives",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -7285,6 +7463,20 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "num"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
[[package]]
name = "num-bigint"
version = "0.4.6"
@@ -7329,6 +7521,17 @@ dependencies = [
"num-traits",
]
+[[package]]
+name = "num-iter"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
[[package]]
name = "num-rational"
version = "0.4.2"
@@ -7537,7 +7740,7 @@ dependencies = [
"expander",
"indexmap 2.9.0",
"itertools 0.11.0",
- "petgraph 0.6.5",
+ "petgraph",
"proc-macro-crate 3.3.0",
"proc-macro2",
"quote",
@@ -7553,108 +7756,123 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "pallet-asset-conversion"
version = "21.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-asset-rate"
version = "18.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-authority-discovery"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-session",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-authority-discovery",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-authorship"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-babe"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"pallet-authorship",
"pallet-session",
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus-babe",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "pallet-balances"
+version = "40.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "docify",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-balances"
version = "40.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
dependencies = [
"docify",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.1",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-beefy"
version = "40.1.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"pallet-authorship",
"pallet-session",
@@ -7662,21 +7880,21 @@ dependencies = [
"scale-info",
"serde",
"sp-consensus-beefy",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-beefy-mmr"
version = "40.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
- "binary-merkle-tree",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"pallet-beefy",
"pallet-mmr",
@@ -7684,30 +7902,30 @@ dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus-beefy",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-broker"
-version = "0.18.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "0.18.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bitvec",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-arithmetic",
- "sp-core",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -7715,11 +7933,11 @@ name = "pallet-bucket-nfts"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.1",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"num-bigint",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"pallet-file-system",
"pallet-nfts",
"pallet-storage-providers",
@@ -7728,10 +7946,10 @@ dependencies = [
"shp-data-price-updater",
"shp-file-metadata",
"shp-traits",
- "sp-core",
- "sp-keyring",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -7739,8 +7957,8 @@ name = "pallet-cr-randomness"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"log",
"pallet-proofs-dealer",
"parity-scale-codec",
@@ -7748,28 +7966,28 @@ dependencies = [
"serde",
"shp-session-keys",
"shp-traits",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-datahaven-native-transfer"
version = "0.1.0"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "pallet-balances",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"snowbridge-core 0.2.0",
"snowbridge-outbound-queue-primitives",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
]
@@ -7777,42 +7995,42 @@ dependencies = [
[[package]]
name = "pallet-election-provider-multi-phase"
version = "38.2.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-election-provider-support",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"pallet-election-provider-support-benchmarking",
"parity-scale-codec",
"rand 0.8.5",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"strum 0.26.3",
]
[[package]]
name = "pallet-election-provider-support-benchmarking"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-election-provider-support",
- "frame-system",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-ethereum"
version = "4.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"ethereum",
"ethereum-types",
@@ -7822,70 +8040,134 @@ dependencies = [
"fp-evm",
"fp-rpc",
"fp-storage",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-evm",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-version",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-evm"
version = "6.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
dependencies = [
"environmental",
"evm",
"fp-account",
"fp-evm",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hash-db",
"hex-literal 0.4.1",
"impl-trait-for-tuples",
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-evm-chain-id"
version = "1.0.0-dev"
-source = "git+https://github.com/polkadot-evm/frontier?branch=stable2412#4dddde8766dc23337ade83fbd5836dd9e4d7326d"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "parity-scale-codec",
+ "scale-info",
+]
+
+[[package]]
+name = "pallet-evm-precompile-blake2"
+version = "2.0.0-dev"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "fp-evm",
+]
+
+[[package]]
+name = "pallet-evm-precompile-bn128"
+version = "2.0.0-dev"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "fp-evm",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "substrate-bn",
+]
+
+[[package]]
+name = "pallet-evm-precompile-modexp"
+version = "2.0.0-dev"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "fp-evm",
+ "num",
+]
+
+[[package]]
+name = "pallet-evm-precompile-registry"
+version = "0.1.0"
dependencies = [
- "frame-support",
- "frame-system",
+ "fp-evm",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "pallet-evm",
+ "pallet-timestamp",
"parity-scale-codec",
+ "precompile-utils",
"scale-info",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "pallet-evm-precompile-sha3fips"
+version = "2.0.0-dev"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "fp-evm",
+ "tiny-keccak",
+]
+
+[[package]]
+name = "pallet-evm-precompile-simple"
+version = "2.0.0-dev"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "fp-evm",
+ "ripemd",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-external-validators"
version = "0.1.0"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"log",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-session",
"pallet-timestamp",
"parity-scale-codec",
"rand 0.8.5",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-staking",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -7893,11 +8175,11 @@ name = "pallet-external-validators-rewards"
version = "0.1.0"
dependencies = [
"cumulus-primitives-core",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-external-validators",
"pallet-session",
"pallet-timestamp",
@@ -7908,11 +8190,11 @@ dependencies = [
"snowbridge-core 0.2.0",
"snowbridge-merkle-tree",
"snowbridge-outbound-queue-primitives",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-staking",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -7921,26 +8203,26 @@ version = "0.1.0"
dependencies = [
"parity-scale-codec",
"snowbridge-merkle-tree",
- "sp-api",
- "sp-core",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-fast-unstake"
version = "38.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-election-provider-support",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-staking",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -7948,9 +8230,9 @@ name = "pallet-file-system"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.1",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"log",
"num-bigint",
"pallet-file-system-runtime-api",
@@ -7963,11 +8245,11 @@ dependencies = [
"shp-constants",
"shp-file-metadata",
"shp-traits",
- "sp-core",
- "sp-runtime",
- "sp-std",
- "sp-trie",
- "sp-weights",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -7977,109 +8259,109 @@ source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf2
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-grandpa"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"pallet-authorship",
"pallet-session",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus-grandpa",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-identity"
-version = "39.2.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "39.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"enumflags2",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-im-online"
-version = "38.1.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "38.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"pallet-authorship",
"parity-scale-codec",
"scale-info",
- "sp-application-crypto",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-staking",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-message-queue"
version = "42.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"environmental",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-weights",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-mmr"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-mmr-primitives",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-multisig"
version = "39.1.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"log",
"parity-scale-codec",
@@ -8090,62 +8372,62 @@ dependencies = [
[[package]]
name = "pallet-nfts"
version = "33.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
dependencies = [
"enumflags2",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.1",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-offences"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-runtime",
- "sp-staking",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-outbound-commitment-store"
version = "0.1.0"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-parameters"
version = "0.10.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"paste",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -8153,9 +8435,9 @@ name = "pallet-payment-streams"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.1",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"pallet-payment-streams-runtime-api",
"pallet-proofs-dealer",
"pallet-storage-providers",
@@ -8164,8 +8446,8 @@ dependencies = [
"shp-constants",
"shp-traits",
"shp-treasury-funding",
- "sp-runtime",
- "sp-weights",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -8175,25 +8457,25 @@ source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf2
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-runtime",
- "sp-std",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-preimage"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -8201,21 +8483,21 @@ name = "pallet-proofs-dealer"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "pallet-balances",
+ "frame-benchmarking 39.1.1",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"pallet-proofs-dealer-runtime-api",
"pallet-storage-providers",
"parity-scale-codec",
"scale-info",
"shp-traits",
- "sp-core",
- "sp-keyring",
- "sp-runtime",
- "sp-std",
- "sp-trie",
- "sp-weights",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -8225,15 +8507,15 @@ source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf2
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-runtime",
- "sp-std",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-proxy"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"polkadot-sdk-frame",
@@ -8245,67 +8527,67 @@ name = "pallet-randomness"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"log",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"scale-info",
"serde",
"shp-session-keys",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-scheduler"
-version = "40.2.2"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "40.2.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
- "sp-weights",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-session"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"log",
"pallet-timestamp",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
- "sp-state-machine",
- "sp-trie",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-staking"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-election-provider-support",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"pallet-authorship",
"pallet-session",
@@ -8313,19 +8595,19 @@ dependencies = [
"rand_chacha 0.3.1",
"scale-info",
"serde",
- "sp-application-crypto",
- "sp-io",
- "sp-runtime",
- "sp-staking",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-staking-reward-fn"
version = "22.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"log",
- "sp-arithmetic",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -8333,21 +8615,21 @@ name = "pallet-storage-providers"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.1",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"log",
"pallet-randomness",
"pallet-storage-providers-runtime-api",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"scale-info",
"shp-constants",
"shp-traits",
- "sp-arithmetic",
- "sp-runtime",
- "sp-std",
- "sp-trie",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -8357,153 +8639,152 @@ source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf2
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "pallet-sudo"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
- "sp-io",
- "sp-runtime",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-timestamp"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-inherents",
- "sp-io",
- "sp-runtime",
- "sp-storage",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-timestamp",
]
[[package]]
name = "pallet-transaction-payment"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-transaction-payment-rpc"
version = "42.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"jsonrpsee 0.24.9",
"pallet-transaction-payment-rpc-runtime-api",
"parity-scale-codec",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-rpc",
- "sp-runtime",
- "sp-weights",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
- "sp-api",
- "sp-runtime",
- "sp-weights",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-treasury"
version = "38.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"log",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-utility"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-vesting"
version = "39.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"log",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "pallet-xcm"
-version = "18.1.3"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "18.1.1"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bounded-collections",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "hex-literal 0.4.1",
- "pallet-balances",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -8745,17 +9026,7 @@ version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
dependencies = [
- "fixedbitset 0.4.2",
- "indexmap 2.9.0",
-]
-
-[[package]]
-name = "petgraph"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772"
-dependencies = [
- "fixedbitset 0.5.7",
+ "fixedbitset",
"indexmap 2.9.0",
]
@@ -8831,18 +9102,29 @@ dependencies = [
[[package]]
name = "polkadot-core-primitives"
version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "polkadot-core-primitives"
+version = "16.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "polkadot-node-metrics"
version = "21.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bs58",
"futures",
@@ -8861,7 +9143,7 @@ dependencies = [
[[package]]
name = "polkadot-node-network-protocol"
version = "21.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-channel 1.9.0",
"async-trait",
@@ -8877,7 +9159,7 @@ dependencies = [
"sc-authority-discovery",
"sc-network",
"sc-network-types",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"strum 0.26.3",
"thiserror 1.0.69",
"tracing-gum",
@@ -8886,25 +9168,25 @@ dependencies = [
[[package]]
name = "polkadot-node-primitives"
version = "17.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bitvec",
"bounded-vec",
"futures",
"futures-timer",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"polkadot-primitives",
"sc-keystore",
"schnorrkel",
"serde",
- "sp-application-crypto",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus-babe",
"sp-consensus-slots",
- "sp-core",
- "sp-keystore",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-maybe-compressed-blob",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
"zstd 0.12.4",
]
@@ -8912,7 +9194,7 @@ dependencies = [
[[package]]
name = "polkadot-node-subsystem-types"
version = "21.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"bitvec",
@@ -8929,11 +9211,11 @@ dependencies = [
"sc-network-types",
"sc-transaction-pool-api",
"smallvec",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-authority-discovery",
"sp-blockchain",
"sp-consensus-babe",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
]
@@ -8941,7 +9223,7 @@ dependencies = [
[[package]]
name = "polkadot-overseer"
version = "21.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
@@ -8954,8 +9236,8 @@ dependencies = [
"polkadot-node-subsystem-types",
"polkadot-primitives",
"sc-client-api",
- "sp-api",
- "sp-core",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"tikv-jemalloc-ctl",
"tracing-gum",
]
@@ -8963,64 +9245,80 @@ dependencies = [
[[package]]
name = "polkadot-parachain-primitives"
version = "15.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "bounded-collections",
+ "derive_more 0.99.20",
+ "parity-scale-codec",
+ "polkadot-core-primitives 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "scale-info",
+ "serde",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "polkadot-parachain-primitives"
+version = "15.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
dependencies = [
"bounded-collections",
"derive_more 0.99.20",
"parity-scale-codec",
- "polkadot-core-primitives",
+ "polkadot-core-primitives 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
- "sp-weights",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "polkadot-primitives"
version = "17.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bitvec",
"hex-literal 0.4.1",
"log",
"parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
+ "polkadot-core-primitives 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"scale-info",
"serde",
- "sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-authority-discovery",
"sp-consensus-slots",
- "sp-core",
- "sp-inherents",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
- "sp-staking",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "polkadot-runtime-common"
version = "18.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bitvec",
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-election-provider-support",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"libsecp256k1",
"log",
"pallet-asset-rate",
"pallet-authorship",
"pallet-babe",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-broker",
"pallet-election-provider-multi-phase",
"pallet-fast-unstake",
@@ -9040,15 +9338,15 @@ dependencies = [
"serde",
"serde_derive",
"slot-range-helper",
- "sp-api",
- "sp-core",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-npos-elections",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -9058,32 +9356,32 @@ dependencies = [
[[package]]
name = "polkadot-runtime-metrics"
version = "18.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bs58",
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"parity-scale-codec",
"polkadot-primitives",
- "sp-tracing",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "polkadot-runtime-parachains"
version = "18.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bitflags 1.3.2",
"bitvec",
"derive_more 0.99.20",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"log",
"pallet-authority-discovery",
"pallet-authorship",
"pallet-babe",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-broker",
"pallet-message-queue",
"pallet-mmr",
@@ -9092,25 +9390,25 @@ dependencies = [
"pallet-timestamp",
"pallet-vesting",
"parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
+ "polkadot-core-primitives 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"polkadot-primitives",
"polkadot-runtime-metrics",
"rand 0.8.5",
"rand_chacha 0.3.1",
"scale-info",
"serde",
- "sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
- "sp-core",
- "sp-inherents",
- "sp-io",
- "sp-keystore",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-staking",
- "sp-std",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-executor",
"static_assertions",
@@ -9119,45 +9417,45 @@ dependencies = [
[[package]]
name = "polkadot-sdk-frame"
version = "0.8.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
- "frame-benchmarking",
+ "frame-benchmarking 39.1.0",
"frame-executive",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"frame-system-benchmarking",
"frame-system-rpc-runtime-api",
"frame-try-runtime",
"log",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-arithmetic",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-consensus-aura",
"sp-consensus-grandpa",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-storage",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-version",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "polkadot-statement-table"
version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"tracing-gum",
]
@@ -9312,6 +9610,49 @@ dependencies = [
"zerocopy",
]
+[[package]]
+name = "precompile-utils"
+version = "0.1.0"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "derive_more 1.0.0",
+ "environmental",
+ "evm",
+ "fp-evm",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "hex",
+ "hex-literal 0.4.1",
+ "impl-trait-for-tuples",
+ "log",
+ "num_enum",
+ "pallet-evm",
+ "parity-scale-codec",
+ "precompile-utils-macro",
+ "scale-info",
+ "serde",
+ "similar-asserts",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "staging-xcm",
+]
+
+[[package]]
+name = "precompile-utils-macro"
+version = "0.1.0"
+source = "git+https://github.com/polkadot-evm/frontier?rev=75329a2df49e2cc7981485392c31160929d1bd48#75329a2df49e2cc7981485392c31160929d1bd48"
+dependencies = [
+ "case",
+ "num_enum",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "syn 2.0.101",
+]
+
[[package]]
name = "predicates"
version = "2.1.5"
@@ -9600,7 +9941,7 @@ dependencies = [
"log",
"multimap",
"once_cell",
- "petgraph 0.7.1",
+ "petgraph",
"prettyplease",
"prost 0.13.5",
"prost-types",
@@ -10530,18 +10871,18 @@ dependencies = [
[[package]]
name = "sc-allocator"
version = "30.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"log",
- "sp-core",
- "sp-wasm-interface",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sc-authority-discovery"
version = "0.48.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
@@ -10558,12 +10899,12 @@ dependencies = [
"sc-client-api",
"sc-network",
"sc-network-types",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-authority-discovery",
"sp-blockchain",
- "sp-core",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
]
@@ -10571,7 +10912,7 @@ dependencies = [
[[package]]
name = "sc-basic-authorship"
version = "0.48.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"futures",
"futures-timer",
@@ -10581,34 +10922,34 @@ dependencies = [
"sc-proposer-metrics",
"sc-telemetry",
"sc-transaction-pool-api",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-inherents",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
]
[[package]]
name = "sc-block-builder"
version = "0.43.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-blockchain",
- "sp-core",
- "sp-inherents",
- "sp-runtime",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-chain-spec"
version = "41.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"docify",
@@ -10623,19 +10964,19 @@ dependencies = [
"serde",
"serde_json",
"sp-blockchain",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-genesis-builder",
- "sp-io",
- "sp-runtime",
- "sp-state-machine",
- "sp-tracing",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-genesis-builder 0.16.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-chain-spec-derive"
version = "12.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"proc-macro-crate 3.3.0",
"proc-macro2",
@@ -10645,8 +10986,8 @@ dependencies = [
[[package]]
name = "sc-cli"
-version = "0.50.2"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "0.50.1"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"chrono",
@@ -10675,12 +11016,12 @@ dependencies = [
"serde",
"serde_json",
"sp-blockchain",
- "sp-core",
- "sp-keyring",
- "sp-keystore",
- "sp-panic-handler",
- "sp-runtime",
- "sp-version",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-panic-handler 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
"tokio",
]
@@ -10688,7 +11029,7 @@ dependencies = [
[[package]]
name = "sc-client-api"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"fnv",
"futures",
@@ -10698,24 +11039,24 @@ dependencies = [
"sc-executor",
"sc-transaction-pool-api",
"sc-utils",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-database",
- "sp-externalities",
- "sp-runtime",
- "sp-state-machine",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-statement-store",
- "sp-storage",
- "sp-trie",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
]
[[package]]
name = "sc-client-db"
version = "0.45.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"hash-db",
"kvdb",
@@ -10729,19 +11070,19 @@ dependencies = [
"sc-client-api",
"sc-state-db",
"schnellru",
- "sp-arithmetic",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-database",
- "sp-runtime",
- "sp-state-machine",
- "sp-trie",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-consensus"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
@@ -10752,12 +11093,12 @@ dependencies = [
"sc-network-types",
"sc-utils",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
]
@@ -10765,7 +11106,7 @@ dependencies = [
[[package]]
name = "sc-consensus-aura"
version = "0.48.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
@@ -10776,17 +11117,17 @@ dependencies = [
"sc-consensus",
"sc-consensus-slots",
"sc-telemetry",
- "sp-api",
- "sp-application-crypto",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-aura",
"sp-consensus-slots",
- "sp-core",
- "sp-inherents",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
]
@@ -10794,7 +11135,7 @@ dependencies = [
[[package]]
name = "sc-consensus-babe"
version = "0.48.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"fork-tree",
@@ -10811,18 +11152,18 @@ dependencies = [
"sc-consensus-slots",
"sc-telemetry",
"sc-transaction-pool-api",
- "sp-api",
- "sp-application-crypto",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
"sp-consensus-slots",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-inherents",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
]
@@ -10830,7 +11171,7 @@ dependencies = [
[[package]]
name = "sc-consensus-beefy"
version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"async-channel 1.9.0",
@@ -10847,16 +11188,16 @@ dependencies = [
"sc-network-sync",
"sc-network-types",
"sc-utils",
- "sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
"sp-consensus-beefy",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
"tokio",
@@ -10866,7 +11207,7 @@ dependencies = [
[[package]]
name = "sc-consensus-beefy-rpc"
version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"futures",
"jsonrpsee 0.24.9",
@@ -10876,30 +11217,30 @@ dependencies = [
"sc-consensus-beefy",
"sc-rpc",
"serde",
- "sp-application-crypto",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus-beefy",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sc-consensus-epochs"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"fork-tree",
"parity-scale-codec",
"sc-client-api",
"sc-consensus",
"sp-blockchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-consensus-grandpa"
version = "0.33.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"ahash",
"array-bytes",
@@ -10926,16 +11267,16 @@ dependencies = [
"sc-transaction-pool-api",
"sc-utils",
"serde_json",
- "sp-api",
- "sp-application-crypto",
- "sp-arithmetic",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
"sp-consensus-grandpa",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
]
@@ -10943,7 +11284,7 @@ dependencies = [
[[package]]
name = "sc-consensus-manual-seal"
version = "0.49.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"assert_matches",
"async-trait",
@@ -10960,16 +11301,16 @@ dependencies = [
"sc-transaction-pool",
"sc-transaction-pool-api",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
"sp-consensus-aura",
"sp-consensus-babe",
"sp-consensus-slots",
- "sp-core",
- "sp-inherents",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-timestamp",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
@@ -10978,7 +11319,7 @@ dependencies = [
[[package]]
name = "sc-consensus-slots"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
@@ -10988,20 +11329,20 @@ dependencies = [
"sc-client-api",
"sc-consensus",
"sc-telemetry",
- "sp-arithmetic",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
"sp-consensus-slots",
- "sp-core",
- "sp-inherents",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-executor"
version = "0.41.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"parking_lot 0.12.3",
@@ -11009,27 +11350,27 @@ dependencies = [
"sc-executor-polkavm",
"sc-executor-wasmtime",
"schnellru",
- "sp-api",
- "sp-core",
- "sp-externalities",
- "sp-io",
- "sp-panic-handler",
- "sp-runtime-interface",
- "sp-trie",
- "sp-version",
- "sp-wasm-interface",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-panic-handler 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"tracing",
]
[[package]]
name = "sc-executor-common"
version = "0.36.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"polkavm",
"sc-allocator",
"sp-maybe-compressed-blob",
- "sp-wasm-interface",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
"wasm-instrument",
]
@@ -11037,18 +11378,18 @@ dependencies = [
[[package]]
name = "sc-executor-polkavm"
version = "0.33.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"log",
"polkavm",
"sc-executor-common",
- "sp-wasm-interface",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-executor-wasmtime"
version = "0.36.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"anyhow",
"cfg-if",
@@ -11058,15 +11399,15 @@ dependencies = [
"rustix 0.36.17",
"sc-allocator",
"sc-executor-common",
- "sp-runtime-interface",
- "sp-wasm-interface",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"wasmtime",
]
[[package]]
name = "sc-informant"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"console",
"futures",
@@ -11077,27 +11418,27 @@ dependencies = [
"sc-network-common",
"sc-network-sync",
"sp-blockchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-keystore"
version = "34.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"parking_lot 0.12.3",
"serde_json",
- "sp-application-crypto",
- "sp-core",
- "sp-keystore",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sc-mixnet"
version = "0.18.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"arrayvec 0.7.6",
@@ -11114,19 +11455,19 @@ dependencies = [
"sc-network",
"sc-network-types",
"sc-transaction-pool-api",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus",
- "sp-core",
- "sp-keystore",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-mixnet",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sc-network"
-version = "0.48.5"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "0.48.4"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"async-channel 1.9.0",
@@ -11160,10 +11501,10 @@ dependencies = [
"serde",
"serde_json",
"smallvec",
- "sp-arithmetic",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
"tokio",
@@ -11177,7 +11518,7 @@ dependencies = [
[[package]]
name = "sc-network-common"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"bitflags 1.3.2",
@@ -11189,13 +11530,13 @@ dependencies = [
"sc-network-types",
"sp-consensus",
"sp-consensus-grandpa",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-network-gossip"
version = "0.48.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"ahash",
"futures",
@@ -11206,7 +11547,7 @@ dependencies = [
"sc-network-sync",
"sc-network-types",
"schnellru",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"tracing",
]
@@ -11214,7 +11555,7 @@ dependencies = [
[[package]]
name = "sc-network-light"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"async-channel 1.9.0",
@@ -11227,15 +11568,15 @@ dependencies = [
"sc-network",
"sc-network-types",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sc-network-sync"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"async-channel 1.9.0",
@@ -11256,12 +11597,12 @@ dependencies = [
"sc-utils",
"schnellru",
"smallvec",
- "sp-arithmetic",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
"sp-consensus-grandpa",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
"tokio",
@@ -11271,7 +11612,7 @@ dependencies = [
[[package]]
name = "sc-network-transactions"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"futures",
@@ -11283,14 +11624,14 @@ dependencies = [
"sc-network-types",
"sc-utils",
"sp-consensus",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"substrate-prometheus-endpoint",
]
[[package]]
name = "sc-network-types"
-version = "0.15.5"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "0.15.2"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bs58",
"ed25519-dalek",
@@ -11306,8 +11647,8 @@ dependencies = [
[[package]]
name = "sc-offchain"
-version = "43.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "43.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"bytes",
@@ -11331,12 +11672,12 @@ dependencies = [
"sc-network-types",
"sc-transaction-pool-api",
"sc-utils",
- "sp-api",
- "sp-core",
- "sp-externalities",
- "sp-keystore",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-offchain",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"threadpool",
"tracing",
]
@@ -11344,7 +11685,7 @@ dependencies = [
[[package]]
name = "sc-proposer-metrics"
version = "0.18.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -11353,7 +11694,7 @@ dependencies = [
[[package]]
name = "sc-rpc"
version = "43.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"futures",
"jsonrpsee 0.24.9",
@@ -11369,23 +11710,23 @@ dependencies = [
"sc-transaction-pool-api",
"sc-utils",
"serde_json",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
- "sp-keystore",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-offchain",
"sp-rpc",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
"sp-statement-store",
- "sp-version",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"tokio",
]
[[package]]
name = "sc-rpc-api"
version = "0.47.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"jsonrpsee 0.24.9",
"parity-scale-codec",
@@ -11395,17 +11736,17 @@ dependencies = [
"scale-info",
"serde",
"serde_json",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-rpc",
- "sp-runtime",
- "sp-version",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sc-rpc-server"
version = "20.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"dyn-clone",
"forwarded-header-value",
@@ -11429,7 +11770,7 @@ dependencies = [
[[package]]
name = "sc-rpc-spec-v2"
version = "0.48.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"futures",
@@ -11447,12 +11788,12 @@ dependencies = [
"sc-transaction-pool-api",
"schnellru",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-rpc",
- "sp-runtime",
- "sp-version",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
"tokio",
"tokio-stream",
@@ -11461,7 +11802,7 @@ dependencies = [
[[package]]
name = "sc-service"
version = "0.49.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"directories",
@@ -11499,20 +11840,20 @@ dependencies = [
"schnellru",
"serde",
"serde_json",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
"sp-consensus",
- "sp-core",
- "sp-externalities",
- "sp-keystore",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-session",
- "sp-state-machine",
- "sp-storage",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
"sp-transaction-storage-proof",
- "sp-trie",
- "sp-version",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"static_init",
"substrate-prometheus-endpoint",
"tempfile",
@@ -11525,18 +11866,18 @@ dependencies = [
[[package]]
name = "sc-state-db"
version = "0.37.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"log",
"parity-scale-codec",
"parking_lot 0.12.3",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-sysinfo"
version = "41.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"derive_more 0.99.20",
"futures",
@@ -11548,16 +11889,16 @@ dependencies = [
"sc-telemetry",
"serde",
"serde_json",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-io",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sc-telemetry"
version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"chrono",
"futures",
@@ -11577,7 +11918,7 @@ dependencies = [
[[package]]
name = "sc-tracing"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"chrono",
"console",
@@ -11590,12 +11931,12 @@ dependencies = [
"sc-client-api",
"sc-tracing-proc-macro",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-rpc",
- "sp-runtime",
- "sp-tracing",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
"tracing",
"tracing-log",
@@ -11605,7 +11946,7 @@ dependencies = [
[[package]]
name = "sc-tracing-proc-macro"
version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"proc-macro-crate 3.3.0",
"proc-macro2",
@@ -11616,7 +11957,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool"
version = "38.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
@@ -11631,12 +11972,12 @@ dependencies = [
"sc-transaction-pool-api",
"sc-utils",
"serde",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-blockchain",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-runtime",
- "sp-tracing",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
"substrate-prometheus-endpoint",
"thiserror 1.0.69",
@@ -11647,7 +11988,7 @@ dependencies = [
[[package]]
name = "sc-transaction-pool-api"
version = "38.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
@@ -11655,15 +11996,15 @@ dependencies = [
"parity-scale-codec",
"serde",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sc-utils"
version = "18.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-channel 1.9.0",
"futures",
@@ -11671,7 +12012,7 @@ dependencies = [
"log",
"parking_lot 0.12.3",
"prometheus",
- "sp-arithmetic",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -12180,8 +12521,8 @@ name = "shp-constants"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -12189,14 +12530,14 @@ name = "shp-data-price-updater"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"parity-scale-codec",
"scale-info",
"serde",
"shp-traits",
- "sp-core",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -12204,16 +12545,16 @@ name = "shp-file-key-verifier"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"parity-scale-codec",
"scale-info",
"serde",
"shp-file-metadata",
"shp-traits",
- "sp-core",
- "sp-runtime",
- "sp-std",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"trie-db",
]
@@ -12228,9 +12569,9 @@ dependencies = [
"scale-info",
"serde",
"shp-traits",
- "sp-arithmetic",
- "sp-core",
- "sp-std",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -12238,15 +12579,15 @@ name = "shp-forest-verifier"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"parity-scale-codec",
"scale-info",
"shp-traits",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"trie-db",
]
@@ -12258,11 +12599,11 @@ dependencies = [
"async-trait",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-inherents",
- "sp-keystore",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -12270,13 +12611,13 @@ name = "shp-traits"
version = "0.1.0"
source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf241d19d211c3325be7329869b85d#e32b6a8fbbdf241d19d211c3325be7329869b85d"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
- "sp-std",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -12286,8 +12627,8 @@ source = "git+https://github.com/Moonsong-Labs/storage-hub.git?rev=e32b6a8fbbdf2
dependencies = [
"log",
"shp-traits",
- "sp-arithmetic",
- "sp-core",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -12323,8 +12664,28 @@ dependencies = [
]
[[package]]
-name = "simple-dns"
-version = "0.9.3"
+name = "similar"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"
+dependencies = [
+ "bstr",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "similar-asserts"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b441962c817e33508847a22bd82f03a30cff43642dc2fae8b050566121eb9a"
+dependencies = [
+ "console",
+ "similar",
+]
+
+[[package]]
+name = "simple-dns"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a"
dependencies = [
@@ -12367,12 +12728,12 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7"
[[package]]
name = "slot-range-helper"
version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"enumn",
"parity-scale-codec",
"paste",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -12527,7 +12888,7 @@ name = "snowbridge-beacon-primitives"
version = "0.2.0"
dependencies = [
"byte-slice-cast",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"hex-literal 0.3.4",
"parity-scale-codec",
@@ -12536,10 +12897,10 @@ dependencies = [
"serde",
"snowbridge-ethereum 0.3.0",
"snowbridge-milagro-bls",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"ssz_rs",
"ssz_rs_derive",
]
@@ -12547,10 +12908,10 @@ dependencies = [
[[package]]
name = "snowbridge-beacon-primitives"
version = "0.12.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"byte-slice-cast",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"parity-scale-codec",
"rlp 0.6.1",
@@ -12558,10 +12919,10 @@ dependencies = [
"serde",
"snowbridge-ethereum 0.11.0",
"snowbridge-milagro-bls",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"ssz_rs",
"ssz_rs_derive",
]
@@ -12572,20 +12933,20 @@ version = "0.2.0"
dependencies = [
"bp-relayers",
"ethabi-decode",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"hex-literal 0.3.4",
"log",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"scale-info",
"serde",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -12594,22 +12955,22 @@ dependencies = [
[[package]]
name = "snowbridge-core"
version = "0.12.2"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"ethabi-decode",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex-literal 0.4.1",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"scale-info",
"serde",
"snowbridge-beacon-primitives 0.12.1",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
]
@@ -12630,15 +12991,15 @@ dependencies = [
"serde",
"serde-big-array",
"serde_json",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "snowbridge-ethereum"
version = "0.11.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"ethabi-decode",
"ethbloom",
@@ -12650,9 +13011,9 @@ dependencies = [
"scale-info",
"serde",
"serde-big-array",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -12660,8 +13021,8 @@ name = "snowbridge-inbound-queue-primitives"
version = "0.9.0"
dependencies = [
"alloy-core",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"hex-literal 0.3.4",
"impl-trait-for-tuples",
@@ -12671,10 +13032,10 @@ dependencies = [
"snowbridge-beacon-primitives 0.2.0",
"snowbridge-core 0.2.0",
"snowbridge-verification-primitives",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -12689,10 +13050,10 @@ dependencies = [
"hex-literal 0.3.4",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-runtime",
- "sp-tracing",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -12713,12 +13074,12 @@ dependencies = [
[[package]]
name = "snowbridge-outbound-queue-merkle-tree"
version = "0.10.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -12727,21 +13088,21 @@ version = "0.2.0"
dependencies = [
"alloy-core",
"ethabi-decode",
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"hex-literal 0.3.4",
"log",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"scale-info",
"snowbridge-core 0.2.0",
"snowbridge-verification-primitives",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -12751,14 +13112,14 @@ dependencies = [
name = "snowbridge-outbound-queue-v2-runtime-api"
version = "0.2.0"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"snowbridge-core 0.2.0",
"snowbridge-merkle-tree",
"snowbridge-outbound-queue-primitives",
- "sp-api",
- "sp-std",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
]
@@ -12766,9 +13127,9 @@ dependencies = [
name = "snowbridge-pallet-ethereum-client"
version = "0.2.0"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex-literal 0.3.4",
"log",
"pallet-timestamp",
@@ -12782,10 +13143,10 @@ dependencies = [
"snowbridge-ethereum 0.3.0",
"snowbridge-inbound-queue-primitives",
"snowbridge-pallet-ethereum-client-fixtures",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"static_assertions",
]
@@ -12797,8 +13158,8 @@ dependencies = [
"snowbridge-beacon-primitives 0.2.0",
"snowbridge-core 0.2.0",
"snowbridge-inbound-queue-primitives",
- "sp-core",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -12807,13 +13168,13 @@ version = "0.2.0"
dependencies = [
"alloy-core",
"bp-relayers",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"hex-literal 0.3.4",
"log",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
@@ -12823,11 +13184,11 @@ dependencies = [
"snowbridge-pallet-ethereum-client",
"snowbridge-pallet-inbound-queue-v2-fixtures",
"snowbridge-test-utils",
- "sp-core",
- "sp-io",
- "sp-keyring",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -12842,30 +13203,30 @@ dependencies = [
"snowbridge-beacon-primitives 0.2.0",
"snowbridge-core 0.2.0",
"snowbridge-inbound-queue-primitives",
- "sp-core",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "snowbridge-pallet-outbound-queue"
version = "0.12.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bridge-hub-common 0.12.0",
"ethabi-decode",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"serde",
"snowbridge-core 0.12.2",
"snowbridge-outbound-queue-merkle-tree",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -12876,9 +13237,9 @@ dependencies = [
"bp-relayers",
"bridge-hub-common 0.13.1",
"ethabi-decode",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex-literal 0.3.4",
"pallet-message-queue",
"parity-scale-codec",
@@ -12890,12 +13251,12 @@ dependencies = [
"snowbridge-merkle-tree",
"snowbridge-outbound-queue-primitives",
"snowbridge-verification-primitives",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-keyring",
- "sp-runtime",
- "sp-std",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -12905,13 +13266,13 @@ dependencies = [
name = "snowbridge-pallet-system"
version = "0.13.1"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"hex-literal 0.3.4",
"log",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-message-queue",
"parity-scale-codec",
"polkadot-primitives",
@@ -12919,10 +13280,10 @@ dependencies = [
"snowbridge-core 0.2.0",
"snowbridge-outbound-queue-primitives",
"snowbridge-pallet-outbound-queue",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-executor",
]
@@ -12931,12 +13292,12 @@ dependencies = [
name = "snowbridge-pallet-system-v2"
version = "0.2.0"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex-literal 0.3.4",
"log",
- "pallet-balances",
+ "pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-xcm",
"parity-scale-codec",
"polkadot-primitives",
@@ -12946,11 +13307,11 @@ dependencies = [
"snowbridge-pallet-outbound-queue-v2",
"snowbridge-pallet-system",
"snowbridge-test-utils",
- "sp-core",
- "sp-io",
- "sp-keyring",
- "sp-runtime",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keyring 40.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-executor",
]
@@ -12961,8 +13322,8 @@ version = "0.2.0"
dependencies = [
"parity-scale-codec",
"snowbridge-core 0.2.0",
- "sp-api",
- "sp-std",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
]
@@ -12970,17 +13331,17 @@ dependencies = [
name = "snowbridge-test-utils"
version = "0.1.0"
dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex",
"log",
"pallet-xcm",
"parity-scale-codec",
"scale-info",
"snowbridge-outbound-queue-primitives",
- "sp-core",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -12990,12 +13351,12 @@ dependencies = [
name = "snowbridge-verification-primitives"
version = "0.2.0"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
"snowbridge-beacon-primitives 0.2.0",
- "sp-core",
- "sp-std",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
@@ -13052,29 +13413,65 @@ dependencies = [
[[package]]
name = "sp-api"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "docify",
+ "hash-db",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api-proc-macro 21.0.0",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-metadata-ir 0.8.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "sp-api"
+version = "35.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"docify",
"hash-db",
"log",
"parity-scale-codec",
"scale-info",
- "sp-api-proc-macro",
- "sp-core",
- "sp-externalities",
- "sp-metadata-ir",
- "sp-runtime",
- "sp-runtime-interface",
- "sp-state-machine",
- "sp-trie",
- "sp-version",
+ "sp-api-proc-macro 21.0.2",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-metadata-ir 0.8.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"thiserror 1.0.69",
]
+[[package]]
+name = "sp-api-proc-macro"
+version = "21.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "Inflector",
+ "blake2 0.10.6",
+ "expander",
+ "proc-macro-crate 3.3.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.101",
+]
+
[[package]]
name = "sp-api-proc-macro"
version = "21.0.2"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"Inflector",
"blake2 0.10.6",
@@ -13088,19 +13485,45 @@ dependencies = [
[[package]]
name = "sp-application-crypto"
version = "39.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-application-crypto"
+version = "39.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-io",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "sp-arithmetic"
version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "docify",
+ "integer-sqrt",
+ "num-traits",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "static_assertions",
+]
+
+[[package]]
+name = "sp-arithmetic"
+version = "26.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"docify",
"integer-sqrt",
@@ -13114,40 +13537,40 @@ dependencies = [
[[package]]
name = "sp-authority-discovery"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-application-crypto",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-block-builder"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "sp-api",
- "sp-inherents",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-blockchain"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"futures",
"parity-scale-codec",
"parking_lot 0.12.3",
"schnellru",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-database",
- "sp-runtime",
- "sp-state-machine",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
"tracing",
]
@@ -13155,93 +13578,93 @@ dependencies = [
[[package]]
name = "sp-consensus"
version = "0.41.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"futures",
"log",
- "sp-core",
- "sp-inherents",
- "sp-runtime",
- "sp-state-machine",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sp-consensus-aura"
version = "0.41.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-application-crypto",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus-slots",
- "sp-inherents",
- "sp-runtime",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-timestamp",
]
[[package]]
name = "sp-consensus-babe"
version = "0.41.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-api",
- "sp-application-crypto",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-consensus-slots",
- "sp-core",
- "sp-inherents",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-timestamp",
]
[[package]]
name = "sp-consensus-beefy"
version = "23.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-io",
- "sp-keystore",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-mmr-primitives",
- "sp-runtime",
- "sp-weights",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"strum 0.26.3",
]
[[package]]
name = "sp-consensus-grandpa"
version = "22.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"finality-grandpa",
"log",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-keystore",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-consensus-slots"
version = "0.41.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -13252,7 +13675,53 @@ dependencies = [
[[package]]
name = "sp-core"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "array-bytes",
+ "bitflags 1.3.2",
+ "blake2 0.10.6",
+ "bounded-collections",
+ "bs58",
+ "dyn-clonable",
+ "ed25519-zebra",
+ "futures",
+ "hash-db",
+ "hash256-std-hasher",
+ "impl-serde 0.5.0",
+ "itertools 0.11.0",
+ "k256",
+ "libsecp256k1",
+ "log",
+ "merlin",
+ "parity-bip39",
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "paste",
+ "primitive-types 0.13.1",
+ "rand 0.8.5",
+ "scale-info",
+ "schnorrkel",
+ "secp256k1 0.28.2",
+ "secrecy",
+ "serde",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "ss58-registry",
+ "substrate-bip39 0.6.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "thiserror 1.0.69",
+ "tracing",
+ "w3f-bls",
+ "zeroize",
+]
+
+[[package]]
+name = "sp-core"
+version = "35.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"array-bytes",
"bitflags 1.3.2",
@@ -13281,14 +13750,14 @@ dependencies = [
"secp256k1 0.28.2",
"secrecy",
"serde",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-debug-derive",
- "sp-externalities",
- "sp-runtime-interface",
- "sp-std",
- "sp-storage",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"ss58-registry",
- "substrate-bip39",
+ "substrate-bip39 0.6.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"thiserror 1.0.69",
"tracing",
"w3f-bls",
@@ -13312,7 +13781,20 @@ dependencies = [
[[package]]
name = "sp-crypto-hashing"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "blake2b_simd",
+ "byteorder",
+ "digest 0.10.7",
+ "sha2 0.10.9",
+ "sha3",
+ "twox-hash",
+]
+
+[[package]]
+name = "sp-crypto-hashing"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"blake2b_simd",
"byteorder",
@@ -13325,17 +13807,27 @@ dependencies = [
[[package]]
name = "sp-crypto-hashing-proc-macro"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "quote",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "syn 2.0.101",
+]
+
+[[package]]
+name = "sp-crypto-hashing-proc-macro"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"quote",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"syn 2.0.101",
]
[[package]]
name = "sp-database"
version = "10.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"kvdb",
"parking_lot 0.12.3",
@@ -13344,7 +13836,17 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.101",
+]
+
+[[package]]
+name = "sp-debug-derive"
+version = "14.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"proc-macro2",
"quote",
@@ -13354,42 +13856,103 @@ dependencies = [
[[package]]
name = "sp-externalities"
version = "0.30.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "environmental",
+ "parity-scale-codec",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-externalities"
+version = "0.30.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"environmental",
"parity-scale-codec",
- "sp-storage",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+]
+
+[[package]]
+name = "sp-genesis-builder"
+version = "0.16.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "parity-scale-codec",
+ "scale-info",
+ "serde_json",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-genesis-builder"
version = "0.16.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"parity-scale-codec",
"scale-info",
"serde_json",
- "sp-api",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+]
+
+[[package]]
+name = "sp-inherents"
+version = "35.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "async-trait",
+ "impl-trait-for-tuples",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "thiserror 1.0.69",
]
[[package]]
name = "sp-inherents"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-runtime",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"thiserror 1.0.69",
]
[[package]]
name = "sp-io"
version = "39.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "bytes",
+ "docify",
+ "ed25519-dalek",
+ "libsecp256k1",
+ "log",
+ "parity-scale-codec",
+ "polkavm-derive",
+ "rustversion",
+ "secp256k1 0.28.2",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "tracing",
+ "tracing-core",
+]
+
+[[package]]
+name = "sp-io"
+version = "39.0.1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"bytes",
"docify",
@@ -13400,14 +13963,14 @@ dependencies = [
"polkavm-derive",
"rustversion",
"secp256k1 0.28.2",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-externalities",
- "sp-keystore",
- "sp-runtime-interface",
- "sp-state-machine",
- "sp-tracing",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-state-machine 0.44.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"tracing",
"tracing-core",
]
@@ -13415,28 +13978,49 @@ dependencies = [
[[package]]
name = "sp-keyring"
version = "40.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "strum 0.26.3",
+]
+
+[[package]]
+name = "sp-keyring"
+version = "40.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"strum 0.26.3",
]
[[package]]
name = "sp-keystore"
version = "0.41.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"parking_lot 0.12.3",
- "sp-core",
- "sp-externalities",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-keystore"
+version = "0.41.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
+dependencies = [
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "sp-maybe-compressed-blob"
version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"thiserror 1.0.69",
"zstd 0.12.4",
@@ -13445,7 +14029,17 @@ dependencies = [
[[package]]
name = "sp-metadata-ir"
version = "0.8.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "frame-metadata 18.0.0",
+ "parity-scale-codec",
+ "scale-info",
+]
+
+[[package]]
+name = "sp-metadata-ir"
+version = "0.8.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"frame-metadata 18.0.0",
"parity-scale-codec",
@@ -13455,58 +14049,67 @@ dependencies = [
[[package]]
name = "sp-mixnet"
version = "0.13.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-application-crypto",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-mmr-primitives"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"log",
"parity-scale-codec",
"polkadot-ckb-merkle-mountain-range",
"scale-info",
"serde",
- "sp-api",
- "sp-core",
- "sp-debug-derive",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sp-npos-elections"
version = "35.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
- "sp-arithmetic",
- "sp-core",
- "sp-runtime",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-offchain"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-panic-handler"
+version = "13.0.1"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "sp-api",
- "sp-core",
- "sp-runtime",
+ "backtrace",
+ "regex",
]
[[package]]
name = "sp-panic-handler"
version = "13.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"backtrace",
"regex",
@@ -13515,19 +14118,48 @@ dependencies = [
[[package]]
name = "sp-rpc"
version = "33.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"rustc-hash 1.1.0",
"serde",
- "sp-core",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-runtime"
+version = "40.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "docify",
+ "either",
+ "hash256-std-hasher",
+ "impl-trait-for-tuples",
+ "log",
+ "num-traits",
+ "parity-scale-codec",
+ "paste",
+ "rand 0.8.5",
+ "scale-info",
+ "serde",
+ "simple-mermaid",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "tracing",
+ "tuplex",
]
[[package]]
name = "sp-runtime"
version = "40.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
- "binary-merkle-tree",
+ "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"docify",
"either",
"hash256-std-hasher",
@@ -13540,13 +14172,13 @@ dependencies = [
"scale-info",
"serde",
"simple-mermaid",
- "sp-application-crypto",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-std",
- "sp-trie",
- "sp-weights",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"tracing",
"tuplex",
]
@@ -13554,26 +14186,58 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "bytes",
+ "impl-trait-for-tuples",
+ "parity-scale-codec",
+ "polkavm-derive",
+ "primitive-types 0.13.1",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface-proc-macro 18.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "static_assertions",
+]
+
+[[package]]
+name = "sp-runtime-interface"
+version = "29.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"bytes",
"impl-trait-for-tuples",
"parity-scale-codec",
"polkavm-derive",
"primitive-types 0.13.1",
- "sp-externalities",
- "sp-runtime-interface-proc-macro",
- "sp-std",
- "sp-storage",
- "sp-tracing",
- "sp-wasm-interface",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime-interface-proc-macro 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"static_assertions",
]
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "18.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "Inflector",
+ "expander",
+ "proc-macro-crate 3.3.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.101",
+]
+
+[[package]]
+name = "sp-runtime-interface-proc-macro"
+version = "18.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"Inflector",
"expander",
@@ -13586,34 +14250,67 @@ dependencies = [
[[package]]
name = "sp-session"
version = "37.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-keystore 0.41.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-staking 37.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-staking"
+version = "37.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
+ "impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-core",
- "sp-keystore",
- "sp-runtime",
- "sp-staking",
+ "serde",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-staking"
version = "37.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+]
+
+[[package]]
+name = "sp-state-machine"
+version = "0.44.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "hash-db",
+ "log",
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "rand 0.8.5",
+ "smallvec",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-panic-handler 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "thiserror 1.0.69",
+ "tracing",
+ "trie-db",
]
[[package]]
name = "sp-state-machine"
version = "0.44.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"hash-db",
"log",
@@ -13621,10 +14318,10 @@ dependencies = [
"parking_lot 0.12.3",
"rand 0.8.5",
"smallvec",
- "sp-core",
- "sp-externalities",
- "sp-panic-handler",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-panic-handler 13.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"thiserror 1.0.69",
"tracing",
"trie-db",
@@ -13633,7 +14330,7 @@ dependencies = [
[[package]]
name = "sp-statement-store"
version = "19.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"aes-gcm",
"curve25519-dalek",
@@ -13643,13 +14340,13 @@ dependencies = [
"rand 0.8.5",
"scale-info",
"sha2 0.10.9",
- "sp-api",
- "sp-application-crypto",
- "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)",
- "sp-externalities",
- "sp-runtime",
- "sp-runtime-interface",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-application-crypto 39.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime-interface 29.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
"x25519-dalek",
]
@@ -13657,36 +14354,64 @@ dependencies = [
[[package]]
name = "sp-std"
version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+
+[[package]]
+name = "sp-std"
+version = "14.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
+
+[[package]]
+name = "sp-storage"
+version = "22.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "impl-serde 0.5.0",
+ "parity-scale-codec",
+ "ref-cast",
+ "serde",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
[[package]]
name = "sp-storage"
version = "22.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"impl-serde 0.5.0",
"parity-scale-codec",
"ref-cast",
"serde",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
name = "sp-timestamp"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"parity-scale-codec",
- "sp-inherents",
- "sp-runtime",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"thiserror 1.0.69",
]
[[package]]
name = "sp-tracing"
version = "17.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "parity-scale-codec",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "sp-tracing"
+version = "17.0.1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"parity-scale-codec",
"tracing",
@@ -13697,30 +14422,52 @@ dependencies = [
[[package]]
name = "sp-transaction-pool"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "sp-api",
- "sp-runtime",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "sp-transaction-storage-proof"
version = "35.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"async-trait",
"parity-scale-codec",
"scale-info",
- "sp-core",
- "sp-inherents",
- "sp-runtime",
- "sp-trie",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-inherents 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-trie"
+version = "38.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "ahash",
+ "hash-db",
+ "memory-db",
+ "nohash-hasher",
+ "parity-scale-codec",
+ "parking_lot 0.12.3",
+ "rand 0.8.5",
+ "scale-info",
+ "schnellru",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "thiserror 1.0.69",
+ "tracing",
+ "trie-db",
+ "trie-root",
]
[[package]]
name = "sp-trie"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"ahash",
"hash-db",
@@ -13731,8 +14478,8 @@ dependencies = [
"rand 0.8.5",
"scale-info",
"schnellru",
- "sp-core",
- "sp-externalities",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"thiserror 1.0.69",
"tracing",
"trie-db",
@@ -13742,24 +14489,53 @@ dependencies = [
[[package]]
name = "sp-version"
version = "38.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "impl-serde 0.5.0",
+ "parity-scale-codec",
+ "parity-wasm",
+ "scale-info",
+ "serde",
+ "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version-proc-macro 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "sp-version"
+version = "38.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"impl-serde 0.5.0",
"parity-scale-codec",
"parity-wasm",
"scale-info",
"serde",
- "sp-crypto-hashing-proc-macro",
- "sp-runtime",
- "sp-std",
- "sp-version-proc-macro",
+ "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-version-proc-macro 15.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
"thiserror 1.0.69",
]
[[package]]
name = "sp-version-proc-macro"
version = "15.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "parity-scale-codec",
+ "proc-macro-warning 1.84.1",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.101",
+]
+
+[[package]]
+name = "sp-version-proc-macro"
+version = "15.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"parity-scale-codec",
"proc-macro-warning 1.84.1",
@@ -13771,7 +14547,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
version = "21.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"anyhow",
"impl-trait-for-tuples",
@@ -13780,18 +14556,43 @@ dependencies = [
"wasmtime",
]
+[[package]]
+name = "sp-wasm-interface"
+version = "21.0.1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
+dependencies = [
+ "anyhow",
+ "impl-trait-for-tuples",
+ "log",
+ "parity-scale-codec",
+]
+
[[package]]
name = "sp-weights"
version = "31.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"bounded-collections",
"parity-scale-codec",
"scale-info",
"serde",
"smallvec",
- "sp-arithmetic",
- "sp-debug-derive",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+]
+
+[[package]]
+name = "sp-weights"
+version = "31.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
+dependencies = [
+ "bounded-collections",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "smallvec",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
]
[[package]]
@@ -13995,62 +14796,62 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "staging-xcm"
version = "15.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"bounded-collections",
"derivative",
"environmental",
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"hex-literal 0.4.1",
"impl-trait-for-tuples",
"log",
"parity-scale-codec",
"scale-info",
"serde",
- "sp-runtime",
- "sp-weights",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"xcm-procedural",
]
[[package]]
name = "staging-xcm-builder"
version = "18.2.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
- "frame-system",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "frame-system 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"log",
"pallet-asset-conversion",
"pallet-transaction-payment",
"parity-scale-codec",
- "polkadot-parachain-primitives",
+ "polkadot-parachain-primitives 15.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"scale-info",
- "sp-arithmetic",
- "sp-io",
- "sp-runtime",
- "sp-weights",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-executor",
]
[[package]]
name = "staging-xcm-executor"
-version = "18.0.4"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+version = "18.0.3"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"environmental",
- "frame-benchmarking",
- "frame-support",
+ "frame-benchmarking 39.1.0",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"impl-trait-for-tuples",
"parity-scale-codec",
"scale-info",
- "sp-arithmetic",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-weights",
+ "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"tracing",
]
@@ -14145,7 +14946,19 @@ dependencies = [
[[package]]
name = "substrate-bip39"
version = "0.6.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
+dependencies = [
+ "hmac 0.12.1",
+ "pbkdf2",
+ "schnorrkel",
+ "sha2 0.10.9",
+ "zeroize",
+]
+
+[[package]]
+name = "substrate-bip39"
+version = "0.6.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412#5b8dad343e6e6df3e5d11705716ebab9d991ed36"
dependencies = [
"hmac 0.12.1",
"pbkdf2",
@@ -14154,15 +14967,28 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "substrate-bn"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c"
+dependencies = [
+ "byteorder",
+ "crunchy",
+ "lazy_static",
+ "rand 0.8.5",
+ "rustc-hex",
+]
+
[[package]]
name = "substrate-build-script-utils"
version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
[[package]]
name = "substrate-frame-rpc-system"
version = "42.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"docify",
"frame-system-rpc-runtime-api",
@@ -14172,17 +14998,17 @@ dependencies = [
"parity-scale-codec",
"sc-rpc-api",
"sc-transaction-pool-api",
- "sp-api",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-block-builder",
"sp-blockchain",
- "sp-core",
- "sp-runtime",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-runtime 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
]
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.17.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"http-body-util",
"hyper 1.6.0",
@@ -14196,7 +15022,7 @@ dependencies = [
[[package]]
name = "substrate-wasm-builder"
version = "25.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"array-bytes",
"build-helper",
@@ -14211,11 +15037,11 @@ dependencies = [
"polkavm-linker",
"sc-executor",
"shlex",
- "sp-core",
- "sp-io",
+ "sp-core 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-io 39.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-maybe-compressed-blob",
- "sp-tracing",
- "sp-version",
+ "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"strum 0.26.3",
"tempfile",
"toml 0.8.22",
@@ -14920,7 +15746,7 @@ dependencies = [
[[package]]
name = "tracing-gum"
version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"coarsetime",
"polkadot-primitives",
@@ -14931,7 +15757,7 @@ dependencies = [
[[package]]
name = "tracing-gum-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"expander",
"proc-macro-crate 3.3.0",
@@ -16376,7 +17202,7 @@ dependencies = [
[[package]]
name = "xcm-procedural"
version = "11.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
"Inflector",
"proc-macro2",
@@ -16387,13 +17213,13 @@ dependencies = [
[[package]]
name = "xcm-runtime-apis"
version = "0.5.3"
-source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#247f2e4641f8039ceb58827ff2f8a562217f298d"
+source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6#bbc435c7667d3283ba280a8fec44676357392753"
dependencies = [
- "frame-support",
+ "frame-support 39.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"parity-scale-codec",
"scale-info",
- "sp-api",
- "sp-weights",
+ "sp-api 35.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-executor",
]
diff --git a/operator/Cargo.toml b/operator/Cargo.toml
index 5552ffe2c..d58f79e04 100644
--- a/operator/Cargo.toml
+++ b/operator/Cargo.toml
@@ -10,6 +10,7 @@ members = [
"node",
"pallets/outbound-commitment-store",
"pallets/*",
+ "precompiles/*",
"primitives/bridge",
"runtime/*",
]
@@ -29,6 +30,7 @@ pallet-external-validators-rewards = { path = "./pallets/external-validators-rew
pallet-external-validators-rewards-runtime-api = { path = "./pallets/external-validators-rewards/runtime-api", default-features = false }
pallet-outbound-commitment-store = { path = "./pallets/outbound-commitment-store", default-features = false }
pallet-datahaven-native-transfer = { path = "./pallets/datahaven-native-transfer", default-features = false }
+pallet-evm-precompile-registry = { path = "./precompiles/precompile-registry", default-features = false }
# Crates.io (wasm)
alloy-core = { version = "0.8.15", default-features = false }
@@ -53,6 +55,7 @@ jsonrpsee = { version = "0.24.3" }
libsecp256k1 = { version = "0.7", default-features = false }
log = { version = "0.4.25" }
milagro-bls = { version = "1.5.4", default-features = false, package = "snowbridge-milagro-bls" }
+num_enum = { version = "0.7.3", default-features = false }
openssl-sys = { version = "0.9", features = [
"vendored",
] } # This is just to set the "vendored" feature required for the crossbuild, so that OpenSSL builds from source
@@ -75,102 +78,102 @@ tracing = { version = "0.1.37", default-features = false }
url = "2.2.2"
# Polkadot SDK
-cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-support-test = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-mmr-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-beefy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-beefy-mmr = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-im-online = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-mmr = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-offences = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-parameters = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-runtime-parachains = { package = "polkadot-runtime-parachains", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-consensus-beefy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-consensus-beefy-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-consensus-beefy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-crypto-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false, package = "staging-xcm" }
-xcm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false, package = "staging-xcm-builder" }
-xcm-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false, package = "staging-xcm-executor" }
+cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-support = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-support-test = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-system = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+mmr-rpc = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-beefy = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-beefy-mmr = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-im-online = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-mmr = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-offences = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-parameters = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+runtime-parachains = { package = "polkadot-runtime-parachains", git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-consensus-beefy = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-consensus-beefy-rpc = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-network = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-service = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-api = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-consensus-beefy = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-core = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-crypto-hashing = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-io = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-session = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-std = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+sp-version = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
+xcm = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false, package = "staging-xcm" }
+xcm-builder = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false, package = "staging-xcm-builder" }
+xcm-executor = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false, package = "staging-xcm-executor" }
# Snowbridge
-bp-relayers = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
+bp-relayers = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
bridge-hub-common = { path = "primitives/snowbridge/bridge-hub-common", default-features = false }
snowbridge-beacon-primitives = { path = "primitives/snowbridge/beacon", default-features = false }
snowbridge-core = { path = "primitives/snowbridge/core", default-features = false }
@@ -183,7 +186,7 @@ snowbridge-pallet-ethereum-client = { path = "pallets/ethereum-client", default-
snowbridge-pallet-ethereum-client-fixtures = { path = "pallets/ethereum-client/fixtures", default-features = false }
snowbridge-pallet-inbound-queue-v2 = { path = "pallets/inbound-queue-v2", default-features = false }
snowbridge-pallet-inbound-queue-v2-fixtures = { path = "pallets/inbound-queue-v2/fixtures", default-features = false }
-snowbridge-pallet-outbound-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false }
+snowbridge-pallet-outbound-queue = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2412-6", default-features = false }
snowbridge-pallet-outbound-queue-v2 = { path = "pallets/outbound-queue-v2", default-features = false }
snowbridge-pallet-system = { path = "pallets/system", default-features = false }
snowbridge-pallet-system-v2 = { path = "pallets/system-v2", default-features = false }
@@ -192,30 +195,34 @@ snowbridge-test-utils = { path = "primitives/snowbridge/test-utils", default-fea
snowbridge-verification-primitives = { path = "primitives/snowbridge/verification", default-features = false }
# Frontier (wasm)
-fp-account = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fp-evm = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fp-rpc = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fp-self-contained = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fp-storage = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-pallet-base-fee = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-pallet-dynamic-fee = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-pallet-ethereum = { git = "https://github.com/polkadot-evm/frontier/", branch = "stable2412", default-features = false }
-pallet-evm = { git = "https://github.com/polkadot-evm/frontier/", branch = "stable2412", default-features = false }
-pallet-evm-chain-id = { git = "https://github.com/polkadot-evm/frontier/", branch = "stable2412", default-features = false }
-pallet-evm-precompile-modexp = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-pallet-evm-precompile-sha3fips = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-pallet-evm-precompile-simple = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-pallet-hotfix-sufficients = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
+fp-account = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fp-evm = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fp-rpc = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fp-self-contained = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fp-storage = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-base-fee = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-dynamic-fee = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-ethereum = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-evm = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-evm-chain-id = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-evm-precompile-blake2 = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-evm-precompile-bn128 = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-evm-precompile-modexp = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-evm-precompile-sha3fips = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-evm-precompile-simple = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+pallet-hotfix-sufficients = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+precompile-utils = { git = "https://github.com/polkadot-evm/frontier/", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+precompile-utils-macro = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
# Frontier (client)
-fc-api = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fc-cli = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fc-consensus = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fc-db = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412" }
-fc-mapping-sync = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fc-rpc = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fc-rpc-core = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
-fc-storage = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false }
+fc-api = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fc-cli = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fc-consensus = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fc-db = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48" }
+fc-mapping-sync = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fc-rpc = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fc-rpc-core = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
+fc-storage = { git = "https://github.com/polkadot-evm/frontier", rev="75329a2df49e2cc7981485392c31160929d1bd48", default-features = false }
# StorageHub
storage-hub-runtime = { git = "https://github.com/Moonsong-Labs/storage-hub.git", rev = "e32b6a8fbbdf241d19d211c3325be7329869b85d", default-features = false }
diff --git a/operator/node/src/command.rs b/operator/node/src/command.rs
index 00c3d0ad1..9087be57f 100644
--- a/operator/node/src/command.rs
+++ b/operator/node/src/command.rs
@@ -264,54 +264,58 @@ pub fn run() -> sc_cli::Result<()> {
let runner = cli.create_runner(&cli.run)?;
runner.run_node_until_exit(|config| async move {
match config.network.network_backend {
- sc_network::config::NetworkBackendType::Libp2p => match config.chain_spec {
- ref spec if spec.is_mainnet() => {
- service::new_full::<
- datahaven_mainnet_runtime::RuntimeApi,
- sc_network::NetworkWorker<_, _>,
- >(config, cli.eth)
- .await
- }
- ref spec if spec.is_testnet() => {
- service::new_full::<
- datahaven_testnet_runtime::RuntimeApi,
- sc_network::NetworkWorker<_, _>,
- >(config, cli.eth)
- .await
- }
- _ => {
- service::new_full::<
- datahaven_stagenet_runtime::RuntimeApi,
- sc_network::NetworkWorker<_, _>,
- >(config, cli.eth)
- .await
+ Some(sc_network::config::NetworkBackendType::Libp2p) | None => {
+ match config.chain_spec {
+ ref spec if spec.is_mainnet() => {
+ service::new_full::<
+ datahaven_mainnet_runtime::RuntimeApi,
+ sc_network::NetworkWorker<_, _>,
+ >(config, cli.eth)
+ .await
+ }
+ ref spec if spec.is_testnet() => {
+ service::new_full::<
+ datahaven_testnet_runtime::RuntimeApi,
+ sc_network::NetworkWorker<_, _>,
+ >(config, cli.eth)
+ .await
+ }
+ _ => {
+ service::new_full::<
+ datahaven_stagenet_runtime::RuntimeApi,
+ sc_network::NetworkWorker<_, _>,
+ >(config, cli.eth)
+ .await
+ }
}
+ .map_err(sc_cli::Error::Service)
}
- .map_err(sc_cli::Error::Service),
- sc_network::config::NetworkBackendType::Litep2p => match config.chain_spec {
- ref spec if spec.is_mainnet() => {
- service::new_full::<
- datahaven_mainnet_runtime::RuntimeApi,
- sc_network::Litep2pNetworkBackend,
- >(config, cli.eth)
- .await
- }
- ref spec if spec.is_testnet() => {
- service::new_full::<
- datahaven_testnet_runtime::RuntimeApi,
- sc_network::Litep2pNetworkBackend,
- >(config, cli.eth)
- .await
- }
- _ => {
- service::new_full::<
- datahaven_stagenet_runtime::RuntimeApi,
- sc_network::Litep2pNetworkBackend,
- >(config, cli.eth)
- .await
+ Some(sc_network::config::NetworkBackendType::Litep2p) => {
+ match config.chain_spec {
+ ref spec if spec.is_mainnet() => {
+ service::new_full::<
+ datahaven_mainnet_runtime::RuntimeApi,
+ sc_network::Litep2pNetworkBackend,
+ >(config, cli.eth)
+ .await
+ }
+ ref spec if spec.is_testnet() => {
+ service::new_full::<
+ datahaven_testnet_runtime::RuntimeApi,
+ sc_network::Litep2pNetworkBackend,
+ >(config, cli.eth)
+ .await
+ }
+ _ => {
+ service::new_full::<
+ datahaven_stagenet_runtime::RuntimeApi,
+ sc_network::Litep2pNetworkBackend,
+ >(config, cli.eth)
+ .await
+ }
}
+ .map_err(sc_cli::Error::Service)
}
- .map_err(sc_cli::Error::Service),
}
})
}
diff --git a/operator/precompiles/precompile-registry/Cargo.toml b/operator/precompiles/precompile-registry/Cargo.toml
new file mode 100644
index 000000000..8dee9cf85
--- /dev/null
+++ b/operator/precompiles/precompile-registry/Cargo.toml
@@ -0,0 +1,42 @@
+[package]
+name = "pallet-evm-precompile-registry"
+authors = ["The DataHaven Team"]
+description = "Registry of active precompiles"
+edition = "2021"
+version = "0.1.0"
+
+[dependencies]
+# Substrate
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+
+# Frontier
+fp-evm = { workspace = true }
+pallet-evm = { workspace = true, features = ["forbid-evm-reentrancy"] }
+precompile-utils = { workspace = true }
+
+[dev-dependencies]
+# Precompile utils for testing
+precompile-utils = { workspace = true, features = ["std", "testing"] }
+
+# Substrate
+pallet-balances = { workspace = true, features = ["insecure_zero_ed", "std"] }
+pallet-timestamp = { workspace = true, features = ["std"] }
+parity-scale-codec = { workspace = true, features = ["max-encoded-len", "std"] }
+scale-info = { workspace = true, features = ["derive", "std"] }
+sp-runtime = { workspace = true, features = ["std"] }
+
+[features]
+default = ["std"]
+std = [
+ "fp-evm/std",
+ "frame-support/std",
+ "frame-system/std",
+ "pallet-evm/std",
+ "parity-scale-codec/std",
+ "precompile-utils/std",
+ "sp-core/std",
+ "sp-io/std",
+]
\ No newline at end of file
diff --git a/operator/precompiles/precompile-registry/PrecompileRegistry.sol b/operator/precompiles/precompile-registry/PrecompileRegistry.sol
new file mode 100644
index 000000000..4c27fe064
--- /dev/null
+++ b/operator/precompiles/precompile-registry/PrecompileRegistry.sol
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-3.0-only
+pragma solidity >=0.8.3;
+
+/// @dev The PrecompileRegistry contract's address.
+address constant PRECOMPILE_REGISTRY_ADDRESS = 0x0000000000000000000000000000000000000815;
+
+/// @dev The PrecompileRegistry contract's instance.
+PrecompileRegistry constant PRECOMPILE_REGISTRY_CONTRACT = PrecompileRegistry(
+ PRECOMPILE_REGISTRY_ADDRESS
+);
+
+/// @author The Moonbeam Team
+/// @title Precompile Registry
+/// @dev Interface to the set of available precompiles.
+/// @custom:address 0x0000000000000000000000000000000000000815
+interface PrecompileRegistry {
+ /// @dev Query if the given address is a precompile. Note that deactivated precompiles
+ /// are still considered precompiles and will return `true`.
+ /// @param a: Address to query
+ /// @return output Is this address a precompile?
+ /// @custom:selector 446b450e
+ function isPrecompile(address a) external view returns (bool);
+
+ /// @dev Query if the given address is an active precompile. Will return false if the
+ /// address is not a precompile or if this precompile is deactivated.
+ /// @param a: Address to query
+ /// @return output Is this address an active precompile?
+ /// @custom:selector 6f5e23cf
+ function isActivePrecompile(address a) external view returns (bool);
+
+ /// @dev Update the account code of a precompile address.
+ /// As precompiles are implemented inside the Runtime, they don't have a bytecode, and
+ /// their account code is empty by default. However in Solidity calling a function of a
+ /// contract often automatically adds a check that the contract bytecode is non-empty.
+ /// For that reason a dummy code (0x60006000fd) can be inserted at the precompile address
+ /// to pass that check. This function allows any user to insert that code to precompile address
+ /// if they need it.
+ /// @param a: Address of the precompile.
+ /// @custom:selector 48ceb1b4
+ function updateAccountCode(address a) external;
+}
diff --git a/operator/precompiles/precompile-registry/src/lib.rs b/operator/precompiles/precompile-registry/src/lib.rs
new file mode 100644
index 000000000..e81bb4770
--- /dev/null
+++ b/operator/precompiles/precompile-registry/src/lib.rs
@@ -0,0 +1,99 @@
+// Copyright 2019-2025 PureStake Inc.
+// This file is part of Moonbeam.
+
+// Moonbeam 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.
+
+// Moonbeam 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 Moonbeam. If not, see .
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#[cfg(test)]
+mod mock;
+#[cfg(test)]
+mod tests;
+
+use core::marker::PhantomData;
+use fp_evm::{ExitError, IsPrecompileResult, PrecompileFailure};
+use precompile_utils::{
+ precompile_set::{is_precompile_or_fail, IsActivePrecompile},
+ prelude::*,
+};
+use sp_core::Get;
+
+const DUMMY_CODE: [u8; 5] = [0x60, 0x00, 0x60, 0x00, 0xfd];
+
+pub struct PrecompileRegistry(PhantomData);
+
+#[precompile_utils::precompile]
+impl PrecompileRegistry
+where
+ Runtime: pallet_evm::Config,
+ Runtime::PrecompilesType: IsActivePrecompile,
+{
+ #[precompile::public("isPrecompile(address)")]
+ #[precompile::view]
+ fn is_precompile(handle: &mut impl PrecompileHandle, address: Address) -> EvmResult {
+ // We consider the precompile set is optimized to do at most one storage read.
+ // In the case of moonbeam, the storage item that can be read is pallet_asset::Asset
+ // (TODO make it more generic, maybe add a const generic on PrecompileRegistry type)
+ // Storage item: Asset:
+ // Blake2_128(16) + AssetId(16) + AssetDetails((4 * AccountId(20)) + (3 * Balance(16)) + 15)
+ handle.record_db_read::(175)?;
+ is_precompile_or_fail::(address.0, handle.remaining_gas())
+ }
+
+ #[precompile::public("isActivePrecompile(address)")]
+ #[precompile::view]
+ fn is_active_precompile(
+ handle: &mut impl PrecompileHandle,
+ address: Address,
+ ) -> EvmResult {
+ // We consider the precompile set is optimized to do at most one storage read.
+ // In the case of moonbeam, the storage item that can be read is pallet_asset::Asset
+ // (TODO make it more generic, maybe add a const generic on PrecompileRegistry type)
+ // Storage item: Asset:
+ // Blake2_128(16) + AssetId(16) + AssetDetails((4 * AccountId(20)) + (3 * Balance(16)) + 15)
+ handle.record_db_read::(175)?;
+ match ::get()
+ .is_active_precompile(address.0, handle.remaining_gas())
+ {
+ IsPrecompileResult::Answer { is_precompile, .. } => Ok(is_precompile),
+ IsPrecompileResult::OutOfGas => Err(PrecompileFailure::Error {
+ exit_status: ExitError::OutOfGas,
+ }),
+ }
+ }
+
+ #[precompile::public("updateAccountCode(address)")]
+ fn update_account_code(handle: &mut impl PrecompileHandle, address: Address) -> EvmResult<()> {
+ // Prevent touching addresses that are not precompiles.
+ //
+ // We consider the precompile set is optimized to do at most one storage read.
+ // In the case of moonbeam, the storage item that can be read is pallet_asset::Asset
+ // (TODO make it more generic, maybe add a const generic on PrecompileRegistry type)
+ // Storage item: Asset:
+ // Blake2_128(16) + AssetId(16) + AssetDetails((4 * AccountId(20)) + (3 * Balance(16)) + 15)
+ handle.record_db_read::(175)?;
+ if !is_precompile_or_fail::(address.0, handle.remaining_gas())? {
+ return Err(revert("provided address is not a precompile"));
+ }
+
+ // pallet_evm::create_account read storage item pallet_evm::AccountCodes
+ //
+ // AccountCodes: Blake2128(16) + H160(20) + Vec(5)
+ // We asume an existing precompile can hold at most 5 bytes worth of dummy code.
+ handle.record_db_read::(41)?;
+ pallet_evm::Pallet::::create_account(address.0, DUMMY_CODE.to_vec());
+
+ Ok(())
+ }
+}
diff --git a/operator/precompiles/precompile-registry/src/mock.rs b/operator/precompiles/precompile-registry/src/mock.rs
new file mode 100644
index 000000000..c7bf887f2
--- /dev/null
+++ b/operator/precompiles/precompile-registry/src/mock.rs
@@ -0,0 +1,198 @@
+// Copyright 2019-2025 PureStake Inc.
+// This file is part of Moonbeam.
+
+// Moonbeam 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.
+
+// Moonbeam 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 Moonbeam. If not, see .
+
+use super::*;
+
+use frame_support::traits::Everything;
+use frame_support::{construct_runtime, pallet_prelude::*, parameter_types};
+use pallet_evm::{EnsureAddressNever, EnsureAddressRoot, FrameSystemAccountProvider};
+use precompile_utils::{mock_account, precompile_set::*, testing::MockAccount};
+use sp_core::H256;
+use sp_runtime::BuildStorage;
+use sp_runtime::{
+ traits::{BlakeTwo256, IdentityLookup},
+ Perbill,
+};
+
+pub type AccountId = MockAccount;
+pub type Balance = u128;
+
+type Block = frame_system::mocking::MockBlockU32;
+
+construct_runtime!(
+ pub enum Runtime {
+ System: frame_system,
+ Balances: pallet_balances,
+ Evm: pallet_evm,
+ Timestamp: pallet_timestamp,
+ }
+);
+
+parameter_types! {
+ pub const BlockHashCount: u32 = 250;
+ pub const MaximumBlockWeight: Weight = Weight::from_parts(1024, 1);
+ pub const MaximumBlockLength: u32 = 2 * 1024;
+ pub const AvailableBlockRatio: Perbill = Perbill::one();
+ pub const SS58Prefix: u8 = 42;
+}
+
+impl frame_system::Config for Runtime {
+ type BaseCallFilter = Everything;
+ type DbWeight = ();
+ type RuntimeOrigin = RuntimeOrigin;
+ type RuntimeTask = RuntimeTask;
+ type Nonce = u64;
+ type Block = Block;
+ type RuntimeCall = RuntimeCall;
+ type Hash = H256;
+ type Hashing = BlakeTwo256;
+ type AccountId = AccountId;
+ type Lookup = IdentityLookup;
+ type RuntimeEvent = RuntimeEvent;
+ type BlockHashCount = BlockHashCount;
+ type Version = ();
+ type PalletInfo = PalletInfo;
+ type AccountData = pallet_balances::AccountData;
+ type OnNewAccount = ();
+ type OnKilledAccount = ();
+ type SystemWeightInfo = ();
+ type BlockWeights = ();
+ type BlockLength = ();
+ type SS58Prefix = SS58Prefix;
+ type OnSetCode = ();
+ type MaxConsumers = frame_support::traits::ConstU32<16>;
+ type SingleBlockMigrations = ();
+ type MultiBlockMigrator = ();
+ type PreInherents = ();
+ type PostInherents = ();
+ type PostTransactions = ();
+ type ExtensionsWeightInfo = ();
+}
+
+parameter_types! {
+ pub const ExistentialDeposit: u128 = 0;
+}
+
+impl pallet_balances::Config for Runtime {
+ type MaxReserves = ();
+ type ReserveIdentifier = [u8; 4];
+ type MaxLocks = ();
+ type Balance = Balance;
+ type RuntimeEvent = RuntimeEvent;
+ type DustRemoval = ();
+ type ExistentialDeposit = ExistentialDeposit;
+ type AccountStore = System;
+ type WeightInfo = ();
+ type RuntimeHoldReason = ();
+ type FreezeIdentifier = ();
+ type MaxFreezes = ();
+ type RuntimeFreezeReason = ();
+ type DoneSlashHandler = ();
+}
+
+mock_account!(Registry, |_| MockAccount::from_u64(1));
+mock_account!(Removed, |_| MockAccount::from_u64(2));
+mock_account!(SmartContract, |_| MockAccount::from_u64(3));
+
+pub type Precompiles = PrecompileSetBuilder<
+ R,
+ (
+ PrecompileAt, PrecompileRegistry>,
+ RemovedPrecompileAt>,
+ ),
+>;
+
+pub type PCall = PrecompileRegistryCall;
+
+parameter_types! {
+ pub PrecompilesValue: Precompiles = Precompiles::new();
+ pub const WeightPerGas: Weight = Weight::from_parts(1, 0);
+}
+
+impl pallet_evm::Config for Runtime {
+ type FeeCalculator = ();
+ type GasWeightMapping = pallet_evm::FixedGasWeightMapping;
+ type WeightPerGas = WeightPerGas;
+ type CallOrigin = EnsureAddressRoot;
+ type WithdrawOrigin = EnsureAddressNever;
+ type AddressMapping = AccountId;
+ type Currency = Balances;
+ type RuntimeEvent = RuntimeEvent;
+ type Runner = pallet_evm::runner::stack::Runner;
+ type PrecompilesType = Precompiles;
+ type PrecompilesValue = PrecompilesValue;
+ type ChainId = ();
+ type OnChargeTransaction = ();
+ type BlockGasLimit = ();
+ type BlockHashMapping = pallet_evm::SubstrateBlockHashMapping;
+ type FindAuthor = ();
+ type OnCreate = ();
+ type GasLimitPovSizeRatio = ();
+ type GasLimitStorageGrowthRatio = ();
+ type Timestamp = Timestamp;
+ type WeightInfo = pallet_evm::weights::SubstrateWeight;
+ type AccountProvider = FrameSystemAccountProvider;
+}
+
+parameter_types! {
+ pub const MinimumPeriod: u64 = 5;
+}
+impl pallet_timestamp::Config for Runtime {
+ type Moment = u64;
+ type OnTimestampSet = ();
+ type MinimumPeriod = MinimumPeriod;
+ type WeightInfo = ();
+}
+
+pub(crate) struct ExtBuilder {
+ // endowed accounts with balances
+ balances: Vec<(AccountId, Balance)>,
+}
+
+impl Default for ExtBuilder {
+ fn default() -> ExtBuilder {
+ ExtBuilder { balances: vec![] }
+ }
+}
+
+impl ExtBuilder {
+ pub(crate) fn with_balances(mut self, balances: Vec<(AccountId, Balance)>) -> Self {
+ self.balances = balances;
+ self
+ }
+
+ pub(crate) fn build(self) -> sp_io::TestExternalities {
+ let mut t = frame_system::GenesisConfig::::default()
+ .build_storage()
+ .expect("Frame system builds valid default genesis config");
+
+ pallet_balances::GenesisConfig:: {
+ balances: self.balances,
+ }
+ .assimilate_storage(&mut t)
+ .expect("Pallet balances storage can be assimilated");
+
+ let mut ext = sp_io::TestExternalities::new(t);
+ ext.execute_with(|| {
+ System::set_block_number(1);
+ pallet_evm::Pallet::::create_account(
+ SmartContract.into(),
+ b"SmartContract".to_vec(),
+ );
+ });
+ ext
+ }
+}
diff --git a/operator/precompiles/precompile-registry/src/tests.rs b/operator/precompiles/precompile-registry/src/tests.rs
new file mode 100644
index 000000000..347beeeeb
--- /dev/null
+++ b/operator/precompiles/precompile-registry/src/tests.rs
@@ -0,0 +1,202 @@
+// Copyright 2019-2025 PureStake Inc.
+// This file is part of Moonbeam.
+
+// Moonbeam 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.
+
+// Moonbeam 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 Moonbeam. If not, see .
+
+use crate::mock::{
+ ExtBuilder, PCall, Precompiles, PrecompilesValue, Registry, Removed, Runtime, SmartContract,
+};
+use precompile_utils::{prelude::*, testing::*};
+use sp_core::H160;
+
+fn precompiles() -> Precompiles {
+ PrecompilesValue::get()
+}
+
+mod selectors {
+ use super::*;
+
+ #[test]
+ fn selectors() {
+ assert!(PCall::is_precompile_selectors().contains(&0x446b450e));
+ assert!(PCall::is_active_precompile_selectors().contains(&0x6f5e23cf));
+ assert!(PCall::update_account_code_selectors().contains(&0x48ceb1b4));
+ }
+
+ #[test]
+ fn modifiers() {
+ ExtBuilder::default()
+ .with_balances(vec![(CryptoAlith.into(), 1000)])
+ .build()
+ .execute_with(|| {
+ let mut tester =
+ PrecompilesModifierTester::new(precompiles(), CryptoAlith, Registry);
+
+ tester.test_view_modifier(PCall::is_precompile_selectors());
+ tester.test_view_modifier(PCall::is_active_precompile_selectors());
+ tester.test_default_modifier(PCall::update_account_code_selectors());
+ });
+ }
+}
+
+mod is_precompile {
+
+ use super::*;
+
+ fn call(target_address: impl Into, output: bool) {
+ ExtBuilder::default()
+ .with_balances(vec![(CryptoAlith.into(), 1000)])
+ .build()
+ .execute_with(|| {
+ precompiles()
+ .prepare_test(
+ Alice, // can be anyone
+ Registry,
+ PCall::is_precompile {
+ address: Address(target_address.into()),
+ },
+ )
+ .expect_no_logs()
+ .execute_returns(output);
+ });
+ }
+
+ #[test]
+ fn works_on_precompile() {
+ call(Registry, true);
+ }
+
+ #[test]
+ fn works_on_removed_precompile() {
+ call(Removed, true);
+ }
+
+ #[test]
+ fn works_on_eoa() {
+ call(CryptoAlith, false);
+ }
+
+ #[test]
+ fn works_on_smart_contract() {
+ call(SmartContract, false);
+ }
+}
+
+mod is_active_precompile {
+
+ use super::*;
+
+ fn call(target_address: impl Into, output: bool) {
+ ExtBuilder::default()
+ .with_balances(vec![(CryptoAlith.into(), 1000)])
+ .build()
+ .execute_with(|| {
+ precompiles()
+ .prepare_test(
+ Alice, // can be anyone
+ Registry,
+ PCall::is_active_precompile {
+ address: Address(target_address.into()),
+ },
+ )
+ .expect_no_logs()
+ .execute_returns(output);
+ });
+ }
+
+ #[test]
+ fn works_on_precompile() {
+ call(Registry, true);
+ }
+
+ #[test]
+ fn works_on_removed_precompile() {
+ call(Removed, false);
+ }
+
+ #[test]
+ fn works_on_eoa() {
+ call(CryptoAlith, false);
+ }
+
+ #[test]
+ fn works_on_smart_contract() {
+ call(SmartContract, false);
+ }
+}
+
+mod update_account_code {
+ use super::*;
+
+ fn call(target_address: impl Into, expect_changes: bool) {
+ ExtBuilder::default()
+ .with_balances(vec![(CryptoAlith.into(), 1000)])
+ .build()
+ .execute_with(|| {
+ let target_address = target_address.into();
+
+ let precompiles = precompiles();
+ let tester = precompiles.prepare_test(
+ Alice, // can be anyone
+ Registry,
+ PCall::update_account_code {
+ address: Address(target_address),
+ },
+ );
+
+ if expect_changes {
+ tester.execute_returns(());
+ let new_code = pallet_evm::AccountCodes::::get(target_address);
+ assert_eq!(&new_code, &[0x60, 0x00, 0x60, 0x00, 0xfd]);
+ } else {
+ let current_code = pallet_evm::AccountCodes::::get(target_address);
+
+ tester.execute_reverts(|revert| {
+ revert == b"provided address is not a precompile"
+ });
+
+ let new_code = pallet_evm::AccountCodes::::get(target_address);
+ assert_eq!(current_code, new_code);
+ }
+ });
+ }
+
+ #[test]
+ fn works_on_precompile() {
+ call(Registry, true);
+ }
+
+ #[test]
+ fn works_on_removed_precompile() {
+ call(Removed, true);
+ }
+
+ #[test]
+ fn works_on_eoa() {
+ call(CryptoAlith, false);
+ }
+
+ #[test]
+ fn works_on_smart_contract() {
+ call(SmartContract, false);
+ }
+}
+
+#[test]
+fn test_solidity_interface() {
+ check_precompile_implements_solidity_interfaces(
+ &["PrecompileRegistry.sol"],
+ PCall::supports_selector,
+ )
+}
diff --git a/operator/runtime/mainnet/Cargo.toml b/operator/runtime/mainnet/Cargo.toml
index 68e251726..c097ef5e0 100644
--- a/operator/runtime/mainnet/Cargo.toml
+++ b/operator/runtime/mainnet/Cargo.toml
@@ -32,14 +32,20 @@ frame-try-runtime = { workspace = true, optional = true }
hex = { workspace = true }
hex-literal = { workspace = true }
log = { workspace = true }
+num_enum = { workspace = true }
pallet-authorship = { workspace = true }
pallet-babe = { workspace = true }
pallet-balances = { workspace = true, features = ["insecure_zero_ed"] }
pallet-beefy = { workspace = true }
pallet-beefy-mmr = { workspace = true }
-pallet-ethereum = { workspace = true }
-pallet-evm = { workspace = true }
+pallet-ethereum = { workspace = true, features = ["forbid-evm-reentrancy"] }
+pallet-evm = { workspace = true, features = ["forbid-evm-reentrancy"] }
pallet-evm-chain-id = { workspace = true }
+pallet-evm-precompile-blake2 = { workspace = true }
+pallet-evm-precompile-bn128 = { workspace = true }
+pallet-evm-precompile-modexp = { workspace = true }
+pallet-evm-precompile-sha3fips = { workspace = true }
+pallet-evm-precompile-simple = { workspace = true }
pallet-external-validators = { workspace = true }
pallet-external-validators-rewards = { workspace = true }
pallet-external-validators-rewards-runtime-api = { workspace = true }
@@ -63,6 +69,7 @@ pallet-transaction-payment = { workspace = true }
pallet-transaction-payment-rpc-runtime-api = { workspace = true }
pallet-treasury = { workspace = true }
pallet-utility = { workspace = true }
+precompile-utils = { workspace = true }
polkadot-primitives = { workspace = true }
polkadot-runtime-common = { workspace = true }
scale-info = { workspace = true, features = ["derive", "serde"] }
@@ -104,6 +111,9 @@ xcm = { workspace = true }
xcm-builder = { workspace = true }
xcm-executor = { workspace = true }
+# DataHaven precompiles
+pallet-evm-precompile-registry = { workspace = true }
+
[build-dependencies]
substrate-wasm-builder = { workspace = true, optional = true, default-features = true }
@@ -113,6 +123,8 @@ frame-support-test = { workspace = true }
sp-io = { workspace = true }
sp-tracing = { workspace = true }
+precompile-utils = { workspace = true, features = ["std", "testing"] }
+
# Snowbridge testing
snowbridge-core = { workspace = true }
snowbridge-pallet-system = { workspace = true }
@@ -125,6 +137,7 @@ std = [
"codec/std",
"datahaven-runtime-common/std",
"fp-account/std",
+ "fp-evm/std",
"frame-benchmarking?/std",
"frame-executive/std",
"frame-metadata-hash-extension/std",
@@ -141,6 +154,7 @@ std = [
"pallet-ethereum/std",
"pallet-evm-chain-id/std",
"pallet-evm/std",
+ "pallet-evm-precompile-registry/std",
"pallet-external-validators/std",
"pallet-external-validators-rewards/std",
"pallet-external-validators-rewards-runtime-api/std",
@@ -162,6 +176,7 @@ std = [
"pallet-transaction-payment/std",
"pallet-treasury/std",
"pallet-utility/std",
+ "precompile-utils/std",
"polkadot-primitives/std",
"polkadot-runtime-common/std",
"scale-info/std",
diff --git a/operator/runtime/mainnet/src/configs/mod.rs b/operator/runtime/mainnet/src/configs/mod.rs
index 6b3d7becc..71245f5f6 100644
--- a/operator/runtime/mainnet/src/configs/mod.rs
+++ b/operator/runtime/mainnet/src/configs/mod.rs
@@ -26,13 +26,14 @@
pub mod runtime_params;
use super::{
- currency::*, AccountId, Babe, Balance, Balances, BeefyMmrLeaf, Block, BlockNumber,
- EthereumBeaconClient, EthereumOutboundQueueV2, EvmChainId, ExistentialDeposit,
- ExternalValidators, ExternalValidatorsRewards, Hash, Historical, ImOnline, MessageQueue, Nonce,
- Offences, OriginCaller, OutboundCommitmentStore, PalletInfo, Preimage, Runtime, RuntimeCall,
- RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin, RuntimeTask, Session,
- SessionKeys, Signature, System, Timestamp, Treasury, BLOCK_HASH_COUNT, EXTRINSIC_BASE_WEIGHT,
- MAXIMUM_BLOCK_WEIGHT, NORMAL_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SLOT_DURATION, VERSION,
+ currency::*, precompiles::DataHavenPrecompiles, AccountId, Babe, Balance, Balances,
+ BeefyMmrLeaf, Block, BlockNumber, EthereumBeaconClient, EthereumOutboundQueueV2, EvmChainId,
+ ExistentialDeposit, ExternalValidators, ExternalValidatorsRewards, Hash, Historical, ImOnline,
+ MessageQueue, Nonce, Offences, OriginCaller, OutboundCommitmentStore, PalletInfo, Preimage,
+ Runtime, RuntimeCall, RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin,
+ RuntimeTask, Session, SessionKeys, Signature, System, Timestamp, Treasury, BLOCK_HASH_COUNT,
+ EXTRINSIC_BASE_WEIGHT, MAXIMUM_BLOCK_WEIGHT, NORMAL_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO,
+ SLOT_DURATION, VERSION,
};
use codec::{Decode, Encode};
use datahaven_runtime_common::{
@@ -755,7 +756,7 @@ datahaven_runtime_common::impl_on_charge_evm_transaction!();
parameter_types! {
pub BlockGasLimit: U256
= U256::from(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT.ref_time() / WEIGHT_PER_GAS);
- // pub PrecompilesValue: TemplatePrecompiles = TemplatePrecompiles::<_>::new();
+ pub PrecompilesValue: DataHavenPrecompiles = DataHavenPrecompiles::<_>::new();
pub WeightPerGas: Weight = Weight::from_parts(WEIGHT_PER_GAS, 0);
pub SuicideQuickClearLimit: u32 = 0;
/// The amount of gas per pov. A ratio of 16 if we convert ref_time to gas and we compare
@@ -781,8 +782,8 @@ impl pallet_evm::Config for Runtime {
type AddressMapping = IdentityAddressMapping;
type Currency = Balances;
type RuntimeEvent = RuntimeEvent;
- type PrecompilesType = ();
- type PrecompilesValue = ();
+ type PrecompilesType = DataHavenPrecompiles;
+ type PrecompilesValue = PrecompilesValue;
type ChainId = EvmChainId;
type BlockGasLimit = BlockGasLimit;
type Runner = pallet_evm::runner::stack::Runner;
diff --git a/operator/runtime/mainnet/src/lib.rs b/operator/runtime/mainnet/src/lib.rs
index 7f78cb76c..07879d422 100644
--- a/operator/runtime/mainnet/src/lib.rs
+++ b/operator/runtime/mainnet/src/lib.rs
@@ -9,6 +9,7 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
#[cfg(feature = "runtime-benchmarks")]
mod benchmarks;
pub mod configs;
+pub mod precompiles;
pub mod weights;
use alloc::{borrow::Cow, vec::Vec};
diff --git a/operator/runtime/mainnet/src/precompiles.rs b/operator/runtime/mainnet/src/precompiles.rs
new file mode 100644
index 000000000..199b82fab
--- /dev/null
+++ b/operator/runtime/mainnet/src/precompiles.rs
@@ -0,0 +1,67 @@
+// Copyright 2019-2025 The DataHaven Team
+// This file is part of DataHaven.
+
+// DataHaven 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.
+
+// DataHaven 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 DataHaven. If not, see .
+
+use pallet_evm_precompile_blake2::Blake2F;
+use pallet_evm_precompile_bn128::{Bn128Add, Bn128Mul, Bn128Pairing};
+use pallet_evm_precompile_modexp::Modexp;
+use pallet_evm_precompile_registry::PrecompileRegistry;
+use pallet_evm_precompile_sha3fips::Sha3FIPS256;
+use pallet_evm_precompile_simple::{ECRecover, ECRecoverPublicKey, Identity, Ripemd160, Sha256};
+use precompile_utils::precompile_set::*;
+
+type EthereumPrecompilesChecks = (AcceptDelegateCall, CallableByContract, CallableByPrecompile);
+
+/// EVM precompiles available in the DataHaven Mainnet runtime.
+#[precompile_utils::precompile_name_from_address]
+type DataHavenPrecompilesAt = (
+ // Ethereum precompiles:
+ // We allow DELEGATECALL to stay compliant with Ethereum behavior.
+ PrecompileAt, ECRecover, EthereumPrecompilesChecks>,
+ PrecompileAt, Sha256, EthereumPrecompilesChecks>,
+ PrecompileAt, Ripemd160, EthereumPrecompilesChecks>,
+ PrecompileAt, Identity, EthereumPrecompilesChecks>,
+ PrecompileAt, Modexp, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Add, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Mul, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Pairing, EthereumPrecompilesChecks>,
+ PrecompileAt, Blake2F, EthereumPrecompilesChecks>,
+ // Non-DataHaven specific nor Ethereum precompiles :
+ PrecompileAt, Sha3FIPS256, (CallableByContract, CallableByPrecompile)>,
+ RemovedPrecompileAt>,
+ PrecompileAt, ECRecoverPublicKey, (CallableByContract, CallableByPrecompile)>,
+ RemovedPrecompileAt>,
+ // DataHaven specific precompiles:
+ PrecompileAt<
+ AddressU64<2069>,
+ PrecompileRegistry,
+ (CallableByContract, CallableByPrecompile),
+ >,
+);
+
+/// The PrecompileSet installed in the DataHaven runtime.
+/// We include the nine Istanbul precompiles
+/// (https://github.com/ethereum/go-ethereum/blob/3c46f557/core/vm/contracts.go#L69)
+/// The following distribution has been decided for the precompiles
+/// 0-1023: Ethereum Mainnet Precompiles
+/// 1024-2047 Precompiles that are not in Ethereum Mainnet but are neither DataHaven specific
+/// 2048-4095 DataHaven specific precompiles
+pub type DataHavenPrecompiles = PrecompileSetBuilder<
+ R,
+ (
+ // Skip precompiles if out of range.
+ PrecompilesInRangeInclusive<(AddressU64<1>, AddressU64<4095>), DataHavenPrecompilesAt>,
+ ),
+>;
diff --git a/operator/runtime/stagenet/Cargo.toml b/operator/runtime/stagenet/Cargo.toml
index ce42b2b6e..bb417bcc4 100644
--- a/operator/runtime/stagenet/Cargo.toml
+++ b/operator/runtime/stagenet/Cargo.toml
@@ -33,14 +33,20 @@ hex = { workspace = true }
hex-literal = { workspace = true }
log = { workspace = true }
num-bigint = { workspace = true, optional = true }
+num_enum = { workspace = true }
pallet-authorship = { workspace = true }
pallet-babe = { workspace = true }
pallet-balances = { workspace = true, features = ["insecure_zero_ed"]}
pallet-beefy = { workspace = true }
pallet-beefy-mmr = { workspace = true }
-pallet-ethereum = { workspace = true }
-pallet-evm = { workspace = true }
+pallet-ethereum = { workspace = true, features = ["forbid-evm-reentrancy"] }
+pallet-evm = { workspace = true, features = ["forbid-evm-reentrancy"] }
pallet-evm-chain-id = { workspace = true }
+pallet-evm-precompile-blake2 = { workspace = true }
+pallet-evm-precompile-bn128 = { workspace = true }
+pallet-evm-precompile-modexp = { workspace = true }
+pallet-evm-precompile-sha3fips = { workspace = true }
+pallet-evm-precompile-simple = { workspace = true }
pallet-external-validators = { workspace = true }
pallet-external-validators-rewards = { workspace = true }
pallet-external-validators-rewards-runtime-api = { workspace = true }
@@ -64,6 +70,7 @@ pallet-transaction-payment = { workspace = true }
pallet-transaction-payment-rpc-runtime-api = { workspace = true }
pallet-treasury = { workspace = true }
pallet-utility = { workspace = true }
+precompile-utils = { workspace = true }
polkadot-primitives = { workspace = true }
polkadot-runtime-common = { workspace = true }
scale-info = { workspace = true, features = ["derive", "serde"] }
@@ -106,6 +113,9 @@ xcm = { workspace = true }
xcm-builder = { workspace = true }
xcm-executor = { workspace = true }
+# DataHaven precompiles
+pallet-evm-precompile-registry = { workspace = true }
+
# StorageHub
pallet-bucket-nfts = { workspace = true, optional = true }
pallet-nfts = { workspace = true, optional = true }
@@ -137,6 +147,8 @@ frame-support-test = { workspace = true }
sp-io = { workspace = true }
sp-tracing = { workspace = true }
+precompile-utils = { workspace = true, features = ["std", "testing"] }
+
# Snowbridge testing
snowbridge-core = { workspace = true }
snowbridge-pallet-system = { workspace = true }
@@ -172,6 +184,7 @@ std = [
"codec/std",
"datahaven-runtime-common/std",
"fp-account/std",
+ "fp-evm/std",
"frame-benchmarking?/std",
"frame-executive/std",
"frame-metadata-hash-extension/std",
@@ -188,6 +201,7 @@ std = [
"pallet-ethereum/std",
"pallet-evm-chain-id/std",
"pallet-evm/std",
+ "pallet-evm-precompile-registry/std",
"pallet-external-validators/std",
"pallet-external-validators-rewards/std",
"pallet-external-validators-rewards-runtime-api/std",
@@ -209,6 +223,7 @@ std = [
"pallet-transaction-payment/std",
"pallet-treasury/std",
"pallet-utility/std",
+ "precompile-utils/std",
"polkadot-primitives/std",
"polkadot-runtime-common/std",
"scale-info/std",
diff --git a/operator/runtime/stagenet/src/configs/mod.rs b/operator/runtime/stagenet/src/configs/mod.rs
index c810f4fde..37a48cd08 100644
--- a/operator/runtime/stagenet/src/configs/mod.rs
+++ b/operator/runtime/stagenet/src/configs/mod.rs
@@ -29,13 +29,14 @@ mod storagehub;
pub mod runtime_params;
use super::{
- currency::*, AccountId, Babe, Balance, Balances, BeefyMmrLeaf, Block, BlockNumber,
- EthereumBeaconClient, EthereumOutboundQueueV2, EvmChainId, ExistentialDeposit,
- ExternalValidators, ExternalValidatorsRewards, Hash, Historical, ImOnline, MessageQueue, Nonce,
- Offences, OriginCaller, OutboundCommitmentStore, PalletInfo, Preimage, Runtime, RuntimeCall,
- RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin, RuntimeTask, Session,
- SessionKeys, Signature, System, Timestamp, Treasury, BLOCK_HASH_COUNT, EXTRINSIC_BASE_WEIGHT,
- MAXIMUM_BLOCK_WEIGHT, NORMAL_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SLOT_DURATION, VERSION,
+ currency::*, precompiles::DataHavenPrecompiles, AccountId, Babe, Balance, Balances,
+ BeefyMmrLeaf, Block, BlockNumber, EthereumBeaconClient, EthereumOutboundQueueV2, EvmChainId,
+ ExistentialDeposit, ExternalValidators, ExternalValidatorsRewards, Hash, Historical, ImOnline,
+ MessageQueue, Nonce, Offences, OriginCaller, OutboundCommitmentStore, PalletInfo, Preimage,
+ Runtime, RuntimeCall, RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin,
+ RuntimeTask, Session, SessionKeys, Signature, System, Timestamp, Treasury, BLOCK_HASH_COUNT,
+ EXTRINSIC_BASE_WEIGHT, MAXIMUM_BLOCK_WEIGHT, NORMAL_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO,
+ SLOT_DURATION, VERSION,
};
use codec::{Decode, Encode};
use datahaven_runtime_common::{
@@ -757,7 +758,7 @@ datahaven_runtime_common::impl_on_charge_evm_transaction!();
parameter_types! {
pub BlockGasLimit: U256
= U256::from(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT.ref_time() / WEIGHT_PER_GAS);
- // pub PrecompilesValue: TemplatePrecompiles = TemplatePrecompiles::<_>::new();
+ pub PrecompilesValue: DataHavenPrecompiles = DataHavenPrecompiles::<_>::new();
pub WeightPerGas: Weight = Weight::from_parts(WEIGHT_PER_GAS, 0);
pub SuicideQuickClearLimit: u32 = 0;
/// The amount of gas per pov. A ratio of 16 if we convert ref_time to gas and we compare
@@ -783,8 +784,8 @@ impl pallet_evm::Config for Runtime {
type AddressMapping = IdentityAddressMapping;
type Currency = Balances;
type RuntimeEvent = RuntimeEvent;
- type PrecompilesType = ();
- type PrecompilesValue = ();
+ type PrecompilesType = DataHavenPrecompiles;
+ type PrecompilesValue = PrecompilesValue;
type ChainId = EvmChainId;
type BlockGasLimit = BlockGasLimit;
type Runner = pallet_evm::runner::stack::Runner;
diff --git a/operator/runtime/stagenet/src/lib.rs b/operator/runtime/stagenet/src/lib.rs
index 0335770e9..f46eeb025 100644
--- a/operator/runtime/stagenet/src/lib.rs
+++ b/operator/runtime/stagenet/src/lib.rs
@@ -9,6 +9,7 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
#[cfg(feature = "runtime-benchmarks")]
mod benchmarks;
pub mod configs;
+pub mod precompiles;
pub mod weights;
use alloc::{borrow::Cow, vec::Vec};
diff --git a/operator/runtime/stagenet/src/precompiles.rs b/operator/runtime/stagenet/src/precompiles.rs
new file mode 100644
index 000000000..15081a31f
--- /dev/null
+++ b/operator/runtime/stagenet/src/precompiles.rs
@@ -0,0 +1,67 @@
+// Copyright 2019-2025 The DataHaven Team
+// This file is part of DataHaven.
+
+// DataHaven 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.
+
+// DataHaven 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 DataHaven. If not, see .
+
+use pallet_evm_precompile_blake2::Blake2F;
+use pallet_evm_precompile_bn128::{Bn128Add, Bn128Mul, Bn128Pairing};
+use pallet_evm_precompile_modexp::Modexp;
+use pallet_evm_precompile_registry::PrecompileRegistry;
+use pallet_evm_precompile_sha3fips::Sha3FIPS256;
+use pallet_evm_precompile_simple::{ECRecover, ECRecoverPublicKey, Identity, Ripemd160, Sha256};
+use precompile_utils::precompile_set::*;
+
+type EthereumPrecompilesChecks = (AcceptDelegateCall, CallableByContract, CallableByPrecompile);
+
+/// EVM precompiles available in the DataHaven Stagenet runtime.
+#[precompile_utils::precompile_name_from_address]
+type DataHavenPrecompilesAt = (
+ // Ethereum precompiles:
+ // We allow DELEGATECALL to stay compliant with Ethereum behavior.
+ PrecompileAt, ECRecover, EthereumPrecompilesChecks>,
+ PrecompileAt, Sha256, EthereumPrecompilesChecks>,
+ PrecompileAt, Ripemd160, EthereumPrecompilesChecks>,
+ PrecompileAt, Identity, EthereumPrecompilesChecks>,
+ PrecompileAt, Modexp, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Add, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Mul, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Pairing, EthereumPrecompilesChecks>,
+ PrecompileAt, Blake2F, EthereumPrecompilesChecks>,
+ // Non-DataHaven specific nor Ethereum precompiles :
+ PrecompileAt, Sha3FIPS256, (CallableByContract, CallableByPrecompile)>,
+ RemovedPrecompileAt>,
+ PrecompileAt, ECRecoverPublicKey, (CallableByContract, CallableByPrecompile)>,
+ RemovedPrecompileAt>,
+ // DataHaven specific precompiles:
+ PrecompileAt<
+ AddressU64<2069>,
+ PrecompileRegistry,
+ (CallableByContract, CallableByPrecompile),
+ >,
+);
+
+/// The PrecompileSet installed in the DataHaven runtime.
+/// We include the nine Istanbul precompiles
+/// (https://github.com/ethereum/go-ethereum/blob/3c46f557/core/vm/contracts.go#L69)
+/// The following distribution has been decided for the precompiles
+/// 0-1023: Ethereum Mainnet Precompiles
+/// 1024-2047 Precompiles that are not in Ethereum Mainnet but are neither DataHaven specific
+/// 2048-4095 DataHaven specific precompiles
+pub type DataHavenPrecompiles = PrecompileSetBuilder<
+ R,
+ (
+ // Skip precompiles if out of range.
+ PrecompilesInRangeInclusive<(AddressU64<1>, AddressU64<4095>), DataHavenPrecompilesAt>,
+ ),
+>;
diff --git a/operator/runtime/testnet/Cargo.toml b/operator/runtime/testnet/Cargo.toml
index 29d9281ea..b0e2ad830 100644
--- a/operator/runtime/testnet/Cargo.toml
+++ b/operator/runtime/testnet/Cargo.toml
@@ -32,15 +32,21 @@ frame-try-runtime = { workspace = true, optional = true }
hex = { workspace = true }
hex-literal = { workspace = true }
log = { workspace = true }
+num_enum = { workspace = true }
pallet-authorship = { workspace = true }
pallet-babe = { workspace = true }
pallet-balances = { workspace = true, features = ["insecure_zero_ed"] }
pallet-beefy = { workspace = true }
pallet-beefy-mmr = { workspace = true }
pallet-datahaven-native-transfer = { workspace = true }
-pallet-ethereum = { workspace = true }
-pallet-evm = { workspace = true }
+pallet-ethereum = { workspace = true, features = ["forbid-evm-reentrancy"] }
+pallet-evm = { workspace = true, features = ["forbid-evm-reentrancy"] }
pallet-evm-chain-id = { workspace = true }
+pallet-evm-precompile-blake2 = { workspace = true }
+pallet-evm-precompile-bn128 = { workspace = true }
+pallet-evm-precompile-modexp = { workspace = true }
+pallet-evm-precompile-sha3fips = { workspace = true }
+pallet-evm-precompile-simple = { workspace = true }
pallet-external-validators = { workspace = true }
pallet-external-validators-rewards = { workspace = true }
pallet-external-validators-rewards-runtime-api = { workspace = true }
@@ -63,6 +69,7 @@ pallet-transaction-payment = { workspace = true }
pallet-transaction-payment-rpc-runtime-api = { workspace = true }
pallet-treasury = { workspace = true }
pallet-utility = { workspace = true }
+precompile-utils = { workspace = true }
polkadot-primitives = { workspace = true }
polkadot-runtime-common = { workspace = true }
scale-info = { workspace = true, features = ["derive", "serde"] }
@@ -104,6 +111,9 @@ xcm = { workspace = true }
xcm-builder = { workspace = true }
xcm-executor = { workspace = true }
+# DataHaven precompiles
+pallet-evm-precompile-registry = { workspace = true }
+
[build-dependencies]
substrate-wasm-builder = { workspace = true, optional = true, default-features = true }
@@ -113,6 +123,8 @@ frame-support-test = { workspace = true }
sp-io = { workspace = true }
sp-tracing = { workspace = true }
+precompile-utils = { workspace = true, features = ["std", "testing"] }
+
# Snowbridge testing
snowbridge-core = { workspace = true }
snowbridge-outbound-queue-primitives = { workspace = true }
@@ -125,6 +137,7 @@ std = [
"codec/std",
"datahaven-runtime-common/std",
"fp-account/std",
+ "fp-evm/std",
"frame-benchmarking?/std",
"frame-executive/std",
"frame-metadata-hash-extension/std",
@@ -141,6 +154,7 @@ std = [
"pallet-ethereum/std",
"pallet-evm-chain-id/std",
"pallet-evm/std",
+ "pallet-evm-precompile-registry/std",
"pallet-grandpa/std",
"pallet-identity/std",
"pallet-im-online/std",
@@ -159,6 +173,7 @@ std = [
"pallet-transaction-payment/std",
"pallet-treasury/std",
"pallet-utility/std",
+ "precompile-utils/std",
"polkadot-primitives/std",
"polkadot-runtime-common/std",
"scale-info/std",
diff --git a/operator/runtime/testnet/src/configs/mod.rs b/operator/runtime/testnet/src/configs/mod.rs
index 0bc3b45c5..8a4dbcd2f 100644
--- a/operator/runtime/testnet/src/configs/mod.rs
+++ b/operator/runtime/testnet/src/configs/mod.rs
@@ -26,13 +26,14 @@
pub mod runtime_params;
use super::{
- currency::*, AccountId, Babe, Balance, Balances, BeefyMmrLeaf, Block, BlockNumber,
- EthereumBeaconClient, EthereumOutboundQueueV2, EvmChainId, ExistentialDeposit,
- ExternalValidators, ExternalValidatorsRewards, Hash, Historical, ImOnline, MessageQueue, Nonce,
- Offences, OriginCaller, OutboundCommitmentStore, PalletInfo, Preimage, Runtime, RuntimeCall,
- RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin, RuntimeTask, Session,
- SessionKeys, Signature, System, Timestamp, Treasury, BLOCK_HASH_COUNT, EXTRINSIC_BASE_WEIGHT,
- MAXIMUM_BLOCK_WEIGHT, NORMAL_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SLOT_DURATION, VERSION,
+ currency::*, precompiles::DataHavenPrecompiles, AccountId, Babe, Balance, Balances,
+ BeefyMmrLeaf, Block, BlockNumber, EthereumBeaconClient, EthereumOutboundQueueV2, EvmChainId,
+ ExistentialDeposit, ExternalValidators, ExternalValidatorsRewards, Hash, Historical, ImOnline,
+ MessageQueue, Nonce, Offences, OriginCaller, OutboundCommitmentStore, PalletInfo, Preimage,
+ Runtime, RuntimeCall, RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin,
+ RuntimeTask, Session, SessionKeys, Signature, System, Timestamp, Treasury, BLOCK_HASH_COUNT,
+ EXTRINSIC_BASE_WEIGHT, MAXIMUM_BLOCK_WEIGHT, NORMAL_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO,
+ SLOT_DURATION, VERSION,
};
use codec::{Decode, Encode};
use datahaven_runtime_common::{
@@ -755,7 +756,7 @@ datahaven_runtime_common::impl_on_charge_evm_transaction!();
parameter_types! {
pub BlockGasLimit: U256
= U256::from(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT.ref_time() / WEIGHT_PER_GAS);
- // pub PrecompilesValue: TemplatePrecompiles = TemplatePrecompiles::<_>::new();
+ pub PrecompilesValue: DataHavenPrecompiles = DataHavenPrecompiles::<_>::new();
pub WeightPerGas: Weight = Weight::from_parts(WEIGHT_PER_GAS, 0);
pub SuicideQuickClearLimit: u32 = 0;
/// The amount of gas per pov. A ratio of 16 if we convert ref_time to gas and we compare
@@ -781,8 +782,8 @@ impl pallet_evm::Config for Runtime {
type AddressMapping = IdentityAddressMapping;
type Currency = Balances;
type RuntimeEvent = RuntimeEvent;
- type PrecompilesType = ();
- type PrecompilesValue = ();
+ type PrecompilesType = DataHavenPrecompiles;
+ type PrecompilesValue = PrecompilesValue;
type ChainId = EvmChainId;
type BlockGasLimit = BlockGasLimit;
type Runner = pallet_evm::runner::stack::Runner;
diff --git a/operator/runtime/testnet/src/lib.rs b/operator/runtime/testnet/src/lib.rs
index 080692196..6175b2d49 100644
--- a/operator/runtime/testnet/src/lib.rs
+++ b/operator/runtime/testnet/src/lib.rs
@@ -9,6 +9,7 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
#[cfg(feature = "runtime-benchmarks")]
mod benchmarks;
pub mod configs;
+pub mod precompiles;
pub mod weights;
use alloc::{borrow::Cow, vec::Vec};
diff --git a/operator/runtime/testnet/src/precompiles.rs b/operator/runtime/testnet/src/precompiles.rs
new file mode 100644
index 000000000..6f453657c
--- /dev/null
+++ b/operator/runtime/testnet/src/precompiles.rs
@@ -0,0 +1,67 @@
+// Copyright 2019-2025 The DataHaven Team
+// This file is part of DataHaven.
+
+// DataHaven 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.
+
+// DataHaven 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 DataHaven. If not, see .
+
+use pallet_evm_precompile_blake2::Blake2F;
+use pallet_evm_precompile_bn128::{Bn128Add, Bn128Mul, Bn128Pairing};
+use pallet_evm_precompile_modexp::Modexp;
+use pallet_evm_precompile_registry::PrecompileRegistry;
+use pallet_evm_precompile_sha3fips::Sha3FIPS256;
+use pallet_evm_precompile_simple::{ECRecover, ECRecoverPublicKey, Identity, Ripemd160, Sha256};
+use precompile_utils::precompile_set::*;
+
+type EthereumPrecompilesChecks = (AcceptDelegateCall, CallableByContract, CallableByPrecompile);
+
+/// EVM precompiles available in the DataHaven Testnet runtime.
+#[precompile_utils::precompile_name_from_address]
+type DataHavenPrecompilesAt = (
+ // Ethereum precompiles:
+ // We allow DELEGATECALL to stay compliant with Ethereum behavior.
+ PrecompileAt, ECRecover, EthereumPrecompilesChecks>,
+ PrecompileAt, Sha256, EthereumPrecompilesChecks>,
+ PrecompileAt, Ripemd160, EthereumPrecompilesChecks>,
+ PrecompileAt, Identity, EthereumPrecompilesChecks>,
+ PrecompileAt, Modexp, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Add, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Mul, EthereumPrecompilesChecks>,
+ PrecompileAt, Bn128Pairing, EthereumPrecompilesChecks>,
+ PrecompileAt, Blake2F, EthereumPrecompilesChecks>,
+ // Non-DataHaven specific nor Ethereum precompiles :
+ PrecompileAt, Sha3FIPS256, (CallableByContract, CallableByPrecompile)>,
+ RemovedPrecompileAt>,
+ PrecompileAt, ECRecoverPublicKey, (CallableByContract, CallableByPrecompile)>,
+ RemovedPrecompileAt>,
+ // DataHaven specific precompiles:
+ PrecompileAt<
+ AddressU64<2069>,
+ PrecompileRegistry,
+ (CallableByContract, CallableByPrecompile),
+ >,
+);
+
+/// The PrecompileSet installed in the DataHaven runtime.
+/// We include the nine Istanbul precompiles
+/// (https://github.com/ethereum/go-ethereum/blob/3c46f557/core/vm/contracts.go#L69)
+/// The following distribution has been decided for the precompiles
+/// 0-1023: Ethereum Mainnet Precompiles
+/// 1024-2047 Precompiles that are not in Ethereum Mainnet but are neither DataHaven specific
+/// 2048-4095 DataHaven specific precompiles
+pub type DataHavenPrecompiles = PrecompileSetBuilder<
+ R,
+ (
+ // Skip precompiles if out of range.
+ PrecompilesInRangeInclusive<(AddressU64<1>, AddressU64<4095>), DataHavenPrecompilesAt>,
+ ),
+>;
From 873a63eed44a341b046b417259a11f17b96ea446 Mon Sep 17 00:00:00 2001
From: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
Date: Tue, 2 Sep 2025 14:22:20 +0200
Subject: [PATCH 2/5] fix: Use all self-hosted runners for now (#144)
---
.github/workflows/DOCKER-PROD.yml | 2 +-
.github/workflows/task-build-operator.yml | 2 +-
.github/workflows/task-rust-lint.yml | 6 +++---
.github/workflows/task-rust-tests.yml | 6 +++---
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/DOCKER-PROD.yml b/.github/workflows/DOCKER-PROD.yml
index fd07c64f4..eca5614ba 100644
--- a/.github/workflows/DOCKER-PROD.yml
+++ b/.github/workflows/DOCKER-PROD.yml
@@ -23,7 +23,7 @@ on:
jobs:
build-test-push:
runs-on:
- group: DH-runners
+ labels: bare-metal
outputs:
image-tag: ${{ steps.last_tag_extractor.outputs.last_tag_value }}
defaults:
diff --git a/.github/workflows/task-build-operator.yml b/.github/workflows/task-build-operator.yml
index 6ca71e681..8a7c13437 100644
--- a/.github/workflows/task-build-operator.yml
+++ b/.github/workflows/task-build-operator.yml
@@ -16,7 +16,7 @@ jobs:
binary-hash: ${{ steps.hash-binary.outputs.datahaven-node-hash }}
name: Build operator binary
runs-on:
- group: DH-runners
+ labels: bare-metal
env:
RUSTC_WRAPPER: "sccache"
CARGO_INCREMENTAL: "0"
diff --git a/.github/workflows/task-rust-lint.yml b/.github/workflows/task-rust-lint.yml
index 6b9f79234..052b6ce6b 100644
--- a/.github/workflows/task-rust-lint.yml
+++ b/.github/workflows/task-rust-lint.yml
@@ -25,7 +25,7 @@ jobs:
cargo-fmt:
name: "Check format with rustfmt"
runs-on:
- group: DH-runners
+ labels: bare-metal
defaults:
run:
working-directory: ${{ env.WORKING_DIR }}
@@ -44,7 +44,7 @@ jobs:
check-rust-lint:
name: "Check lint with clippy"
runs-on:
- group: DH-runners
+ labels: bare-metal
defaults:
run:
working-directory: ${{ env.WORKING_DIR }}
@@ -62,7 +62,7 @@ jobs:
check-cargo-sort:
name: "Check Cargo sort"
runs-on:
- group: DH-runners
+ labels: bare-metal
defaults:
run:
diff --git a/.github/workflows/task-rust-tests.yml b/.github/workflows/task-rust-tests.yml
index 8e2adce26..6df559f36 100644
--- a/.github/workflows/task-rust-tests.yml
+++ b/.github/workflows/task-rust-tests.yml
@@ -17,7 +17,7 @@ jobs:
prepare:
name: Prepare artifacts for Rust tests
runs-on:
- group: DH-runners
+ labels: bare-metal
env:
RUSTC_WRAPPER: "sccache"
CARGO_INCREMENTAL: "0"
@@ -57,7 +57,7 @@ jobs:
name: Run all Operator Rust tests (/w partitioning)
needs: [prepare]
runs-on:
- group: DH-runners
+ labels: bare-metal
strategy:
fail-fast: false
matrix:
@@ -91,7 +91,7 @@ jobs:
name: Check tests were successful
needs: [all-rust-tests]
runs-on:
- group: DH-runners
+ labels: bare-metal
steps:
- name: Cleanup test artifacts
uses: geekyeggo/delete-artifact@v5
From 59a642460b8ad745dad9722ea83f21ec95c71f5c Mon Sep 17 00:00:00 2001
From: undercover-cactus
Date: Tue, 2 Sep 2025 15:05:36 +0200
Subject: [PATCH 3/5] feat: add storagehub pallets to all the runtimes (#133)
This PR add the storagehub pallets to the `testnet` and `mainnet`
runtime. The storage hub pallets are only build with the runtime if the
`storage-hub` feature is activated.
It is also add minor fixes to the `stagenet` runtime (fix wrong path
dependencies, index collision, etc...).
---------
Co-authored-by: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
---
operator/Cargo.lock | 50 +-
operator/runtime/mainnet/Cargo.toml | 74 +++
operator/runtime/mainnet/src/configs/mod.rs | 2 +
.../mainnet/src/configs/runtime_params.rs | 318 +++++++++
.../mainnet/src/configs/storagehub/mod.rs | 610 ++++++++++++++++++
operator/runtime/mainnet/src/lib.rs | 207 +++++-
.../stagenet/src/configs/runtime_params.rs | 71 +-
operator/runtime/stagenet/src/lib.rs | 3 +
operator/runtime/testnet/Cargo.toml | 74 +++
operator/runtime/testnet/src/configs/mod.rs | 2 +
.../testnet/src/configs/runtime_params.rs | 318 +++++++++
.../testnet/src/configs/storagehub/mod.rs | 610 ++++++++++++++++++
operator/runtime/testnet/src/lib.rs | 207 +++++-
13 files changed, 2509 insertions(+), 37 deletions(-)
create mode 100644 operator/runtime/mainnet/src/configs/storagehub/mod.rs
create mode 100644 operator/runtime/testnet/src/configs/storagehub/mod.rs
diff --git a/operator/Cargo.lock b/operator/Cargo.lock
index 537b5ce63..8ee67f51c 100644
--- a/operator/Cargo.lock
+++ b/operator/Cargo.lock
@@ -2381,12 +2381,14 @@ dependencies = [
"hex",
"hex-literal 0.3.4",
"log",
- "num_enum",
+ "num-bigint",
"pallet-authorship",
"pallet-babe",
"pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-beefy",
"pallet-beefy-mmr",
+ "pallet-bucket-nfts",
+ "pallet-cr-randomness",
"pallet-datahaven-native-transfer",
"pallet-ethereum",
"pallet-evm",
@@ -2400,19 +2402,29 @@ dependencies = [
"pallet-external-validators",
"pallet-external-validators-rewards",
"pallet-external-validators-rewards-runtime-api",
+ "pallet-file-system",
+ "pallet-file-system-runtime-api",
"pallet-grandpa",
"pallet-identity",
"pallet-im-online",
"pallet-message-queue",
"pallet-mmr",
"pallet-multisig",
+ "pallet-nfts",
"pallet-offences",
"pallet-outbound-commitment-store",
"pallet-parameters",
+ "pallet-payment-streams",
+ "pallet-payment-streams-runtime-api",
"pallet-preimage",
+ "pallet-proofs-dealer",
+ "pallet-proofs-dealer-runtime-api",
"pallet-proxy",
+ "pallet-randomness",
"pallet-scheduler",
"pallet-session",
+ "pallet-storage-providers",
+ "pallet-storage-providers-runtime-api",
"pallet-sudo",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -2425,6 +2437,14 @@ dependencies = [
"precompile-utils",
"scale-info",
"serde_json",
+ "shp-constants",
+ "shp-data-price-updater",
+ "shp-file-key-verifier",
+ "shp-file-metadata",
+ "shp-forest-verifier",
+ "shp-traits",
+ "shp-treasury-funding",
+ "smallvec",
"snowbridge-beacon-primitives 0.2.0",
"snowbridge-core 0.2.0",
"snowbridge-inbound-queue-primitives",
@@ -2456,7 +2476,8 @@ dependencies = [
"sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie",
+ "sp-version",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -2712,12 +2733,14 @@ dependencies = [
"hex",
"hex-literal 0.3.4",
"log",
- "num_enum",
+ "num-bigint",
"pallet-authorship",
"pallet-babe",
"pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"pallet-beefy",
"pallet-beefy-mmr",
+ "pallet-bucket-nfts",
+ "pallet-cr-randomness",
"pallet-datahaven-native-transfer",
"pallet-ethereum",
"pallet-evm",
@@ -2731,19 +2754,29 @@ dependencies = [
"pallet-external-validators",
"pallet-external-validators-rewards",
"pallet-external-validators-rewards-runtime-api",
+ "pallet-file-system",
+ "pallet-file-system-runtime-api",
"pallet-grandpa",
"pallet-identity",
"pallet-im-online",
"pallet-message-queue",
"pallet-mmr",
"pallet-multisig",
+ "pallet-nfts",
"pallet-offences",
"pallet-outbound-commitment-store",
"pallet-parameters",
+ "pallet-payment-streams",
+ "pallet-payment-streams-runtime-api",
"pallet-preimage",
+ "pallet-proofs-dealer",
+ "pallet-proofs-dealer-runtime-api",
"pallet-proxy",
+ "pallet-randomness",
"pallet-scheduler",
"pallet-session",
+ "pallet-storage-providers",
+ "pallet-storage-providers-runtime-api",
"pallet-sudo",
"pallet-timestamp",
"pallet-transaction-payment",
@@ -2756,6 +2789,14 @@ dependencies = [
"precompile-utils",
"scale-info",
"serde_json",
+ "shp-constants",
+ "shp-data-price-updater",
+ "shp-file-key-verifier",
+ "shp-file-metadata",
+ "shp-forest-verifier",
+ "shp-traits",
+ "shp-treasury-funding",
+ "smallvec",
"snowbridge-beacon-primitives 0.2.0",
"snowbridge-core 0.2.0",
"snowbridge-inbound-queue-primitives",
@@ -2787,7 +2828,8 @@ dependencies = [
"sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
+ "sp-trie",
+ "sp-version",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
diff --git a/operator/runtime/mainnet/Cargo.toml b/operator/runtime/mainnet/Cargo.toml
index c097ef5e0..4f57d2eac 100644
--- a/operator/runtime/mainnet/Cargo.toml
+++ b/operator/runtime/mainnet/Cargo.toml
@@ -32,6 +32,7 @@ frame-try-runtime = { workspace = true, optional = true }
hex = { workspace = true }
hex-literal = { workspace = true }
log = { workspace = true }
+num-bigint = { workspace = true, optional = true }
num_enum = { workspace = true }
pallet-authorship = { workspace = true }
pallet-babe = { workspace = true }
@@ -76,6 +77,7 @@ scale-info = { workspace = true, features = ["derive", "serde"] }
serde_json = { workspace = true, default-features = false, features = [
"alloc",
] }
+smallvec = { workspace = true }
snowbridge-beacon-primitives = { workspace = true }
snowbridge-core = { workspace = true }
snowbridge-inbound-queue-primitives = { workspace = true }
@@ -114,6 +116,28 @@ xcm-executor = { workspace = true }
# DataHaven precompiles
pallet-evm-precompile-registry = { workspace = true }
+# StorageHub
+pallet-bucket-nfts = { workspace = true, optional = true }
+pallet-nfts = { workspace = true, optional = true }
+pallet-cr-randomness = { workspace = true, optional = true }
+pallet-file-system = { workspace = true, optional = true }
+pallet-file-system-runtime-api = { workspace = true, optional = true }
+pallet-payment-streams = { workspace = true, optional = true }
+pallet-payment-streams-runtime-api = { workspace = true, optional = true }
+pallet-proofs-dealer = { workspace = true, optional = true }
+pallet-proofs-dealer-runtime-api = { workspace = true, optional = true }
+pallet-randomness = { workspace = true, optional = true }
+pallet-storage-providers = { workspace = true, optional = true }
+pallet-storage-providers-runtime-api = { workspace = true, optional = true }
+shp-constants = { workspace = true, optional = true }
+shp-file-metadata = { workspace = true, optional = true }
+shp-traits = { workspace = true, optional = true }
+shp-treasury-funding = { workspace = true, optional = true }
+shp-forest-verifier = { workspace = true, optional = true }
+shp-file-key-verifier = { workspace = true, optional = true }
+shp-data-price-updater = { workspace = true, optional = true }
+sp-trie = { workspace = true, optional = true }
+
[build-dependencies]
substrate-wasm-builder = { workspace = true, optional = true, default-features = true }
@@ -132,6 +156,29 @@ snowbridge-pallet-system-v2 = { workspace = true }
snowbridge-outbound-queue-primitives = { workspace = true }
[features]
+storage-hub = [
+ "dep:num-bigint",
+ "dep:pallet-bucket-nfts",
+ "dep:pallet-nfts",
+ "dep:pallet-cr-randomness",
+ "dep:pallet-file-system",
+ "dep:pallet-file-system-runtime-api",
+ "dep:pallet-payment-streams",
+ "dep:pallet-payment-streams-runtime-api",
+ "dep:pallet-proofs-dealer",
+ "dep:pallet-proofs-dealer-runtime-api",
+ "dep:pallet-randomness",
+ "dep:pallet-storage-providers",
+ "dep:pallet-storage-providers-runtime-api",
+ "dep:shp-constants",
+ "dep:shp-file-metadata",
+ "dep:shp-traits",
+ "dep:shp-treasury-funding",
+ "dep:shp-forest-verifier",
+ "dep:shp-file-key-verifier",
+ "dep:shp-data-price-updater",
+ "dep:sp-trie"
+ ]
default = ["std"]
std = [
"codec/std",
@@ -214,6 +261,33 @@ std = [
"substrate-wasm-builder",
"pallet-outbound-commitment-store/std",
"pallet-datahaven-native-transfer/std",
+
+ # StorageHub
+ "pallet-authorship/std",
+ "pallet-balances/std",
+ "pallet-bucket-nfts/std",
+ "pallet-nfts/std",
+ "pallet-cr-randomness/std",
+ "pallet-file-system/std",
+ "pallet-file-system-runtime-api/std",
+ "pallet-payment-streams/std",
+ "pallet-payment-streams-runtime-api/std",
+ "pallet-proofs-dealer/std",
+ "pallet-proofs-dealer-runtime-api/std",
+ "pallet-randomness/std",
+ "pallet-session/std",
+ "pallet-storage-providers/std",
+ "pallet-storage-providers-runtime-api/std",
+ "pallet-sudo/std",
+ "pallet-timestamp/std",
+ "pallet-transaction-payment-rpc-runtime-api/std",
+ "pallet-transaction-payment/std",
+ "shp-constants/std",
+ "shp-file-metadata/std",
+ "shp-forest-verifier/std",
+ "shp-traits/std",
+ "shp-treasury-funding/std",
+ "shp-file-key-verifier/std",
]
runtime-benchmarks = [
diff --git a/operator/runtime/mainnet/src/configs/mod.rs b/operator/runtime/mainnet/src/configs/mod.rs
index 71245f5f6..4b92c89f4 100644
--- a/operator/runtime/mainnet/src/configs/mod.rs
+++ b/operator/runtime/mainnet/src/configs/mod.rs
@@ -22,6 +22,8 @@
// OTHER DEALINGS IN THE SOFTWARE.
//
// For more information, please refer to
+#[cfg(feature = "storage-hub")]
+mod storagehub;
pub mod runtime_params;
diff --git a/operator/runtime/mainnet/src/configs/runtime_params.rs b/operator/runtime/mainnet/src/configs/runtime_params.rs
index 9672fac94..48e197aba 100644
--- a/operator/runtime/mainnet/src/configs/runtime_params.rs
+++ b/operator/runtime/mainnet/src/configs/runtime_params.rs
@@ -5,6 +5,16 @@ use sp_core::{ConstU32, H160, H256};
use sp_runtime::{BoundedVec, Perbill};
use sp_std::vec;
+#[cfg(feature = "storage-hub")]
+use crate::currency::{GIGAWEI, HAVE};
+
+#[cfg(feature = "storage-hub")]
+use crate::configs::storagehub::{ChallengeTicksTolerance, ReplicationTargetType, SpMinDeposit};
+
+#[cfg(feature = "storage-hub")]
+use datahaven_runtime_common::{Balance, BlockNumber};
+
+#[cfg(not(feature = "storage-hub"))]
#[dynamic_params(RuntimeParameters, pallet_parameters::Parameters::)]
pub mod dynamic_params {
use super::*;
@@ -50,6 +60,314 @@ pub mod dynamic_params {
}
}
+#[cfg(feature = "storage-hub")]
+#[dynamic_params(RuntimeParameters, pallet_parameters::Parameters::)]
+pub mod dynamic_params {
+ use super::*;
+ #[dynamic_pallet_params]
+ #[codec(index = 0)]
+ pub mod runtime_config {
+
+ use super::*;
+
+ #[codec(index = 0)]
+ #[allow(non_upper_case_globals)]
+ /// Set the initial address of the Snowbridge Gateway contract on Ethereum.
+ /// The fact that this is a parameter means that we can set it initially to the zero address,
+ /// and then change it later via governance, to the actual address of the deployed contract.
+ pub static EthereumGatewayAddress: H160 = H160::repeat_byte(0x0);
+
+ #[codec(index = 1)]
+ #[allow(non_upper_case_globals)]
+ /// Set the initial address of the Rewards Registry contract on Ethereum.
+ /// The fact that this is a parameter means that we can set it initially to the zero address,
+ /// and then change it later via governance, to the actual address of the deployed contract.
+ pub static RewardsRegistryAddress: H160 = H160::repeat_byte(0x0);
+
+ #[codec(index = 2)]
+ #[allow(non_upper_case_globals)]
+ /// The Selector is the first 4 bytes of the keccak256 hash of the function signature("updateRewardsMerkleRoot(bytes32)")
+ pub static RewardsUpdateSelector: BoundedVec> =
+ BoundedVec::truncate_from(vec![0xdc, 0x3d, 0x04, 0xec]);
+
+ #[codec(index = 3)]
+ #[allow(non_upper_case_globals)]
+ /// The RewardsAgentOrigin is the hash of the string "external_validators_rewards"
+ /// TODO: Decide which agent origin we want to use. Currently for testing it's the zero hash
+ pub static RewardsAgentOrigin: H256 = H256::from_slice(&hex!(
+ "c505dfb2df107d106d08bd0f1a0acd10052ca9aa078629a4ccfd0c90c6e69b65"
+ ));
+
+ // Proportion of fees allocated to the Treasury (remainder are burned).
+ // e.g. 20% to the treasury, 80% burned.
+ #[codec(index = 4)]
+ #[allow(non_upper_case_globals)]
+ pub static FeesTreasuryProportion: Perbill = Perbill::from_percent(20);
+
+ // ╔══════════════════════ StorageHub Pallets ═══════════════════════╗
+
+ #[codec(index = 5)]
+ #[allow(non_upper_case_globals)]
+ /// 20 HAVEs
+ pub static SlashAmountPerMaxFileSize: Balance = 20 * HAVE;
+
+ #[codec(index = 6)]
+ #[allow(non_upper_case_globals)]
+ /// 10k HAVEs * [`MinChallengePeriod`] = 10k HAVEs * 30 = 300k HAVEs
+ ///
+ /// This can be interpreted as "a Provider with 10k HAVEs of stake would get the minimum challenge period".
+ pub static StakeToChallengePeriod: Balance =
+ 10_000 * HAVE * Into::::into(MinChallengePeriod::get());
+
+ #[codec(index = 7)]
+ #[allow(non_upper_case_globals)]
+ /// The [`CheckpointChallengePeriod`] is set to be equal to the longest possible challenge period
+ /// (i.e. the [`StakeToChallengePeriod`] divided by the [`SpMinDeposit`]).
+ ///
+ // 300k HAVEs / 100 HAVEs + 50 + 1 = ~3k ticks (i.e. ~5 hours with 6 seconds per tick)
+ pub static CheckpointChallengePeriod: BlockNumber = (StakeToChallengePeriod::get()
+ / SpMinDeposit::get()).saturating_add(ChallengeTicksTolerance::get() as u128).saturating_add(1)
+ .try_into()
+ .expect(
+ "StakeToChallengePeriod / SpMinDeposit should be a number of ticks that can fit in BlockNumber numerical type",
+ );
+
+ #[codec(index = 8)]
+ #[allow(non_upper_case_globals)]
+ /// 30 ticks, or 3 minutes with 6 seconds per tick.
+ pub static MinChallengePeriod: BlockNumber = 30;
+
+ #[codec(index = 9)]
+ #[allow(non_upper_case_globals)]
+ /// Price decreases when system utilisation is below 30%.
+ pub static SystemUtilisationLowerThresholdPercentage: Perbill = Perbill::from_percent(30);
+
+ #[codec(index = 10)]
+ #[allow(non_upper_case_globals)]
+ /// Price increases when system utilisation is above 95%.
+ pub static SystemUtilisationUpperThresholdPercentage: Perbill = Perbill::from_percent(95);
+
+ #[codec(index = 11)]
+ #[allow(non_upper_case_globals)]
+ /// 50 [`GIGAWEI`]s is the price per GB of data, per tick.
+ ///
+ /// With 6 seconds per tick, this means that over a month, the price of 1 GB is:
+ /// 50e-9 [`HAVE`]s * 10 ticks/min * 60 min/h * 24 h/day * 30 days/month = 21.6e-3 [`HAVE`]s
+ pub static MostlyStablePrice: Balance = 50 * GIGAWEI;
+
+ #[codec(index = 12)]
+ #[allow(non_upper_case_globals)]
+ /// [`MostlyStablePrice`] * 10 = 500 [`GIGAWEI`]s
+ pub static MaxPrice: Balance = MostlyStablePrice::get() * 10;
+
+ #[codec(index = 13)]
+ #[allow(non_upper_case_globals)]
+ /// [`MostlyStablePrice`] / 5 = 10 [`GIGAWEI`]s
+ pub static MinPrice: Balance = MostlyStablePrice::get() / 5;
+
+ #[codec(index = 14)]
+ #[allow(non_upper_case_globals)]
+ /// u = [`UpperExponentFactor`]
+ /// system_utilisation = 1
+ ///
+ /// [`MaxPrice`] = [`MostlyStablePrice`] + u * e ^ ( 1 - [`SystemUtilisationUpperThresholdPercentage`] )
+ ///
+ /// 500 = 50 + u * (e ^ (1 - 0.95) - 1)
+ /// u = (500 - 50) / (e ^ (1 - 0.95) - 1) ≈ 8777
+ pub static UpperExponentFactor: u32 = 8777;
+
+ #[codec(index = 15)]
+ #[allow(non_upper_case_globals)]
+ /// l = [`LowerExponentFactor`]
+ /// system_utilisation = 0
+ ///
+ /// [`MinPrice`] = [`MostlyStablePrice`] - u * e ^ ( [`SystemUtilisationLowerThresholdPercentage`] - 0 )
+ ///
+ /// 10 = 50 - l * (e ^ (0.3 - 0) - 1)
+ /// l = (50 - 10) / (e ^ (0.3 - 0) - 1) ≈ 114
+ pub static LowerExponentFactor: u32 = 114;
+
+ #[codec(index = 16)]
+ #[allow(non_upper_case_globals)]
+ /// 0-size bucket fixed rate payment stream representing the price for 1 GB of data.
+ ///
+ /// Base rate for a new fixed payment stream established between an MSP and a user.
+ pub static ZeroSizeBucketFixedRate: Balance = 50 * GIGAWEI;
+
+ #[codec(index = 17)]
+ #[allow(non_upper_case_globals)]
+ /// Ideal utilisation rate of the system
+ pub static IdealUtilisationRate: Perbill = Perbill::from_percent(85);
+
+ #[codec(index = 18)]
+ #[allow(non_upper_case_globals)]
+ /// Decay rate of the power of two function that determines the percentage of funds that go to
+ /// the treasury for utilisation rates greater than the ideal.
+ pub static DecayRate: Perbill = Perbill::from_percent(5);
+
+ #[codec(index = 19)]
+ #[allow(non_upper_case_globals)]
+ /// The minimum treasury cut that can be taken from the amount charged from a payment stream.
+ pub static MinimumTreasuryCut: Perbill = Perbill::from_percent(1);
+
+ #[codec(index = 20)]
+ #[allow(non_upper_case_globals)]
+ /// The maximum treasury cut that can be taken from the amount charged from a payment stream.
+ pub static MaximumTreasuryCut: Perbill = Perbill::from_percent(5);
+
+ #[codec(index = 21)]
+ #[allow(non_upper_case_globals)]
+ /// The penalty a BSP must pay when they forcefully stop storing a file.
+ /// We set this to be half of the `SlashAmountPerMaxFileSize` with the rationale that
+ /// for a BSP that has lost this file, it should be more convenient to voluntarily
+ /// show up and pay this penalty in good faith, rather than risking being slashed for
+ /// being unable to submit a proof that should include this file.
+ pub static BspStopStoringFilePenalty: Balance = SlashAmountPerMaxFileSize::get() / 2;
+
+ /// Time-to-live for a provider to top up their deposit to cover a capacity deficit.
+ /// Set to 14_400 relay blocks = 1 day with 6 second timeslots.
+ #[codec(index = 22)]
+ #[allow(non_upper_case_globals)]
+ pub static ProviderTopUpTtl: BlockNumber = 14_400;
+
+ /// The following parameters are the replication targets for the different security levels
+ /// that a storage request (and thus the file it represents) can have.
+ ///
+ /// These are associated with the probability that a malicious actor could hold the file hostage by controlling
+ /// all BSPs that volunteered and confirmed storing it.
+ /// The values were calculated from the probabilities derived using binomial distribution calculations,
+ /// where the total number of BSPs is set to 1000, the fraction of malicious BSPs is 1/3, and the target number of BSPs
+ /// is incremented until the probability of all selected BSPs being malicious falls below the required percentage.
+ ///
+ /// The formula used is:
+ /// num_bsps = 1000
+ /// fraction_evil = 1/3
+ /// n_evil = int(num_bsps * fraction_evil) // = 333
+ /// target = range(1, num_bsps)
+ /// p_init = target / num_bsps
+ /// prob = binomial_cdf_at_least(n_evil, target, p_init)
+ ///
+ /// This ensures that the replication targets were selected optimally to balance security and storage efficiency.
+ /// --------------------------------------------------------------------------------------------------------------------
+ /// The amount of BSPs that a basic security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~1%.
+ #[codec(index = 23)]
+ #[allow(non_upper_case_globals)]
+ pub static BasicReplicationTarget: ReplicationTargetType = 7;
+
+ /// The amount of BSPs that a standard security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.1%.
+ #[codec(index = 24)]
+ #[allow(non_upper_case_globals)]
+ pub static StandardReplicationTarget: ReplicationTargetType = 12;
+
+ /// The amount of BSPs that a high security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.01%.
+ #[codec(index = 25)]
+ #[allow(non_upper_case_globals)]
+ pub static HighSecurityReplicationTarget: ReplicationTargetType = 17;
+
+ /// The amount of BSPs that a super high security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.001%.
+ #[codec(index = 26)]
+ #[allow(non_upper_case_globals)]
+ pub static SuperHighSecurityReplicationTarget: ReplicationTargetType = 22;
+
+ /// The amount of BSPs that an ultra high security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.0001%.
+ #[codec(index = 27)]
+ #[allow(non_upper_case_globals)]
+ pub static UltraHighSecurityReplicationTarget: ReplicationTargetType = 26;
+
+ /// The maximum amount of BSPs that a user can require a storage request to use as the replication target.
+ ///
+ /// This is a safety measure to prevent users from issuing storage requests that are too large and would
+ /// require a large number of BSPs to store the file.
+ #[codec(index = 28)]
+ #[allow(non_upper_case_globals)]
+ pub static MaxReplicationTarget: ReplicationTargetType =
+ UltraHighSecurityReplicationTarget::get()
+ .saturating_mul(150)
+ .saturating_div(100);
+
+ /// The amount of ticks that have to pass for the threshold to volunteer for a specific storage request
+ /// to arrive at its maximum value.
+ ///
+ /// This is big enough so volunteering for a storage request is not open to everyone inmediatly, preventing
+ /// a select few BSPs from taking all the requests, while small enough so that storage requests don't take
+ /// too long to be filled.
+ #[codec(index = 29)]
+ #[allow(non_upper_case_globals)]
+ pub static TickRangeToMaximumThreshold: BlockNumber = 3600; // 6 hours with a 6 second block time
+
+ /// The amount of ticks after which a storage request is considered expired and can be removed from storage.
+ ///
+ /// It's a function of the TickRangeToMaximumThreshold since it does not make sense for a storage request to
+ /// expire before arriving at its maximum threshold for volunteering.
+ #[codec(index = 30)]
+ #[allow(non_upper_case_globals)]
+ pub static StorageRequestTtl: BlockNumber = TickRangeToMaximumThreshold::get()
+ .saturating_mul(110)
+ .saturating_div(100);
+
+ /// The minimum amount of ticks between a stop storing request from a BSP and that BSP being able to
+ /// confirm to stop storing that file key.
+ ///
+ /// It's a function of the checkpoint challenge period since this makes it so BSPs can't avoid checkpoint
+ /// challenges by stopping storing a file key right before the challenge period ends in case they lost it.
+ #[codec(index = 31)]
+ #[allow(non_upper_case_globals)]
+ pub static MinWaitForStopStoring: BlockNumber = CheckpointChallengePeriod::get()
+ .saturating_mul(110)
+ .saturating_div(100);
+
+ #[codec(index = 32)]
+ #[allow(non_upper_case_globals)]
+ /// 20 ticks, or 2 minutes with 6 seconds per tick.
+ pub static MinSeedPeriod: BlockNumber = 20;
+
+ #[codec(index = 33)]
+ #[allow(non_upper_case_globals)]
+ /// 10k HAVEs * [`MinSeedPeriod`] = 10k HAVEs * 20 = 200k HAVEs
+ ///
+ /// This can be interpreted as "a Provider with 10k HAVEs of stake would get the minimum seed period".
+ pub static StakeToSeedPeriod: Balance =
+ 10_000 * HAVE * Into::::into(MinSeedPeriod::get());
+
+ #[codec(index = 34)]
+ #[allow(non_upper_case_globals)]
+ /// The amount of ticks to charge a user upfront when it tries to issue a new storage request.
+ /// This is done as a deterrent to avoid users spamming the network with huge files but never
+ /// actually planning to store them longterm.
+ ///
+ /// 72k ticks = 5 days with 6 seconds per tick.
+ /// This means that a user must pay for 5 days of storage upfront, which gets transferred to the
+ /// treasury. Governance can then decide what to do with the accumulated funds.
+ ///
+ /// With a stable price (defined as `MostlyStablePrice` in this file) of 50 GIGAWEIs per gigabyte
+ /// per tick and a standard replication target (`StandardReplicationTarget`) of 12 BSPs, the upfront
+ /// cost for the user to issue a storage request for a 1 GB file would be:
+ /// 50 GIGAWEIs per gigabyte per tick * 12 BSPs * 72k ticks * 1 GB = 0.0432 HAVEs
+ pub static UpfrontTicksToPay: BlockNumber = 72_000;
+ // ╚══════════════════════ StorageHub Pallets ═══════════════════════╝
+ }
+}
+
#[cfg(feature = "runtime-benchmarks")]
impl Default for RuntimeParameters {
fn default() -> Self {
diff --git a/operator/runtime/mainnet/src/configs/storagehub/mod.rs b/operator/runtime/mainnet/src/configs/storagehub/mod.rs
new file mode 100644
index 000000000..636393e87
--- /dev/null
+++ b/operator/runtime/mainnet/src/configs/storagehub/mod.rs
@@ -0,0 +1,610 @@
+use super::{
+ AccountId, Balance, Balances, BlockNumber, Hash, RuntimeEvent, RuntimeHoldReason, HAVE,
+};
+use crate::configs::runtime_params::dynamic_params::runtime_config;
+use crate::{
+ BucketNfts, Nfts, PaymentStreams, ProofsDealer, Providers, Runtime, Signature, WeightToFee,
+ HOURS,
+};
+use core::marker::PhantomData;
+use datahaven_runtime_common::time::{DAYS, MINUTES};
+use frame_support::pallet_prelude::DispatchClass;
+use frame_support::traits::AsEnsureOriginWithArg;
+use frame_support::{
+ parameter_types,
+ traits::{ConstU128, ConstU32, ConstU64},
+ weights::Weight,
+};
+use frame_system::pallet_prelude::BlockNumberFor;
+use frame_system::EnsureRoot;
+use frame_system::EnsureSigned;
+use num_bigint::BigUint;
+use pallet_nfts::PalletFeatures;
+use polkadot_runtime_common::prod_or_fast;
+use shp_data_price_updater::{MostlyStablePriceIndexUpdater, MostlyStablePriceIndexUpdaterConfig};
+use shp_file_key_verifier::FileKeyVerifier;
+use shp_file_metadata::{ChunkId, FileMetadata};
+use shp_forest_verifier::ForestVerifier;
+use shp_treasury_funding::{
+ LinearThenPowerOfTwoTreasuryCutCalculator, LinearThenPowerOfTwoTreasuryCutCalculatorConfig,
+};
+use sp_core::Get;
+use sp_core::Hasher;
+use sp_core::H256;
+use sp_runtime::traits::Convert;
+use sp_runtime::traits::ConvertBack;
+use sp_runtime::traits::Verify;
+use sp_runtime::traits::Zero;
+use sp_runtime::SaturatedConversion;
+use sp_runtime::{traits::BlakeTwo256, Perbill};
+use sp_std::convert::{From, Into};
+use sp_std::vec;
+use sp_trie::{LayoutV1, TrieConfiguration, TrieLayout};
+
+/// Type representing the storage data units in StorageHub.
+pub type StorageDataUnit = u64;
+
+pub type StorageProofsMerkleTrieLayout = LayoutV1;
+
+pub type Hashing = BlakeTwo256;
+
+// TODO: remove this and replace with pallet treasury
+pub struct TreasuryAccount;
+impl Get for TreasuryAccount {
+ fn get() -> AccountId {
+ AccountId::from([0; 32])
+ }
+}
+
+/****** NFTs pallet ******/
+parameter_types! {
+ pub const CollectionDeposit: Balance = 100 * HAVE;
+ pub const ItemDeposit: Balance = 1 * HAVE;
+ pub const MetadataDepositBase: Balance = 10 * HAVE;
+ pub const MetadataDepositPerByte: Balance = 1 * HAVE;
+ pub const ApprovalsLimit: u32 = 20;
+ pub const ItemAttributesApprovalsLimit: u32 = 20;
+ pub const MaxTips: u32 = 10;
+ pub const MaxDeadlineDuration: BlockNumber = 12 * 30 * DAYS;
+ pub const MaxAttributesPerCall: u32 = 10;
+ pub Features: PalletFeatures = PalletFeatures::all_enabled();
+}
+
+impl pallet_nfts::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type CollectionId = u32;
+ type ItemId = u32;
+ type Currency = Balances;
+ type CreateOrigin = AsEnsureOriginWithArg>;
+ type ForceOrigin = frame_system::EnsureRoot;
+ type CollectionDeposit = CollectionDeposit;
+ type ItemDeposit = ItemDeposit;
+ type MetadataDepositBase = MetadataDepositBase;
+ type AttributeDepositBase = MetadataDepositBase;
+ type DepositPerByte = MetadataDepositPerByte;
+ type StringLimit = ConstU32<256>;
+ type KeyLimit = ConstU32<64>;
+ type ValueLimit = ConstU32<256>;
+ type ApprovalsLimit = ApprovalsLimit;
+ type ItemAttributesApprovalsLimit = ItemAttributesApprovalsLimit;
+ type MaxTips = MaxTips;
+ type MaxDeadlineDuration = MaxDeadlineDuration;
+ type MaxAttributesPerCall = MaxAttributesPerCall;
+ type Features = Features;
+ type OffchainSignature = Signature;
+ type OffchainPublic = ::Signer;
+ type WeightInfo = pallet_nfts::weights::SubstrateWeight;
+ type Locker = ();
+}
+/****** ****** ****** ******/
+
+/****** Relay Randomness pallet ******/
+impl pallet_randomness::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type BabeDataGetter = BabeDataGetter;
+ type BabeBlockGetter = BlockNumberGetter;
+ type WeightInfo = ();
+ type BabeDataGetterBlockNumber = BlockNumber;
+}
+
+pub struct BabeDataGetter;
+impl pallet_randomness::GetBabeData for BabeDataGetter {
+ fn get_epoch_index() -> u64 {
+ todo!("implement `get_epoch_index`");
+ }
+ fn get_epoch_randomness() -> Hash {
+ todo!("implement `get_epoch_randomness`");
+ }
+ fn get_parent_randomness() -> Hash {
+ todo!("implement `get_parent_randomness`");
+ }
+}
+
+pub struct BlockNumberGetter {}
+impl sp_runtime::traits::BlockNumberProvider for BlockNumberGetter {
+ type BlockNumber = BlockNumber;
+
+ fn current_block_number() -> Self::BlockNumber {
+ frame_system::Pallet::::block_number()
+ }
+}
+
+/****** ****** ****** ******/
+
+/****** Storage Providers pallet ******/
+parameter_types! {
+ pub const SpMinDeposit: Balance = 100 * HAVE;
+ pub const BucketDeposit: Balance = 100 * HAVE;
+ pub const BspSignUpLockPeriod: BlockNumber = 90 * DAYS; // ~3 months
+ pub const MaxBlocksForRandomness: BlockNumber = prod_or_fast!(2 * HOURS, 2 * MINUTES);
+ // TODO: If the next line is uncommented (which should be eventually, replacing the line above), compilation breaks (most likely because of mismatched dependency issues)
+ // pub const MaxBlocksForRandomness: BlockNumber = prod_or_fast!(2 * runtime_constants::time::EPOCH_DURATION_IN_SLOTS, 2 * MINUTES);
+}
+
+impl pallet_storage_providers::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_storage_providers::weights::SubstrateWeight;
+ type ProvidersRandomness = pallet_randomness::RandomnessFromOneEpochAgo;
+ type PaymentStreams = PaymentStreams;
+ type ProofDealer = ProofsDealer;
+ type FileMetadataManager = FileMetadata<
+ { shp_constants::H_LENGTH },
+ { shp_constants::FILE_CHUNK_SIZE },
+ { shp_constants::FILE_SIZE_TO_CHALLENGES },
+ >;
+ type NativeBalance = Balances;
+ type CrRandomness = MockCrRandomness;
+ type RuntimeHoldReason = RuntimeHoldReason;
+ type StorageDataUnit = StorageDataUnit;
+ type StorageDataUnitAndBalanceConvert = StorageDataUnitAndBalanceConverter;
+ type SpCount = u32;
+ type BucketCount = u128;
+ type MerklePatriciaRoot = Hash;
+ type MerkleTrieHashing = Hashing;
+ type ProviderId = Hash;
+ type ProviderIdHashing = Hashing;
+ type ValuePropId = Hash;
+ type ValuePropIdHashing = Hashing;
+ type ReadAccessGroupId = ::CollectionId;
+ type ProvidersProofSubmitters = ProofsDealer;
+ type ReputationWeightType = u32;
+ type StorageHubTickGetter = ProofsDealer;
+ type Treasury = TreasuryAccount;
+ type SpMinDeposit = SpMinDeposit;
+ type SpMinCapacity = ConstU64<2>;
+ type DepositPerData = ConstU128<2>;
+ type MaxFileSize = ConstU64<{ u64::MAX }>;
+ type MaxMultiAddressSize = ConstU32<100>;
+ type MaxMultiAddressAmount = ConstU32<5>;
+ type MaxProtocols = ConstU32<100>;
+ type BucketDeposit = BucketDeposit;
+ type BucketNameLimit = ConstU32<100>;
+ type MaxBlocksForRandomness = MaxBlocksForRandomness;
+ type MinBlocksBetweenCapacityChanges = ConstU32<10>;
+ type DefaultMerkleRoot = DefaultMerkleRoot;
+ type SlashAmountPerMaxFileSize = runtime_config::SlashAmountPerMaxFileSize;
+ type StartingReputationWeight = ConstU32<1>;
+ type BspSignUpLockPeriod = BspSignUpLockPeriod;
+ type MaxCommitmentSize = ConstU32<1000>;
+ type ZeroSizeBucketFixedRate = runtime_config::ZeroSizeBucketFixedRate;
+ type ProviderTopUpTtl = runtime_config::ProviderTopUpTtl;
+ type MaxExpiredItemsInBlock = ConstU32<100>;
+}
+
+pub struct StorageDataUnitAndBalanceConverter;
+impl Convert for StorageDataUnitAndBalanceConverter {
+ fn convert(data_unit: StorageDataUnit) -> Balance {
+ data_unit.saturated_into()
+ }
+}
+impl ConvertBack for StorageDataUnitAndBalanceConverter {
+ fn convert_back(balance: Balance) -> StorageDataUnit {
+ balance.saturated_into()
+ }
+}
+
+pub type HasherOutT = <::Hash as Hasher>::Out;
+pub struct DefaultMerkleRoot(PhantomData);
+impl Get> for DefaultMerkleRoot {
+ fn get() -> HasherOutT {
+ sp_trie::empty_trie_root::()
+ }
+}
+
+/****** ****** ****** ******/
+
+/****** Payment Streams pallet ******/
+parameter_types! {
+ pub const PaymentStreamHoldReason: RuntimeHoldReason = RuntimeHoldReason::PaymentStreams(pallet_payment_streams::HoldReason::PaymentStreamDeposit);
+ pub const UserWithoutFundsCooldown: BlockNumber = 100;
+}
+
+impl pallet_payment_streams::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_payment_streams::weights::SubstrateWeight;
+ type NativeBalance = Balances;
+ type ProvidersPallet = Providers;
+ type RuntimeHoldReason = RuntimeHoldReason;
+ type UserWithoutFundsCooldown = UserWithoutFundsCooldown; // Amount of blocks that a user will have to wait before being able to clear the out of funds flag
+ type NewStreamDeposit = ConstU32<10>; // Amount of blocks that the deposit of a new stream should be able to pay for
+ type Units = StorageDataUnit; // Storage unit
+ type BlockNumberToBalance = BlockNumberToBalance;
+ type ProvidersProofSubmitters = ProofsDealer;
+ type TreasuryCutCalculator = LinearThenPowerOfTwoTreasuryCutCalculator;
+ type TreasuryAccount = TreasuryAccount;
+ type MaxUsersToCharge = ConstU32<10>;
+ type BaseDeposit = ConstU128<10>;
+}
+
+// Converter from the BlockNumber type to the Balance type for math
+pub struct BlockNumberToBalance;
+impl Convert for BlockNumberToBalance {
+ fn convert(block_number: BlockNumber) -> Balance {
+ block_number.into() // In this converter we assume that the block number type is smaller in size than the balance type
+ }
+}
+
+impl LinearThenPowerOfTwoTreasuryCutCalculatorConfig for Runtime {
+ type Balance = Balance;
+ type ProvidedUnit = StorageDataUnit;
+ type IdealUtilisationRate = runtime_config::IdealUtilisationRate;
+ type DecayRate = runtime_config::DecayRate;
+ type MinimumCut = runtime_config::MinimumTreasuryCut;
+ type MaximumCut = runtime_config::MaximumTreasuryCut;
+}
+/****** ****** ****** ******/
+
+/****** Proofs Dealer pallet ******/
+const RANDOM_CHALLENGES_PER_BLOCK: u32 = 10;
+const MAX_CUSTOM_CHALLENGES_PER_BLOCK: u32 = 10;
+const TOTAL_MAX_CHALLENGES_PER_BLOCK: u32 =
+ RANDOM_CHALLENGES_PER_BLOCK + MAX_CUSTOM_CHALLENGES_PER_BLOCK;
+
+parameter_types! {
+ pub const RandomChallengesPerBlock: u32 = RANDOM_CHALLENGES_PER_BLOCK;
+ pub const MaxCustomChallengesPerBlock: u32 = MAX_CUSTOM_CHALLENGES_PER_BLOCK;
+ pub const TotalMaxChallengesPerBlock: u32 = TOTAL_MAX_CHALLENGES_PER_BLOCK;
+ pub const TargetTicksStorageOfSubmitters: u32 = 3;
+ pub const ChallengeHistoryLength: BlockNumber = 100;
+ pub const ChallengesQueueLength: u32 = 100;
+ pub const ChallengesFee: Balance = 1 * HAVE;
+ pub const ChallengeTicksTolerance: u32 = 50;
+}
+
+impl pallet_proofs_dealer::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_proofs_dealer::weights::SubstrateWeight;
+ type ProvidersPallet = Providers;
+ type NativeBalance = Balances;
+ type MerkleTrieHash = Hash;
+ type MerkleTrieHashing = BlakeTwo256;
+ type ForestVerifier = ForestVerifier;
+ type KeyVerifier = FileKeyVerifier<
+ StorageProofsMerkleTrieLayout,
+ { shp_constants::H_LENGTH },
+ { shp_constants::FILE_CHUNK_SIZE },
+ { shp_constants::FILE_SIZE_TO_CHALLENGES },
+ >;
+ type StakeToBlockNumber = SaturatingBalanceToBlockNumber;
+ type RandomChallengesPerBlock = RandomChallengesPerBlock;
+ type MaxCustomChallengesPerBlock = MaxCustomChallengesPerBlock;
+ type MaxSubmittersPerTick = MaxSubmittersPerTick;
+ type TargetTicksStorageOfSubmitters = TargetTicksStorageOfSubmitters;
+ type ChallengeHistoryLength = ChallengeHistoryLength;
+ type ChallengesQueueLength = ChallengesQueueLength;
+ type CheckpointChallengePeriod = runtime_config::CheckpointChallengePeriod;
+ type ChallengesFee = ChallengesFee;
+ type Treasury = TreasuryAccount;
+ // TODO: Once the client logic to keep track of CR randomness deadlines and execute their submissions is implemented
+ // AND after the chain has been live for enough time to have enough providers to avoid the commit-reveal randomness being
+ // gameable, the randomness provider should be CrRandomness
+ type RandomnessProvider = pallet_randomness::ParentBlockRandomness;
+ type StakeToChallengePeriod = runtime_config::StakeToChallengePeriod;
+ type MinChallengePeriod = runtime_config::MinChallengePeriod;
+ type ChallengeTicksTolerance = ChallengeTicksTolerance;
+ type BlockFullnessPeriod = ChallengeTicksTolerance; // We purposely set this to `ChallengeTicksTolerance` so that spamming of the chain is evaluated for the same blocks as the tolerance BSPs are given.
+ type BlockFullnessHeadroom = BlockFullnessHeadroom;
+ type MinNotFullBlocksRatio = MinNotFullBlocksRatio;
+ type MaxSlashableProvidersPerTick = MaxSlashableProvidersPerTick;
+}
+
+// Converter from the Balance type to the BlockNumber type for math.
+// It performs a saturated conversion, so that the result is always a valid BlockNumber.
+pub struct SaturatingBalanceToBlockNumber;
+impl Convert> for SaturatingBalanceToBlockNumber {
+ fn convert(block_number: Balance) -> BlockNumberFor {
+ block_number.saturated_into()
+ }
+}
+
+pub struct MaxSubmittersPerTick;
+impl Get for MaxSubmittersPerTick {
+ fn get() -> u32 {
+ let block_weights = ::BlockWeights::get();
+
+ // Not being able to get the `max_total` weight for the Normal dispatch class is considered
+ // a critical bug. So we set it to be zero, essentially allowing zero submitters per tick.
+ // This value can be read from the constants of a node, but with the current configuration, this is:
+ //
+ // max_total: {
+ // ref_time: 1,500,000,000,000
+ // proof_size: 3,932,160
+ // }
+ let max_weight_for_class = block_weights
+ .get(DispatchClass::Normal)
+ .max_total
+ .unwrap_or(Zero::zero());
+
+ // Get the minimum weight a `submit_proof` extrinsic can have.
+ // This would be the case where the proof is just made up of a single file key proof, that is a
+ // response to all the random challenges. And there are no checkpoint challenges.
+ // With the current benchmarking, this is:
+ //
+ // TODO: UPDATE THIS WITH THE FINAL BENCHMARKING
+ // min_weight_for_submit_proof: {
+ // ref_time: 2,980,252,675
+ // proof_size: 16,056
+ // }
+ let min_weight_for_submit_proof =
+ as pallet_proofs_dealer::weights::WeightInfo>::submit_proof_no_checkpoint_challenges_key_proofs(1);
+
+ // Calculate the maximum number of submit proofs that is possible to have in a block/tick.
+ // With the current values, this would be:
+ //
+ // TODO: UPDATE THIS WITH THE FINAL BENCHMARKING
+ // 244 proof submissions per block (limited by `proof_size`)
+ let max_proof_submissions_per_tick = max_weight_for_class
+ .checked_div_per_component(&min_weight_for_submit_proof)
+ .unwrap_or(0);
+
+ // Saturating u64 to u32 should be enough.
+ max_proof_submissions_per_tick.saturated_into()
+ }
+}
+
+pub struct BlockFullnessHeadroom;
+impl Get for BlockFullnessHeadroom {
+ fn get() -> Weight {
+ // The block headroom is set to be the maximum benchmarked weight that a `submit_proof` extrinsic can have.
+ // That is, when the proof includes two file key proofs for every single random challenge, and for the maximum
+ // number of checkpoint challenges as well.
+ as pallet_proofs_dealer::weights::WeightInfo>::submit_proof_with_checkpoint_challenges_key_proofs(TOTAL_MAX_CHALLENGES_PER_BLOCK * 2)
+ }
+}
+
+pub struct MinNotFullBlocksRatio;
+impl Get for MinNotFullBlocksRatio {
+ fn get() -> Perbill {
+ // This means that we tolerate at most 50% of misbehaving collators.
+ Perbill::from_percent(50)
+ }
+}
+
+pub struct MaxSlashableProvidersPerTick;
+impl Get for MaxSlashableProvidersPerTick {
+ fn get() -> u32 {
+ // With the maximum number of slashable providers per tick being `N`, the absolute maximum
+ // weight that the `on_poll` hook can have, with the current benchmarking, is:
+ //
+ // TODO: UPDATE THIS WITH THE FINAL BENCHMARKING
+ // new_challenges_round_weight: {
+ // ref_time: 576,000,000 + N * 551,601,146
+ // proof_size: 8,523 + N * 3,158
+ // }
+ // new_checkpoint_challenge_round_max_weight: {
+ // ref_time: 587,205,208 + ChallengesQueueLength * 225,083 = 610,554,678
+ // proof_size: 4,787
+ // }
+ // check_spamming_condition_weight: {
+ // ref_time: 313,000,000
+ // proof_size: 6,012
+ // }
+ //
+ // For `N` = 1000, this would be:
+ // max_on_poll_weight: {
+ // ref_time: 313,000,000 + 610,554,678 + 576,000,000 + N * 551,601,146 ≈ 553,100,700,678
+ // proof_size: 6,012 + 4,787 + 8,523 + N * 3,158 ≈ 3,177,322
+ // }
+ //
+ // Consider that the maximum block weight is:
+ // maxBlock: {
+ // ref_time: 2,000,000,000,000
+ // proof_size: 5,242,880
+ // }
+ //
+ // This `on_poll` hook would consume roughly 1/4 of the block `ref_time` and 3/5 of the block `proof_size`.
+ // This is naturally a lot. But it would be a very unlikely scenario.
+ //
+ // This would be the case where all `N` Providers have synchronised their challenge periods
+ // and have the same deadline, plus, all of them missed their proof submissions.
+ // The normal scenario would be that NONE (or just a small number) of the Providers have
+ // missed their proof submissions.
+ let max_slashable_providers_per_tick = 1000;
+ max_slashable_providers_per_tick
+ }
+}
+/****** ****** ****** ******/
+
+/****** File System pallet ******/
+type ThresholdType = u32;
+pub type ReplicationTargetType = u32;
+
+parameter_types! {
+ pub const BaseStorageRequestCreationDeposit: Balance = 1 * HAVE;
+ pub const FileDeletionRequestCreationDeposit: Balance = 1 * HAVE;
+ pub const FileSystemStorageRequestCreationHoldReason: RuntimeHoldReason = RuntimeHoldReason::FileSystem(pallet_file_system::HoldReason::StorageRequestCreationHold);
+ pub const FileSystemFileDeletionRequestHoldReason: RuntimeHoldReason = RuntimeHoldReason::FileSystem(pallet_file_system::HoldReason::FileDeletionRequestHold);
+}
+
+impl pallet_file_system::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_file_system::weights::SubstrateWeight;
+ type Providers = Providers;
+ type ProofDealer = ProofsDealer;
+ type PaymentStreams = PaymentStreams;
+ // TODO: Replace the mocked CR randomness with the actual one when it's ready
+ // type CrRandomness = CrRandomness;
+ type CrRandomness = MockCrRandomness;
+ type UpdateStoragePrice = MostlyStablePriceIndexUpdater;
+ type UserSolvency = PaymentStreams;
+ type Fingerprint = Hash;
+ type ReplicationTargetType = ReplicationTargetType;
+ type ThresholdType = ThresholdType;
+ type ThresholdTypeToTickNumber = ThresholdTypeToBlockNumberConverter;
+ type HashToThresholdType = HashToThresholdTypeConverter;
+ type MerkleHashToRandomnessOutput = MerkleHashToRandomnessOutputConverter;
+ type ChunkIdToMerkleHash = ChunkIdToMerkleHashConverter;
+ type Currency = Balances;
+ type RuntimeHoldReason = RuntimeHoldReason;
+ type Nfts = Nfts;
+ type CollectionInspector = BucketNfts;
+ type BspStopStoringFilePenalty = runtime_config::BspStopStoringFilePenalty;
+ type TreasuryAccount = TreasuryAccount;
+ type MaxBatchConfirmStorageRequests = ConstU32<10>;
+ type MaxFilePathSize = ConstU32<512u32>;
+ type MaxPeerIdSize = ConstU32<100>;
+ type MaxNumberOfPeerIds = ConstU32<5>;
+ type MaxDataServerMultiAddresses = ConstU32<10>;
+ type MaxExpiredItemsInTick = ConstU32<100>;
+ type StorageRequestTtl = runtime_config::StorageRequestTtl;
+ type MoveBucketRequestTtl = ConstU32<40u32>;
+ type MaxUserPendingDeletionRequests = ConstU32<10u32>;
+ type MaxUserPendingMoveBucketRequests = ConstU32<10u32>;
+ type MinWaitForStopStoring = runtime_config::MinWaitForStopStoring;
+ type BaseStorageRequestCreationDeposit = BaseStorageRequestCreationDeposit;
+ type UpfrontTicksToPay = runtime_config::UpfrontTicksToPay;
+ type WeightToFee = WeightToFee;
+ type ReplicationTargetToBalance = ReplicationTargetToBalance;
+ type TickNumberToBalance = TickNumberToBalance;
+ type StorageDataUnitToBalance = StorageDataUnitToBalance;
+ type FileDeletionRequestDeposit = FileDeletionRequestCreationDeposit;
+ type BasicReplicationTarget = runtime_config::BasicReplicationTarget;
+ type StandardReplicationTarget = runtime_config::StandardReplicationTarget;
+ type HighSecurityReplicationTarget = runtime_config::HighSecurityReplicationTarget;
+ type SuperHighSecurityReplicationTarget = runtime_config::SuperHighSecurityReplicationTarget;
+ type UltraHighSecurityReplicationTarget = runtime_config::UltraHighSecurityReplicationTarget;
+ type MaxReplicationTarget = runtime_config::MaxReplicationTarget;
+ type TickRangeToMaximumThreshold = runtime_config::TickRangeToMaximumThreshold;
+}
+
+impl MostlyStablePriceIndexUpdaterConfig for Runtime {
+ type Price = Balance;
+ type StorageDataUnit = StorageDataUnit;
+ type LowerThreshold = runtime_config::SystemUtilisationLowerThresholdPercentage;
+ type UpperThreshold = runtime_config::SystemUtilisationUpperThresholdPercentage;
+ type MostlyStablePrice = runtime_config::MostlyStablePrice;
+ type MaxPrice = runtime_config::MaxPrice;
+ type MinPrice = runtime_config::MinPrice;
+ type UpperExponentFactor = runtime_config::UpperExponentFactor;
+ type LowerExponentFactor = runtime_config::LowerExponentFactor;
+}
+
+// Converter from the ThresholdType to the BlockNumber type and vice versa.
+// It performs a saturated conversion, so that the result is always a valid BlockNumber.
+pub struct ThresholdTypeToBlockNumberConverter;
+impl Convert> for ThresholdTypeToBlockNumberConverter {
+ fn convert(threshold: ThresholdType) -> BlockNumberFor {
+ threshold.saturated_into()
+ }
+}
+
+impl ConvertBack> for ThresholdTypeToBlockNumberConverter {
+ fn convert_back(block_number: BlockNumberFor) -> ThresholdType {
+ block_number.into()
+ }
+}
+
+/// Converter from the [`Hash`] type to the [`ThresholdType`].
+pub struct HashToThresholdTypeConverter;
+impl Convert<::Hash, ThresholdType>
+ for HashToThresholdTypeConverter
+{
+ fn convert(hash: ::Hash) -> ThresholdType {
+ // Get the hash as bytes
+ let hash_bytes = hash.as_ref();
+
+ // Get the 4 least significant bytes of the hash and interpret them as an u32
+ let truncated_hash_bytes: [u8; 4] =
+ hash_bytes[28..].try_into().expect("Hash is 32 bytes; qed");
+
+ ThresholdType::from_be_bytes(truncated_hash_bytes)
+ }
+}
+
+// Converter from the MerkleHash (H256) type to the RandomnessOutput (H256) type.
+pub struct MerkleHashToRandomnessOutputConverter;
+impl Convert for MerkleHashToRandomnessOutputConverter {
+ fn convert(hash: H256) -> H256 {
+ hash
+ }
+}
+
+// Converter from the ChunkId type to the MerkleHash (H256) type.
+pub struct ChunkIdToMerkleHashConverter;
+
+impl Convert for ChunkIdToMerkleHashConverter {
+ fn convert(chunk_id: ChunkId) -> H256 {
+ let chunk_id_biguint = BigUint::from(chunk_id.as_u64());
+ let mut bytes = chunk_id_biguint.to_bytes_be();
+
+ // Ensure the byte slice is exactly 32 bytes long by padding with leading zeros
+ if bytes.len() < 32 {
+ let mut padded_bytes = vec![0u8; 32 - bytes.len()];
+ padded_bytes.extend(bytes);
+ bytes = padded_bytes;
+ }
+
+ H256::from_slice(&bytes)
+ }
+}
+
+// Converter from the ReplicationTargetType type to the Balance type.
+pub struct ReplicationTargetToBalance;
+impl Convert for ReplicationTargetToBalance {
+ fn convert(replication_target: ReplicationTargetType) -> Balance {
+ replication_target.into()
+ }
+}
+
+// Converter from the TickNumber type to the Balance type.
+pub type TickNumber = BlockNumber;
+pub struct TickNumberToBalance;
+impl Convert for TickNumberToBalance {
+ fn convert(tick_number: TickNumber) -> Balance {
+ tick_number.into()
+ }
+}
+
+// Converter from the StorageDataUnit type to the Balance type.
+pub struct StorageDataUnitToBalance;
+impl Convert for StorageDataUnitToBalance {
+ fn convert(storage_data_unit: StorageDataUnit) -> Balance {
+ storage_data_unit.into()
+ }
+}
+/****** ****** ****** ******/
+
+/****** Bucket NFTs pallet ******/
+impl pallet_bucket_nfts::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_bucket_nfts::weights::SubstrateWeight;
+ type Buckets = Providers;
+}
+/****** ****** ****** ******/
+
+/****** Commit-Reveal Randomness pallet ******/
+pub struct MockCrRandomness;
+impl shp_traits::CommitRevealRandomnessInterface for MockCrRandomness {
+ type ProviderId = Hash;
+
+ fn initialise_randomness_cycle(
+ _who: &Self::ProviderId,
+ ) -> frame_support::dispatch::DispatchResult {
+ Ok(())
+ }
+
+ fn stop_randomness_cycle(_who: &Self::ProviderId) -> frame_support::dispatch::DispatchResult {
+ Ok(())
+ }
+}
+/****** ****** ****** ******/
diff --git a/operator/runtime/mainnet/src/lib.rs b/operator/runtime/mainnet/src/lib.rs
index 07879d422..c4ee9e39c 100644
--- a/operator/runtime/mainnet/src/lib.rs
+++ b/operator/runtime/mainnet/src/lib.rs
@@ -20,7 +20,10 @@ use frame_support::{
pallet_prelude::{TransactionValidity, TransactionValidityError},
parameter_types,
traits::{KeyOwnerProofSystem, OnFinalize},
- weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight},
+ weights::{
+ constants::ExtrinsicBaseWeight, constants::WEIGHT_REF_TIME_PER_SECOND, Weight,
+ WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial,
+ },
};
pub use frame_system::Call as SystemCall;
pub use pallet_balances::Call as BalancesCall;
@@ -29,6 +32,7 @@ use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, Runner}
use pallet_external_validators::traits::EraIndex;
use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId};
pub use pallet_timestamp::Call as TimestampCall;
+use smallvec::smallvec;
use snowbridge_core::AgentId;
use snowbridge_merkle_tree::MerkleProof;
use sp_api::impl_runtime_apis;
@@ -231,8 +235,36 @@ where
}
}
+/// Handles converting a weight scalar to a fee value, based on the scale and granularity of the
+/// node's balance type.
+///
+/// This should typically create a mapping between the following ranges:
+/// - `[0, MAXIMUM_BLOCK_WEIGHT]`
+/// - `[Balance::min, Balance::max]`
+///
+/// Yet, it can be used for any other sort of change to weight-fee. Some examples being:
+/// - Setting it to `0` will essentially disable the weight fee.
+/// - Setting it to `1` will cause the literal `#[weight = x]` values to be charged.
+pub struct WeightToFee;
+impl WeightToFeePolynomial for WeightToFee {
+ type Balance = Balance;
+ fn polynomial() -> WeightToFeeCoefficients {
+ // in Rococo, extrinsic base weight (smallest non-zero weight) is mapped to 1 MILLIHAVE:
+ // in our template, we map to 1/10 of that, or 1/10 MILLIHAVE
+ let p = currency::MILLIHAVE / 10;
+ let q = 100 * Balance::from(ExtrinsicBaseWeight::get().ref_time());
+ smallvec![WeightToFeeCoefficient {
+ degree: 1,
+ negative: false,
+ coeff_frac: Perbill::from_rational(p % q, q),
+ coeff_integer: p / q,
+ }]
+ }
+}
+
// Create the runtime by composing the FRAME pallets that were previously configured.
#[frame_support::runtime]
+#[cfg(not(feature = "storage-hub"))]
mod runtime {
#[runtime::runtime]
#[runtime::derive(
@@ -384,6 +416,179 @@ mod runtime {
// ╚═══════════════════ DataHaven-specific Pallets ══════════════════╝
}
+#[frame_support::runtime]
+#[cfg(feature = "storage-hub")]
+mod runtime {
+ #[runtime::runtime]
+ #[runtime::derive(
+ RuntimeCall,
+ RuntimeEvent,
+ RuntimeError,
+ RuntimeOrigin,
+ RuntimeFreezeReason,
+ RuntimeHoldReason,
+ RuntimeSlashReason,
+ RuntimeLockId,
+ RuntimeTask
+ )]
+ pub struct Runtime;
+
+ // ╔══════════════════ System and Consensus Pallets ═════════════════╗
+ #[runtime::pallet_index(0)]
+ pub type System = frame_system;
+
+ // Babe must be before session.
+ #[runtime::pallet_index(1)]
+ pub type Babe = pallet_babe;
+
+ #[runtime::pallet_index(2)]
+ pub type Timestamp = pallet_timestamp;
+
+ #[runtime::pallet_index(3)]
+ pub type Balances = pallet_balances;
+
+ // Consensus support.
+ // Authorship must be before session in order to note author in the correct session and era.
+ #[runtime::pallet_index(4)]
+ pub type Authorship = pallet_authorship;
+
+ #[runtime::pallet_index(5)]
+ pub type Offences = pallet_offences;
+
+ #[runtime::pallet_index(6)]
+ pub type Historical = pallet_session::historical;
+
+ // External Validators must be before Session.
+ #[runtime::pallet_index(7)]
+ pub type ExternalValidators = pallet_external_validators;
+
+ #[runtime::pallet_index(8)]
+ pub type Session = pallet_session;
+
+ #[runtime::pallet_index(9)]
+ pub type ImOnline = pallet_im_online;
+
+ #[runtime::pallet_index(10)]
+ pub type Grandpa = pallet_grandpa;
+
+ #[runtime::pallet_index(11)]
+ pub type TransactionPayment = pallet_transaction_payment;
+
+ #[runtime::pallet_index(12)]
+ pub type Beefy = pallet_beefy;
+
+ #[runtime::pallet_index(13)]
+ pub type Mmr = pallet_mmr;
+
+ #[runtime::pallet_index(14)]
+ pub type BeefyMmrLeaf = pallet_beefy_mmr;
+ // ╚═════════════════ System and Consensus Pallets ══════════════════╝
+
+ // ╔═════════════════ Polkadot SDK Utility Pallets ══════════════════╗
+ #[runtime::pallet_index(30)]
+ pub type Utility = pallet_utility;
+
+ #[runtime::pallet_index(31)]
+ pub type Scheduler = pallet_scheduler;
+
+ #[runtime::pallet_index(32)]
+ pub type Preimage = pallet_preimage;
+
+ #[runtime::pallet_index(33)]
+ pub type Identity = pallet_identity;
+
+ #[runtime::pallet_index(34)]
+ pub type Multisig = pallet_multisig;
+
+ #[runtime::pallet_index(35)]
+ pub type Parameters = pallet_parameters;
+
+ #[runtime::pallet_index(36)]
+ pub type Sudo = pallet_sudo;
+
+ #[runtime::pallet_index(37)]
+ pub type Treasury = pallet_treasury;
+
+ #[runtime::pallet_index(38)]
+ pub type Proxy = pallet_proxy;
+ // ╚═════════════════ Polkadot SDK Utility Pallets ══════════════════╝
+
+ // ╔════════════════════ Frontier (EVM) Pallets ═════════════════════╗
+ #[runtime::pallet_index(50)]
+ pub type Ethereum = pallet_ethereum;
+
+ #[runtime::pallet_index(51)]
+ pub type Evm = pallet_evm;
+
+ #[runtime::pallet_index(52)]
+ pub type EvmChainId = pallet_evm_chain_id;
+ // ╚════════════════════ Frontier (EVM) Pallets ═════════════════════╝
+
+ // ╔══════════════════════ Snowbridge Pallets ═══════════════════════╗
+ #[runtime::pallet_index(60)]
+ pub type EthereumBeaconClient = snowbridge_pallet_ethereum_client;
+
+ #[runtime::pallet_index(61)]
+ pub type EthereumInboundQueueV2 = snowbridge_pallet_inbound_queue_v2;
+
+ #[runtime::pallet_index(62)]
+ pub type EthereumOutboundQueueV2 = snowbridge_pallet_outbound_queue_v2;
+
+ #[runtime::pallet_index(63)]
+ pub type SnowbridgeSystem = snowbridge_pallet_system;
+
+ #[runtime::pallet_index(64)]
+ pub type SnowbridgeSystemV2 = snowbridge_pallet_system_v2;
+ // ╚══════════════════════ Snowbridge Pallets ═══════════════════════╝
+
+ // ╔════════════ Polkadot SDK Utility Pallets - Block 2 ═════════════╗
+ // The Message Queue pallet has to be after the Snowbridge Outbound
+ // Queue V2 pallet since the former processes messages in its
+ // `on_initialize` hook and the latter clears up messages in
+ // its `on_initialize` hook, so otherwise messages will be cleared
+ // up before they are processed.
+ #[runtime::pallet_index(70)]
+ pub type MessageQueue = pallet_message_queue;
+ // ╚════════════ Polkadot SDK Utility Pallets - Block 2 ═════════════╝
+
+ // ╔══════════════════════ StorageHub Pallets ═══════════════════════╗
+ // Start with index 80
+ #[runtime::pallet_index(80)]
+ pub type Providers = pallet_storage_providers;
+
+ #[runtime::pallet_index(81)]
+ pub type FileSystem = pallet_file_system;
+
+ #[runtime::pallet_index(82)]
+ pub type ProofsDealer = pallet_proofs_dealer;
+
+ #[runtime::pallet_index(83)]
+ pub type Randomness = pallet_randomness;
+
+ #[runtime::pallet_index(84)]
+ pub type PaymentStreams = pallet_payment_streams;
+
+ #[runtime::pallet_index(85)]
+ pub type BucketNfts = pallet_bucket_nfts;
+
+ #[runtime::pallet_index(90)]
+ pub type Nfts = pallet_nfts;
+ // ╚══════════════════════ StorageHub Pallets ═══════════════════════╝
+
+ // ╔═══════════════════ DataHaven-specific Pallets ══════════════════╗
+ // Start with index 100
+ #[runtime::pallet_index(100)]
+ pub type OutboundCommitmentStore = pallet_outbound_commitment_store;
+
+ #[runtime::pallet_index(101)]
+ pub type ExternalValidatorsRewards = pallet_external_validators_rewards;
+
+ #[runtime::pallet_index(102)]
+ pub type DataHavenNativeTransfer = pallet_datahaven_native_transfer;
+
+ // ╚═══════════════════ DataHaven-specific Pallets ══════════════════╝
+}
+
/// MMR helper types.
mod mmr {
use super::Runtime;
diff --git a/operator/runtime/stagenet/src/configs/runtime_params.rs b/operator/runtime/stagenet/src/configs/runtime_params.rs
index 811322af3..93808918c 100644
--- a/operator/runtime/stagenet/src/configs/runtime_params.rs
+++ b/operator/runtime/stagenet/src/configs/runtime_params.rs
@@ -6,11 +6,14 @@ use sp_runtime::{BoundedVec, Perbill};
use sp_std::vec;
#[cfg(feature = "storage-hub")]
-use crate::currency::{Balance, GIGAWEI, HAVE};
+use crate::currency::{GIGAWEI, HAVE};
#[cfg(feature = "storage-hub")]
use crate::configs::storagehub::{ChallengeTicksTolerance, ReplicationTargetType, SpMinDeposit};
+#[cfg(feature = "storage-hub")]
+use datahaven_runtime_common::{Balance, BlockNumber};
+
#[cfg(not(feature = "storage-hub"))]
#[dynamic_params(RuntimeParameters, pallet_parameters::Parameters::)]
pub mod dynamic_params {
@@ -99,14 +102,20 @@ pub mod dynamic_params {
"c505dfb2df107d106d08bd0f1a0acd10052ca9aa078629a4ccfd0c90c6e69b65"
));
+ // Proportion of fees allocated to the Treasury (remainder are burned).
+ // e.g. 20% to the treasury, 80% burned.
+ #[codec(index = 4)]
+ #[allow(non_upper_case_globals)]
+ pub static FeesTreasuryProportion: Perbill = Perbill::from_percent(20);
+
// ╔══════════════════════ StorageHub Pallets ═══════════════════════╗
- #[codec(index = 4)]
+ #[codec(index = 5)]
#[allow(non_upper_case_globals)]
/// 20 HAVEs
pub static SlashAmountPerMaxFileSize: Balance = 20 * HAVE;
- #[codec(index = 5)]
+ #[codec(index = 6)]
#[allow(non_upper_case_globals)]
/// 10k HAVEs * [`MinChallengePeriod`] = 10k HAVEs * 30 = 300k HAVEs
///
@@ -114,7 +123,7 @@ pub mod dynamic_params {
pub static StakeToChallengePeriod: Balance =
10_000 * HAVE * Into::::into(MinChallengePeriod::get());
- #[codec(index = 6)]
+ #[codec(index = 7)]
#[allow(non_upper_case_globals)]
/// The [`CheckpointChallengePeriod`] is set to be equal to the longest possible challenge period
/// (i.e. the [`StakeToChallengePeriod`] divided by the [`SpMinDeposit`]).
@@ -127,22 +136,22 @@ pub mod dynamic_params {
"StakeToChallengePeriod / SpMinDeposit should be a number of ticks that can fit in BlockNumber numerical type",
);
- #[codec(index = 7)]
+ #[codec(index = 8)]
#[allow(non_upper_case_globals)]
/// 30 ticks, or 3 minutes with 6 seconds per tick.
pub static MinChallengePeriod: BlockNumber = 30;
- #[codec(index = 8)]
+ #[codec(index = 9)]
#[allow(non_upper_case_globals)]
/// Price decreases when system utilisation is below 30%.
pub static SystemUtilisationLowerThresholdPercentage: Perbill = Perbill::from_percent(30);
- #[codec(index = 9)]
+ #[codec(index = 10)]
#[allow(non_upper_case_globals)]
/// Price increases when system utilisation is above 95%.
pub static SystemUtilisationUpperThresholdPercentage: Perbill = Perbill::from_percent(95);
- #[codec(index = 10)]
+ #[codec(index = 11)]
#[allow(non_upper_case_globals)]
/// 50 [`GIGAWEI`]s is the price per GB of data, per tick.
///
@@ -150,17 +159,17 @@ pub mod dynamic_params {
/// 50e-9 [`HAVE`]s * 10 ticks/min * 60 min/h * 24 h/day * 30 days/month = 21.6e-3 [`HAVE`]s
pub static MostlyStablePrice: Balance = 50 * GIGAWEI;
- #[codec(index = 11)]
+ #[codec(index = 12)]
#[allow(non_upper_case_globals)]
/// [`MostlyStablePrice`] * 10 = 500 [`GIGAWEI`]s
pub static MaxPrice: Balance = MostlyStablePrice::get() * 10;
- #[codec(index = 12)]
+ #[codec(index = 13)]
#[allow(non_upper_case_globals)]
/// [`MostlyStablePrice`] / 5 = 10 [`GIGAWEI`]s
pub static MinPrice: Balance = MostlyStablePrice::get() / 5;
- #[codec(index = 13)]
+ #[codec(index = 14)]
#[allow(non_upper_case_globals)]
/// u = [`UpperExponentFactor`]
/// system_utilisation = 1
@@ -171,7 +180,7 @@ pub mod dynamic_params {
/// u = (500 - 50) / (e ^ (1 - 0.95) - 1) ≈ 8777
pub static UpperExponentFactor: u32 = 8777;
- #[codec(index = 14)]
+ #[codec(index = 15)]
#[allow(non_upper_case_globals)]
/// l = [`LowerExponentFactor`]
/// system_utilisation = 0
@@ -182,35 +191,35 @@ pub mod dynamic_params {
/// l = (50 - 10) / (e ^ (0.3 - 0) - 1) ≈ 114
pub static LowerExponentFactor: u32 = 114;
- #[codec(index = 15)]
+ #[codec(index = 16)]
#[allow(non_upper_case_globals)]
/// 0-size bucket fixed rate payment stream representing the price for 1 GB of data.
///
/// Base rate for a new fixed payment stream established between an MSP and a user.
pub static ZeroSizeBucketFixedRate: Balance = 50 * GIGAWEI;
- #[codec(index = 16)]
+ #[codec(index = 17)]
#[allow(non_upper_case_globals)]
/// Ideal utilisation rate of the system
pub static IdealUtilisationRate: Perbill = Perbill::from_percent(85);
- #[codec(index = 17)]
+ #[codec(index = 18)]
#[allow(non_upper_case_globals)]
/// Decay rate of the power of two function that determines the percentage of funds that go to
/// the treasury for utilisation rates greater than the ideal.
pub static DecayRate: Perbill = Perbill::from_percent(5);
- #[codec(index = 18)]
+ #[codec(index = 19)]
#[allow(non_upper_case_globals)]
/// The minimum treasury cut that can be taken from the amount charged from a payment stream.
pub static MinimumTreasuryCut: Perbill = Perbill::from_percent(1);
- #[codec(index = 19)]
+ #[codec(index = 20)]
#[allow(non_upper_case_globals)]
/// The maximum treasury cut that can be taken from the amount charged from a payment stream.
pub static MaximumTreasuryCut: Perbill = Perbill::from_percent(5);
- #[codec(index = 20)]
+ #[codec(index = 21)]
#[allow(non_upper_case_globals)]
/// The penalty a BSP must pay when they forcefully stop storing a file.
/// We set this to be half of the `SlashAmountPerMaxFileSize` with the rationale that
@@ -221,7 +230,7 @@ pub mod dynamic_params {
/// Time-to-live for a provider to top up their deposit to cover a capacity deficit.
/// Set to 14_400 relay blocks = 1 day with 6 second timeslots.
- #[codec(index = 21)]
+ #[codec(index = 22)]
#[allow(non_upper_case_globals)]
pub static ProviderTopUpTtl: BlockNumber = 14_400;
@@ -249,7 +258,7 @@ pub mod dynamic_params {
/// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
/// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
/// volunteered BSPs is ~1%.
- #[codec(index = 22)]
+ #[codec(index = 23)]
#[allow(non_upper_case_globals)]
pub static BasicReplicationTarget: ReplicationTargetType = 7;
@@ -258,7 +267,7 @@ pub mod dynamic_params {
/// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
/// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
/// volunteered BSPs is ~0.1%.
- #[codec(index = 23)]
+ #[codec(index = 24)]
#[allow(non_upper_case_globals)]
pub static StandardReplicationTarget: ReplicationTargetType = 12;
@@ -267,7 +276,7 @@ pub mod dynamic_params {
/// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
/// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
/// volunteered BSPs is ~0.01%.
- #[codec(index = 24)]
+ #[codec(index = 25)]
#[allow(non_upper_case_globals)]
pub static HighSecurityReplicationTarget: ReplicationTargetType = 17;
@@ -276,7 +285,7 @@ pub mod dynamic_params {
/// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
/// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
/// volunteered BSPs is ~0.001%.
- #[codec(index = 25)]
+ #[codec(index = 26)]
#[allow(non_upper_case_globals)]
pub static SuperHighSecurityReplicationTarget: ReplicationTargetType = 22;
@@ -285,7 +294,7 @@ pub mod dynamic_params {
/// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
/// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
/// volunteered BSPs is ~0.0001%.
- #[codec(index = 26)]
+ #[codec(index = 27)]
#[allow(non_upper_case_globals)]
pub static UltraHighSecurityReplicationTarget: ReplicationTargetType = 26;
@@ -293,7 +302,7 @@ pub mod dynamic_params {
///
/// This is a safety measure to prevent users from issuing storage requests that are too large and would
/// require a large number of BSPs to store the file.
- #[codec(index = 27)]
+ #[codec(index = 28)]
#[allow(non_upper_case_globals)]
pub static MaxReplicationTarget: ReplicationTargetType =
UltraHighSecurityReplicationTarget::get()
@@ -306,7 +315,7 @@ pub mod dynamic_params {
/// This is big enough so volunteering for a storage request is not open to everyone inmediatly, preventing
/// a select few BSPs from taking all the requests, while small enough so that storage requests don't take
/// too long to be filled.
- #[codec(index = 28)]
+ #[codec(index = 29)]
#[allow(non_upper_case_globals)]
pub static TickRangeToMaximumThreshold: BlockNumber = 3600; // 6 hours with a 6 second block time
@@ -314,7 +323,7 @@ pub mod dynamic_params {
///
/// It's a function of the TickRangeToMaximumThreshold since it does not make sense for a storage request to
/// expire before arriving at its maximum threshold for volunteering.
- #[codec(index = 29)]
+ #[codec(index = 30)]
#[allow(non_upper_case_globals)]
pub static StorageRequestTtl: BlockNumber = TickRangeToMaximumThreshold::get()
.saturating_mul(110)
@@ -325,18 +334,18 @@ pub mod dynamic_params {
///
/// It's a function of the checkpoint challenge period since this makes it so BSPs can't avoid checkpoint
/// challenges by stopping storing a file key right before the challenge period ends in case they lost it.
- #[codec(index = 30)]
+ #[codec(index = 31)]
#[allow(non_upper_case_globals)]
pub static MinWaitForStopStoring: BlockNumber = CheckpointChallengePeriod::get()
.saturating_mul(110)
.saturating_div(100);
- #[codec(index = 31)]
+ #[codec(index = 32)]
#[allow(non_upper_case_globals)]
/// 20 ticks, or 2 minutes with 6 seconds per tick.
pub static MinSeedPeriod: BlockNumber = 20;
- #[codec(index = 32)]
+ #[codec(index = 33)]
#[allow(non_upper_case_globals)]
/// 10k HAVEs * [`MinSeedPeriod`] = 10k HAVEs * 20 = 200k HAVEs
///
@@ -344,7 +353,7 @@ pub mod dynamic_params {
pub static StakeToSeedPeriod: Balance =
10_000 * HAVE * Into::::into(MinSeedPeriod::get());
- #[codec(index = 33)]
+ #[codec(index = 34)]
#[allow(non_upper_case_globals)]
/// The amount of ticks to charge a user upfront when it tries to issue a new storage request.
/// This is done as a deterrent to avoid users spamming the network with huge files but never
diff --git a/operator/runtime/stagenet/src/lib.rs b/operator/runtime/stagenet/src/lib.rs
index f46eeb025..d555a3e33 100644
--- a/operator/runtime/stagenet/src/lib.rs
+++ b/operator/runtime/stagenet/src/lib.rs
@@ -528,6 +528,9 @@ mod runtime {
#[runtime::pallet_index(36)]
pub type Sudo = pallet_sudo;
+ #[runtime::pallet_index(37)]
+ pub type Treasury = pallet_treasury;
+
#[runtime::pallet_index(38)]
pub type Proxy = pallet_proxy;
// ╚═════════════════ Polkadot SDK Utility Pallets ══════════════════╝
diff --git a/operator/runtime/testnet/Cargo.toml b/operator/runtime/testnet/Cargo.toml
index b0e2ad830..965f0ebc0 100644
--- a/operator/runtime/testnet/Cargo.toml
+++ b/operator/runtime/testnet/Cargo.toml
@@ -32,6 +32,7 @@ frame-try-runtime = { workspace = true, optional = true }
hex = { workspace = true }
hex-literal = { workspace = true }
log = { workspace = true }
+num-bigint = { workspace = true, optional = true }
num_enum = { workspace = true }
pallet-authorship = { workspace = true }
pallet-babe = { workspace = true }
@@ -76,6 +77,7 @@ scale-info = { workspace = true, features = ["derive", "serde"] }
serde_json = { workspace = true, default-features = false, features = [
"alloc",
] }
+smallvec = { workspace = true }
snowbridge-beacon-primitives = { workspace = true }
snowbridge-core = { workspace = true }
snowbridge-inbound-queue-primitives = { workspace = true }
@@ -114,6 +116,28 @@ xcm-executor = { workspace = true }
# DataHaven precompiles
pallet-evm-precompile-registry = { workspace = true }
+# StorageHub
+pallet-bucket-nfts = { workspace = true, optional = true }
+pallet-nfts = { workspace = true, optional = true }
+pallet-cr-randomness = { workspace = true, optional = true }
+pallet-file-system = { workspace = true, optional = true }
+pallet-file-system-runtime-api = { workspace = true, optional = true }
+pallet-payment-streams = { workspace = true, optional = true }
+pallet-payment-streams-runtime-api = { workspace = true, optional = true }
+pallet-proofs-dealer = { workspace = true, optional = true }
+pallet-proofs-dealer-runtime-api = { workspace = true, optional = true }
+pallet-randomness = { workspace = true, optional = true }
+pallet-storage-providers = { workspace = true, optional = true }
+pallet-storage-providers-runtime-api = { workspace = true, optional = true }
+shp-constants = { workspace = true, optional = true }
+shp-file-metadata = { workspace = true, optional = true }
+shp-traits = { workspace = true, optional = true }
+shp-treasury-funding = { workspace = true, optional = true }
+shp-forest-verifier = { workspace = true, optional = true }
+shp-file-key-verifier = { workspace = true, optional = true }
+shp-data-price-updater = { workspace = true, optional = true }
+sp-trie = { workspace = true, optional = true }
+
[build-dependencies]
substrate-wasm-builder = { workspace = true, optional = true, default-features = true }
@@ -132,6 +156,29 @@ snowbridge-pallet-system = { workspace = true }
snowbridge-pallet-system-v2 = { workspace = true }
[features]
+storage-hub = [
+ "dep:num-bigint",
+ "dep:pallet-bucket-nfts",
+ "dep:pallet-nfts",
+ "dep:pallet-cr-randomness",
+ "dep:pallet-file-system",
+ "dep:pallet-file-system-runtime-api",
+ "dep:pallet-payment-streams",
+ "dep:pallet-payment-streams-runtime-api",
+ "dep:pallet-proofs-dealer",
+ "dep:pallet-proofs-dealer-runtime-api",
+ "dep:pallet-randomness",
+ "dep:pallet-storage-providers",
+ "dep:pallet-storage-providers-runtime-api",
+ "dep:shp-constants",
+ "dep:shp-file-metadata",
+ "dep:shp-traits",
+ "dep:shp-treasury-funding",
+ "dep:shp-forest-verifier",
+ "dep:shp-file-key-verifier",
+ "dep:shp-data-price-updater",
+ "dep:sp-trie"
+ ]
default = ["std"]
std = [
"codec/std",
@@ -214,6 +261,33 @@ std = [
"pallet-external-validators-rewards/std",
"pallet-external-validators-rewards-runtime-api/std",
"pallet-datahaven-native-transfer/std",
+
+ # StorageHub
+ "pallet-authorship/std",
+ "pallet-balances/std",
+ "pallet-bucket-nfts/std",
+ "pallet-nfts/std",
+ "pallet-cr-randomness/std",
+ "pallet-file-system/std",
+ "pallet-file-system-runtime-api/std",
+ "pallet-payment-streams/std",
+ "pallet-payment-streams-runtime-api/std",
+ "pallet-proofs-dealer/std",
+ "pallet-proofs-dealer-runtime-api/std",
+ "pallet-randomness/std",
+ "pallet-session/std",
+ "pallet-storage-providers/std",
+ "pallet-storage-providers-runtime-api/std",
+ "pallet-sudo/std",
+ "pallet-timestamp/std",
+ "pallet-transaction-payment-rpc-runtime-api/std",
+ "pallet-transaction-payment/std",
+ "shp-constants/std",
+ "shp-file-metadata/std",
+ "shp-forest-verifier/std",
+ "shp-traits/std",
+ "shp-treasury-funding/std",
+ "shp-file-key-verifier/std",
]
runtime-benchmarks = [
diff --git a/operator/runtime/testnet/src/configs/mod.rs b/operator/runtime/testnet/src/configs/mod.rs
index 8a4dbcd2f..01d620aae 100644
--- a/operator/runtime/testnet/src/configs/mod.rs
+++ b/operator/runtime/testnet/src/configs/mod.rs
@@ -22,6 +22,8 @@
// OTHER DEALINGS IN THE SOFTWARE.
//
// For more information, please refer to
+#[cfg(feature = "storage-hub")]
+mod storagehub;
pub mod runtime_params;
diff --git a/operator/runtime/testnet/src/configs/runtime_params.rs b/operator/runtime/testnet/src/configs/runtime_params.rs
index e2978d999..9cb3c457e 100644
--- a/operator/runtime/testnet/src/configs/runtime_params.rs
+++ b/operator/runtime/testnet/src/configs/runtime_params.rs
@@ -6,7 +6,17 @@ use sp_std::vec;
use crate::Runtime;
+#[cfg(feature = "storage-hub")]
+use crate::currency::{GIGAWEI, HAVE};
+
+#[cfg(feature = "storage-hub")]
+use crate::configs::storagehub::{ChallengeTicksTolerance, ReplicationTargetType, SpMinDeposit};
+
+#[cfg(feature = "storage-hub")]
+use datahaven_runtime_common::{Balance, BlockNumber};
+
#[dynamic_params(RuntimeParameters, pallet_parameters::Parameters::)]
+#[cfg(not(feature = "storage-hub"))]
pub mod dynamic_params {
use super::*;
#[dynamic_pallet_params]
@@ -51,6 +61,314 @@ pub mod dynamic_params {
}
}
+#[cfg(feature = "storage-hub")]
+#[dynamic_params(RuntimeParameters, pallet_parameters::Parameters::)]
+pub mod dynamic_params {
+ use super::*;
+ #[dynamic_pallet_params]
+ #[codec(index = 0)]
+ pub mod runtime_config {
+
+ use super::*;
+
+ #[codec(index = 0)]
+ #[allow(non_upper_case_globals)]
+ /// Set the initial address of the Snowbridge Gateway contract on Ethereum.
+ /// The fact that this is a parameter means that we can set it initially to the zero address,
+ /// and then change it later via governance, to the actual address of the deployed contract.
+ pub static EthereumGatewayAddress: H160 = H160::repeat_byte(0x0);
+
+ #[codec(index = 1)]
+ #[allow(non_upper_case_globals)]
+ /// Set the initial address of the Rewards Registry contract on Ethereum.
+ /// The fact that this is a parameter means that we can set it initially to the zero address,
+ /// and then change it later via governance, to the actual address of the deployed contract.
+ pub static RewardsRegistryAddress: H160 = H160::repeat_byte(0x0);
+
+ #[codec(index = 2)]
+ #[allow(non_upper_case_globals)]
+ /// The Selector is the first 4 bytes of the keccak256 hash of the function signature("updateRewardsMerkleRoot(bytes32)")
+ pub static RewardsUpdateSelector: BoundedVec> =
+ BoundedVec::truncate_from(vec![0xdc, 0x3d, 0x04, 0xec]);
+
+ #[codec(index = 3)]
+ #[allow(non_upper_case_globals)]
+ /// The RewardsAgentOrigin is the hash of the string "external_validators_rewards"
+ /// TODO: Decide which agent origin we want to use. Currently for testing it's the zero hash
+ pub static RewardsAgentOrigin: H256 = H256::from_slice(&hex!(
+ "c505dfb2df107d106d08bd0f1a0acd10052ca9aa078629a4ccfd0c90c6e69b65"
+ ));
+
+ // Proportion of fees allocated to the Treasury (remainder are burned).
+ // e.g. 20% to the treasury, 80% burned.
+ #[codec(index = 4)]
+ #[allow(non_upper_case_globals)]
+ pub static FeesTreasuryProportion: Perbill = Perbill::from_percent(20);
+
+ // ╔══════════════════════ StorageHub Pallets ═══════════════════════╗
+
+ #[codec(index = 5)]
+ #[allow(non_upper_case_globals)]
+ /// 20 HAVEs
+ pub static SlashAmountPerMaxFileSize: Balance = 20 * HAVE;
+
+ #[codec(index = 6)]
+ #[allow(non_upper_case_globals)]
+ /// 10k HAVEs * [`MinChallengePeriod`] = 10k HAVEs * 30 = 300k HAVEs
+ ///
+ /// This can be interpreted as "a Provider with 10k HAVEs of stake would get the minimum challenge period".
+ pub static StakeToChallengePeriod: Balance =
+ 10_000 * HAVE * Into::::into(MinChallengePeriod::get());
+
+ #[codec(index = 7)]
+ #[allow(non_upper_case_globals)]
+ /// The [`CheckpointChallengePeriod`] is set to be equal to the longest possible challenge period
+ /// (i.e. the [`StakeToChallengePeriod`] divided by the [`SpMinDeposit`]).
+ ///
+ // 300k HAVEs / 100 HAVEs + 50 + 1 = ~3k ticks (i.e. ~5 hours with 6 seconds per tick)
+ pub static CheckpointChallengePeriod: BlockNumber = (StakeToChallengePeriod::get()
+ / SpMinDeposit::get()).saturating_add(ChallengeTicksTolerance::get() as u128).saturating_add(1)
+ .try_into()
+ .expect(
+ "StakeToChallengePeriod / SpMinDeposit should be a number of ticks that can fit in BlockNumber numerical type",
+ );
+
+ #[codec(index = 8)]
+ #[allow(non_upper_case_globals)]
+ /// 30 ticks, or 3 minutes with 6 seconds per tick.
+ pub static MinChallengePeriod: BlockNumber = 30;
+
+ #[codec(index = 9)]
+ #[allow(non_upper_case_globals)]
+ /// Price decreases when system utilisation is below 30%.
+ pub static SystemUtilisationLowerThresholdPercentage: Perbill = Perbill::from_percent(30);
+
+ #[codec(index = 10)]
+ #[allow(non_upper_case_globals)]
+ /// Price increases when system utilisation is above 95%.
+ pub static SystemUtilisationUpperThresholdPercentage: Perbill = Perbill::from_percent(95);
+
+ #[codec(index = 11)]
+ #[allow(non_upper_case_globals)]
+ /// 50 [`GIGAWEI`]s is the price per GB of data, per tick.
+ ///
+ /// With 6 seconds per tick, this means that over a month, the price of 1 GB is:
+ /// 50e-9 [`HAVE`]s * 10 ticks/min * 60 min/h * 24 h/day * 30 days/month = 21.6e-3 [`HAVE`]s
+ pub static MostlyStablePrice: Balance = 50 * GIGAWEI;
+
+ #[codec(index = 12)]
+ #[allow(non_upper_case_globals)]
+ /// [`MostlyStablePrice`] * 10 = 500 [`GIGAWEI`]s
+ pub static MaxPrice: Balance = MostlyStablePrice::get() * 10;
+
+ #[codec(index = 13)]
+ #[allow(non_upper_case_globals)]
+ /// [`MostlyStablePrice`] / 5 = 10 [`GIGAWEI`]s
+ pub static MinPrice: Balance = MostlyStablePrice::get() / 5;
+
+ #[codec(index = 14)]
+ #[allow(non_upper_case_globals)]
+ /// u = [`UpperExponentFactor`]
+ /// system_utilisation = 1
+ ///
+ /// [`MaxPrice`] = [`MostlyStablePrice`] + u * e ^ ( 1 - [`SystemUtilisationUpperThresholdPercentage`] )
+ ///
+ /// 500 = 50 + u * (e ^ (1 - 0.95) - 1)
+ /// u = (500 - 50) / (e ^ (1 - 0.95) - 1) ≈ 8777
+ pub static UpperExponentFactor: u32 = 8777;
+
+ #[codec(index = 15)]
+ #[allow(non_upper_case_globals)]
+ /// l = [`LowerExponentFactor`]
+ /// system_utilisation = 0
+ ///
+ /// [`MinPrice`] = [`MostlyStablePrice`] - u * e ^ ( [`SystemUtilisationLowerThresholdPercentage`] - 0 )
+ ///
+ /// 10 = 50 - l * (e ^ (0.3 - 0) - 1)
+ /// l = (50 - 10) / (e ^ (0.3 - 0) - 1) ≈ 114
+ pub static LowerExponentFactor: u32 = 114;
+
+ #[codec(index = 16)]
+ #[allow(non_upper_case_globals)]
+ /// 0-size bucket fixed rate payment stream representing the price for 1 GB of data.
+ ///
+ /// Base rate for a new fixed payment stream established between an MSP and a user.
+ pub static ZeroSizeBucketFixedRate: Balance = 50 * GIGAWEI;
+
+ #[codec(index = 17)]
+ #[allow(non_upper_case_globals)]
+ /// Ideal utilisation rate of the system
+ pub static IdealUtilisationRate: Perbill = Perbill::from_percent(85);
+
+ #[codec(index = 18)]
+ #[allow(non_upper_case_globals)]
+ /// Decay rate of the power of two function that determines the percentage of funds that go to
+ /// the treasury for utilisation rates greater than the ideal.
+ pub static DecayRate: Perbill = Perbill::from_percent(5);
+
+ #[codec(index = 19)]
+ #[allow(non_upper_case_globals)]
+ /// The minimum treasury cut that can be taken from the amount charged from a payment stream.
+ pub static MinimumTreasuryCut: Perbill = Perbill::from_percent(1);
+
+ #[codec(index = 20)]
+ #[allow(non_upper_case_globals)]
+ /// The maximum treasury cut that can be taken from the amount charged from a payment stream.
+ pub static MaximumTreasuryCut: Perbill = Perbill::from_percent(5);
+
+ #[codec(index = 21)]
+ #[allow(non_upper_case_globals)]
+ /// The penalty a BSP must pay when they forcefully stop storing a file.
+ /// We set this to be half of the `SlashAmountPerMaxFileSize` with the rationale that
+ /// for a BSP that has lost this file, it should be more convenient to voluntarily
+ /// show up and pay this penalty in good faith, rather than risking being slashed for
+ /// being unable to submit a proof that should include this file.
+ pub static BspStopStoringFilePenalty: Balance = SlashAmountPerMaxFileSize::get() / 2;
+
+ /// Time-to-live for a provider to top up their deposit to cover a capacity deficit.
+ /// Set to 14_400 relay blocks = 1 day with 6 second timeslots.
+ #[codec(index = 22)]
+ #[allow(non_upper_case_globals)]
+ pub static ProviderTopUpTtl: BlockNumber = 14_400;
+
+ /// The following parameters are the replication targets for the different security levels
+ /// that a storage request (and thus the file it represents) can have.
+ ///
+ /// These are associated with the probability that a malicious actor could hold the file hostage by controlling
+ /// all BSPs that volunteered and confirmed storing it.
+ /// The values were calculated from the probabilities derived using binomial distribution calculations,
+ /// where the total number of BSPs is set to 1000, the fraction of malicious BSPs is 1/3, and the target number of BSPs
+ /// is incremented until the probability of all selected BSPs being malicious falls below the required percentage.
+ ///
+ /// The formula used is:
+ /// num_bsps = 1000
+ /// fraction_evil = 1/3
+ /// n_evil = int(num_bsps * fraction_evil) // = 333
+ /// target = range(1, num_bsps)
+ /// p_init = target / num_bsps
+ /// prob = binomial_cdf_at_least(n_evil, target, p_init)
+ ///
+ /// This ensures that the replication targets were selected optimally to balance security and storage efficiency.
+ /// --------------------------------------------------------------------------------------------------------------------
+ /// The amount of BSPs that a basic security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~1%.
+ #[codec(index = 23)]
+ #[allow(non_upper_case_globals)]
+ pub static BasicReplicationTarget: ReplicationTargetType = 7;
+
+ /// The amount of BSPs that a standard security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.1%.
+ #[codec(index = 24)]
+ #[allow(non_upper_case_globals)]
+ pub static StandardReplicationTarget: ReplicationTargetType = 12;
+
+ /// The amount of BSPs that a high security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.01%.
+ #[codec(index = 25)]
+ #[allow(non_upper_case_globals)]
+ pub static HighSecurityReplicationTarget: ReplicationTargetType = 17;
+
+ /// The amount of BSPs that a super high security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.001%.
+ #[codec(index = 26)]
+ #[allow(non_upper_case_globals)]
+ pub static SuperHighSecurityReplicationTarget: ReplicationTargetType = 22;
+
+ /// The amount of BSPs that an ultra high security storage request should use as the replication target.
+ ///
+ /// This must be the lowest amount of BSPs that guarantee that the probability that a malicious
+ /// actor controlling 1/3 of the BSPs can hold the file hostage by controlling all its
+ /// volunteered BSPs is ~0.0001%.
+ #[codec(index = 27)]
+ #[allow(non_upper_case_globals)]
+ pub static UltraHighSecurityReplicationTarget: ReplicationTargetType = 26;
+
+ /// The maximum amount of BSPs that a user can require a storage request to use as the replication target.
+ ///
+ /// This is a safety measure to prevent users from issuing storage requests that are too large and would
+ /// require a large number of BSPs to store the file.
+ #[codec(index = 28)]
+ #[allow(non_upper_case_globals)]
+ pub static MaxReplicationTarget: ReplicationTargetType =
+ UltraHighSecurityReplicationTarget::get()
+ .saturating_mul(150)
+ .saturating_div(100);
+
+ /// The amount of ticks that have to pass for the threshold to volunteer for a specific storage request
+ /// to arrive at its maximum value.
+ ///
+ /// This is big enough so volunteering for a storage request is not open to everyone inmediatly, preventing
+ /// a select few BSPs from taking all the requests, while small enough so that storage requests don't take
+ /// too long to be filled.
+ #[codec(index = 29)]
+ #[allow(non_upper_case_globals)]
+ pub static TickRangeToMaximumThreshold: BlockNumber = 3600; // 6 hours with a 6 second block time
+
+ /// The amount of ticks after which a storage request is considered expired and can be removed from storage.
+ ///
+ /// It's a function of the TickRangeToMaximumThreshold since it does not make sense for a storage request to
+ /// expire before arriving at its maximum threshold for volunteering.
+ #[codec(index = 30)]
+ #[allow(non_upper_case_globals)]
+ pub static StorageRequestTtl: BlockNumber = TickRangeToMaximumThreshold::get()
+ .saturating_mul(110)
+ .saturating_div(100);
+
+ /// The minimum amount of ticks between a stop storing request from a BSP and that BSP being able to
+ /// confirm to stop storing that file key.
+ ///
+ /// It's a function of the checkpoint challenge period since this makes it so BSPs can't avoid checkpoint
+ /// challenges by stopping storing a file key right before the challenge period ends in case they lost it.
+ #[codec(index = 31)]
+ #[allow(non_upper_case_globals)]
+ pub static MinWaitForStopStoring: BlockNumber = CheckpointChallengePeriod::get()
+ .saturating_mul(110)
+ .saturating_div(100);
+
+ #[codec(index = 32)]
+ #[allow(non_upper_case_globals)]
+ /// 20 ticks, or 2 minutes with 6 seconds per tick.
+ pub static MinSeedPeriod: BlockNumber = 20;
+
+ #[codec(index = 33)]
+ #[allow(non_upper_case_globals)]
+ /// 10k HAVEs * [`MinSeedPeriod`] = 10k HAVEs * 20 = 200k HAVEs
+ ///
+ /// This can be interpreted as "a Provider with 10k HAVEs of stake would get the minimum seed period".
+ pub static StakeToSeedPeriod: Balance =
+ 10_000 * HAVE * Into::::into(MinSeedPeriod::get());
+
+ #[codec(index = 34)]
+ #[allow(non_upper_case_globals)]
+ /// The amount of ticks to charge a user upfront when it tries to issue a new storage request.
+ /// This is done as a deterrent to avoid users spamming the network with huge files but never
+ /// actually planning to store them longterm.
+ ///
+ /// 72k ticks = 5 days with 6 seconds per tick.
+ /// This means that a user must pay for 5 days of storage upfront, which gets transferred to the
+ /// treasury. Governance can then decide what to do with the accumulated funds.
+ ///
+ /// With a stable price (defined as `MostlyStablePrice` in this file) of 50 GIGAWEIs per gigabyte
+ /// per tick and a standard replication target (`StandardReplicationTarget`) of 12 BSPs, the upfront
+ /// cost for the user to issue a storage request for a 1 GB file would be:
+ /// 50 GIGAWEIs per gigabyte per tick * 12 BSPs * 72k ticks * 1 GB = 0.0432 HAVEs
+ pub static UpfrontTicksToPay: BlockNumber = 72_000;
+ // ╚══════════════════════ StorageHub Pallets ═══════════════════════╝
+ }
+}
+
#[cfg(feature = "runtime-benchmarks")]
impl Default for RuntimeParameters {
fn default() -> Self {
diff --git a/operator/runtime/testnet/src/configs/storagehub/mod.rs b/operator/runtime/testnet/src/configs/storagehub/mod.rs
new file mode 100644
index 000000000..636393e87
--- /dev/null
+++ b/operator/runtime/testnet/src/configs/storagehub/mod.rs
@@ -0,0 +1,610 @@
+use super::{
+ AccountId, Balance, Balances, BlockNumber, Hash, RuntimeEvent, RuntimeHoldReason, HAVE,
+};
+use crate::configs::runtime_params::dynamic_params::runtime_config;
+use crate::{
+ BucketNfts, Nfts, PaymentStreams, ProofsDealer, Providers, Runtime, Signature, WeightToFee,
+ HOURS,
+};
+use core::marker::PhantomData;
+use datahaven_runtime_common::time::{DAYS, MINUTES};
+use frame_support::pallet_prelude::DispatchClass;
+use frame_support::traits::AsEnsureOriginWithArg;
+use frame_support::{
+ parameter_types,
+ traits::{ConstU128, ConstU32, ConstU64},
+ weights::Weight,
+};
+use frame_system::pallet_prelude::BlockNumberFor;
+use frame_system::EnsureRoot;
+use frame_system::EnsureSigned;
+use num_bigint::BigUint;
+use pallet_nfts::PalletFeatures;
+use polkadot_runtime_common::prod_or_fast;
+use shp_data_price_updater::{MostlyStablePriceIndexUpdater, MostlyStablePriceIndexUpdaterConfig};
+use shp_file_key_verifier::FileKeyVerifier;
+use shp_file_metadata::{ChunkId, FileMetadata};
+use shp_forest_verifier::ForestVerifier;
+use shp_treasury_funding::{
+ LinearThenPowerOfTwoTreasuryCutCalculator, LinearThenPowerOfTwoTreasuryCutCalculatorConfig,
+};
+use sp_core::Get;
+use sp_core::Hasher;
+use sp_core::H256;
+use sp_runtime::traits::Convert;
+use sp_runtime::traits::ConvertBack;
+use sp_runtime::traits::Verify;
+use sp_runtime::traits::Zero;
+use sp_runtime::SaturatedConversion;
+use sp_runtime::{traits::BlakeTwo256, Perbill};
+use sp_std::convert::{From, Into};
+use sp_std::vec;
+use sp_trie::{LayoutV1, TrieConfiguration, TrieLayout};
+
+/// Type representing the storage data units in StorageHub.
+pub type StorageDataUnit = u64;
+
+pub type StorageProofsMerkleTrieLayout = LayoutV1;
+
+pub type Hashing = BlakeTwo256;
+
+// TODO: remove this and replace with pallet treasury
+pub struct TreasuryAccount;
+impl Get for TreasuryAccount {
+ fn get() -> AccountId {
+ AccountId::from([0; 32])
+ }
+}
+
+/****** NFTs pallet ******/
+parameter_types! {
+ pub const CollectionDeposit: Balance = 100 * HAVE;
+ pub const ItemDeposit: Balance = 1 * HAVE;
+ pub const MetadataDepositBase: Balance = 10 * HAVE;
+ pub const MetadataDepositPerByte: Balance = 1 * HAVE;
+ pub const ApprovalsLimit: u32 = 20;
+ pub const ItemAttributesApprovalsLimit: u32 = 20;
+ pub const MaxTips: u32 = 10;
+ pub const MaxDeadlineDuration: BlockNumber = 12 * 30 * DAYS;
+ pub const MaxAttributesPerCall: u32 = 10;
+ pub Features: PalletFeatures = PalletFeatures::all_enabled();
+}
+
+impl pallet_nfts::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type CollectionId = u32;
+ type ItemId = u32;
+ type Currency = Balances;
+ type CreateOrigin = AsEnsureOriginWithArg>;
+ type ForceOrigin = frame_system::EnsureRoot;
+ type CollectionDeposit = CollectionDeposit;
+ type ItemDeposit = ItemDeposit;
+ type MetadataDepositBase = MetadataDepositBase;
+ type AttributeDepositBase = MetadataDepositBase;
+ type DepositPerByte = MetadataDepositPerByte;
+ type StringLimit = ConstU32<256>;
+ type KeyLimit = ConstU32<64>;
+ type ValueLimit = ConstU32<256>;
+ type ApprovalsLimit = ApprovalsLimit;
+ type ItemAttributesApprovalsLimit = ItemAttributesApprovalsLimit;
+ type MaxTips = MaxTips;
+ type MaxDeadlineDuration = MaxDeadlineDuration;
+ type MaxAttributesPerCall = MaxAttributesPerCall;
+ type Features = Features;
+ type OffchainSignature = Signature;
+ type OffchainPublic = ::Signer;
+ type WeightInfo = pallet_nfts::weights::SubstrateWeight;
+ type Locker = ();
+}
+/****** ****** ****** ******/
+
+/****** Relay Randomness pallet ******/
+impl pallet_randomness::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type BabeDataGetter = BabeDataGetter;
+ type BabeBlockGetter = BlockNumberGetter;
+ type WeightInfo = ();
+ type BabeDataGetterBlockNumber = BlockNumber;
+}
+
+pub struct BabeDataGetter;
+impl pallet_randomness::GetBabeData for BabeDataGetter {
+ fn get_epoch_index() -> u64 {
+ todo!("implement `get_epoch_index`");
+ }
+ fn get_epoch_randomness() -> Hash {
+ todo!("implement `get_epoch_randomness`");
+ }
+ fn get_parent_randomness() -> Hash {
+ todo!("implement `get_parent_randomness`");
+ }
+}
+
+pub struct BlockNumberGetter {}
+impl sp_runtime::traits::BlockNumberProvider for BlockNumberGetter {
+ type BlockNumber = BlockNumber;
+
+ fn current_block_number() -> Self::BlockNumber {
+ frame_system::Pallet::::block_number()
+ }
+}
+
+/****** ****** ****** ******/
+
+/****** Storage Providers pallet ******/
+parameter_types! {
+ pub const SpMinDeposit: Balance = 100 * HAVE;
+ pub const BucketDeposit: Balance = 100 * HAVE;
+ pub const BspSignUpLockPeriod: BlockNumber = 90 * DAYS; // ~3 months
+ pub const MaxBlocksForRandomness: BlockNumber = prod_or_fast!(2 * HOURS, 2 * MINUTES);
+ // TODO: If the next line is uncommented (which should be eventually, replacing the line above), compilation breaks (most likely because of mismatched dependency issues)
+ // pub const MaxBlocksForRandomness: BlockNumber = prod_or_fast!(2 * runtime_constants::time::EPOCH_DURATION_IN_SLOTS, 2 * MINUTES);
+}
+
+impl pallet_storage_providers::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_storage_providers::weights::SubstrateWeight;
+ type ProvidersRandomness = pallet_randomness::RandomnessFromOneEpochAgo;
+ type PaymentStreams = PaymentStreams;
+ type ProofDealer = ProofsDealer;
+ type FileMetadataManager = FileMetadata<
+ { shp_constants::H_LENGTH },
+ { shp_constants::FILE_CHUNK_SIZE },
+ { shp_constants::FILE_SIZE_TO_CHALLENGES },
+ >;
+ type NativeBalance = Balances;
+ type CrRandomness = MockCrRandomness;
+ type RuntimeHoldReason = RuntimeHoldReason;
+ type StorageDataUnit = StorageDataUnit;
+ type StorageDataUnitAndBalanceConvert = StorageDataUnitAndBalanceConverter;
+ type SpCount = u32;
+ type BucketCount = u128;
+ type MerklePatriciaRoot = Hash;
+ type MerkleTrieHashing = Hashing;
+ type ProviderId = Hash;
+ type ProviderIdHashing = Hashing;
+ type ValuePropId = Hash;
+ type ValuePropIdHashing = Hashing;
+ type ReadAccessGroupId = ::CollectionId;
+ type ProvidersProofSubmitters = ProofsDealer;
+ type ReputationWeightType = u32;
+ type StorageHubTickGetter = ProofsDealer;
+ type Treasury = TreasuryAccount;
+ type SpMinDeposit = SpMinDeposit;
+ type SpMinCapacity = ConstU64<2>;
+ type DepositPerData = ConstU128<2>;
+ type MaxFileSize = ConstU64<{ u64::MAX }>;
+ type MaxMultiAddressSize = ConstU32<100>;
+ type MaxMultiAddressAmount = ConstU32<5>;
+ type MaxProtocols = ConstU32<100>;
+ type BucketDeposit = BucketDeposit;
+ type BucketNameLimit = ConstU32<100>;
+ type MaxBlocksForRandomness = MaxBlocksForRandomness;
+ type MinBlocksBetweenCapacityChanges = ConstU32<10>;
+ type DefaultMerkleRoot = DefaultMerkleRoot;
+ type SlashAmountPerMaxFileSize = runtime_config::SlashAmountPerMaxFileSize;
+ type StartingReputationWeight = ConstU32<1>;
+ type BspSignUpLockPeriod = BspSignUpLockPeriod;
+ type MaxCommitmentSize = ConstU32<1000>;
+ type ZeroSizeBucketFixedRate = runtime_config::ZeroSizeBucketFixedRate;
+ type ProviderTopUpTtl = runtime_config::ProviderTopUpTtl;
+ type MaxExpiredItemsInBlock = ConstU32<100>;
+}
+
+pub struct StorageDataUnitAndBalanceConverter;
+impl Convert for StorageDataUnitAndBalanceConverter {
+ fn convert(data_unit: StorageDataUnit) -> Balance {
+ data_unit.saturated_into()
+ }
+}
+impl ConvertBack for StorageDataUnitAndBalanceConverter {
+ fn convert_back(balance: Balance) -> StorageDataUnit {
+ balance.saturated_into()
+ }
+}
+
+pub type HasherOutT = <::Hash as Hasher>::Out;
+pub struct DefaultMerkleRoot(PhantomData);
+impl Get> for DefaultMerkleRoot {
+ fn get() -> HasherOutT {
+ sp_trie::empty_trie_root::()
+ }
+}
+
+/****** ****** ****** ******/
+
+/****** Payment Streams pallet ******/
+parameter_types! {
+ pub const PaymentStreamHoldReason: RuntimeHoldReason = RuntimeHoldReason::PaymentStreams(pallet_payment_streams::HoldReason::PaymentStreamDeposit);
+ pub const UserWithoutFundsCooldown: BlockNumber = 100;
+}
+
+impl pallet_payment_streams::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_payment_streams::weights::SubstrateWeight;
+ type NativeBalance = Balances;
+ type ProvidersPallet = Providers;
+ type RuntimeHoldReason = RuntimeHoldReason;
+ type UserWithoutFundsCooldown = UserWithoutFundsCooldown; // Amount of blocks that a user will have to wait before being able to clear the out of funds flag
+ type NewStreamDeposit = ConstU32<10>; // Amount of blocks that the deposit of a new stream should be able to pay for
+ type Units = StorageDataUnit; // Storage unit
+ type BlockNumberToBalance = BlockNumberToBalance;
+ type ProvidersProofSubmitters = ProofsDealer;
+ type TreasuryCutCalculator = LinearThenPowerOfTwoTreasuryCutCalculator;
+ type TreasuryAccount = TreasuryAccount;
+ type MaxUsersToCharge = ConstU32<10>;
+ type BaseDeposit = ConstU128<10>;
+}
+
+// Converter from the BlockNumber type to the Balance type for math
+pub struct BlockNumberToBalance;
+impl Convert for BlockNumberToBalance {
+ fn convert(block_number: BlockNumber) -> Balance {
+ block_number.into() // In this converter we assume that the block number type is smaller in size than the balance type
+ }
+}
+
+impl LinearThenPowerOfTwoTreasuryCutCalculatorConfig for Runtime {
+ type Balance = Balance;
+ type ProvidedUnit = StorageDataUnit;
+ type IdealUtilisationRate = runtime_config::IdealUtilisationRate;
+ type DecayRate = runtime_config::DecayRate;
+ type MinimumCut = runtime_config::MinimumTreasuryCut;
+ type MaximumCut = runtime_config::MaximumTreasuryCut;
+}
+/****** ****** ****** ******/
+
+/****** Proofs Dealer pallet ******/
+const RANDOM_CHALLENGES_PER_BLOCK: u32 = 10;
+const MAX_CUSTOM_CHALLENGES_PER_BLOCK: u32 = 10;
+const TOTAL_MAX_CHALLENGES_PER_BLOCK: u32 =
+ RANDOM_CHALLENGES_PER_BLOCK + MAX_CUSTOM_CHALLENGES_PER_BLOCK;
+
+parameter_types! {
+ pub const RandomChallengesPerBlock: u32 = RANDOM_CHALLENGES_PER_BLOCK;
+ pub const MaxCustomChallengesPerBlock: u32 = MAX_CUSTOM_CHALLENGES_PER_BLOCK;
+ pub const TotalMaxChallengesPerBlock: u32 = TOTAL_MAX_CHALLENGES_PER_BLOCK;
+ pub const TargetTicksStorageOfSubmitters: u32 = 3;
+ pub const ChallengeHistoryLength: BlockNumber = 100;
+ pub const ChallengesQueueLength: u32 = 100;
+ pub const ChallengesFee: Balance = 1 * HAVE;
+ pub const ChallengeTicksTolerance: u32 = 50;
+}
+
+impl pallet_proofs_dealer::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_proofs_dealer::weights::SubstrateWeight;
+ type ProvidersPallet = Providers;
+ type NativeBalance = Balances;
+ type MerkleTrieHash = Hash;
+ type MerkleTrieHashing = BlakeTwo256;
+ type ForestVerifier = ForestVerifier;
+ type KeyVerifier = FileKeyVerifier<
+ StorageProofsMerkleTrieLayout,
+ { shp_constants::H_LENGTH },
+ { shp_constants::FILE_CHUNK_SIZE },
+ { shp_constants::FILE_SIZE_TO_CHALLENGES },
+ >;
+ type StakeToBlockNumber = SaturatingBalanceToBlockNumber;
+ type RandomChallengesPerBlock = RandomChallengesPerBlock;
+ type MaxCustomChallengesPerBlock = MaxCustomChallengesPerBlock;
+ type MaxSubmittersPerTick = MaxSubmittersPerTick;
+ type TargetTicksStorageOfSubmitters = TargetTicksStorageOfSubmitters;
+ type ChallengeHistoryLength = ChallengeHistoryLength;
+ type ChallengesQueueLength = ChallengesQueueLength;
+ type CheckpointChallengePeriod = runtime_config::CheckpointChallengePeriod;
+ type ChallengesFee = ChallengesFee;
+ type Treasury = TreasuryAccount;
+ // TODO: Once the client logic to keep track of CR randomness deadlines and execute their submissions is implemented
+ // AND after the chain has been live for enough time to have enough providers to avoid the commit-reveal randomness being
+ // gameable, the randomness provider should be CrRandomness
+ type RandomnessProvider = pallet_randomness::ParentBlockRandomness;
+ type StakeToChallengePeriod = runtime_config::StakeToChallengePeriod;
+ type MinChallengePeriod = runtime_config::MinChallengePeriod;
+ type ChallengeTicksTolerance = ChallengeTicksTolerance;
+ type BlockFullnessPeriod = ChallengeTicksTolerance; // We purposely set this to `ChallengeTicksTolerance` so that spamming of the chain is evaluated for the same blocks as the tolerance BSPs are given.
+ type BlockFullnessHeadroom = BlockFullnessHeadroom;
+ type MinNotFullBlocksRatio = MinNotFullBlocksRatio;
+ type MaxSlashableProvidersPerTick = MaxSlashableProvidersPerTick;
+}
+
+// Converter from the Balance type to the BlockNumber type for math.
+// It performs a saturated conversion, so that the result is always a valid BlockNumber.
+pub struct SaturatingBalanceToBlockNumber;
+impl Convert> for SaturatingBalanceToBlockNumber {
+ fn convert(block_number: Balance) -> BlockNumberFor {
+ block_number.saturated_into()
+ }
+}
+
+pub struct MaxSubmittersPerTick;
+impl Get for MaxSubmittersPerTick {
+ fn get() -> u32 {
+ let block_weights = ::BlockWeights::get();
+
+ // Not being able to get the `max_total` weight for the Normal dispatch class is considered
+ // a critical bug. So we set it to be zero, essentially allowing zero submitters per tick.
+ // This value can be read from the constants of a node, but with the current configuration, this is:
+ //
+ // max_total: {
+ // ref_time: 1,500,000,000,000
+ // proof_size: 3,932,160
+ // }
+ let max_weight_for_class = block_weights
+ .get(DispatchClass::Normal)
+ .max_total
+ .unwrap_or(Zero::zero());
+
+ // Get the minimum weight a `submit_proof` extrinsic can have.
+ // This would be the case where the proof is just made up of a single file key proof, that is a
+ // response to all the random challenges. And there are no checkpoint challenges.
+ // With the current benchmarking, this is:
+ //
+ // TODO: UPDATE THIS WITH THE FINAL BENCHMARKING
+ // min_weight_for_submit_proof: {
+ // ref_time: 2,980,252,675
+ // proof_size: 16,056
+ // }
+ let min_weight_for_submit_proof =
+ as pallet_proofs_dealer::weights::WeightInfo>::submit_proof_no_checkpoint_challenges_key_proofs(1);
+
+ // Calculate the maximum number of submit proofs that is possible to have in a block/tick.
+ // With the current values, this would be:
+ //
+ // TODO: UPDATE THIS WITH THE FINAL BENCHMARKING
+ // 244 proof submissions per block (limited by `proof_size`)
+ let max_proof_submissions_per_tick = max_weight_for_class
+ .checked_div_per_component(&min_weight_for_submit_proof)
+ .unwrap_or(0);
+
+ // Saturating u64 to u32 should be enough.
+ max_proof_submissions_per_tick.saturated_into()
+ }
+}
+
+pub struct BlockFullnessHeadroom;
+impl Get for BlockFullnessHeadroom {
+ fn get() -> Weight {
+ // The block headroom is set to be the maximum benchmarked weight that a `submit_proof` extrinsic can have.
+ // That is, when the proof includes two file key proofs for every single random challenge, and for the maximum
+ // number of checkpoint challenges as well.
+ as pallet_proofs_dealer::weights::WeightInfo>::submit_proof_with_checkpoint_challenges_key_proofs(TOTAL_MAX_CHALLENGES_PER_BLOCK * 2)
+ }
+}
+
+pub struct MinNotFullBlocksRatio;
+impl Get for MinNotFullBlocksRatio {
+ fn get() -> Perbill {
+ // This means that we tolerate at most 50% of misbehaving collators.
+ Perbill::from_percent(50)
+ }
+}
+
+pub struct MaxSlashableProvidersPerTick;
+impl Get for MaxSlashableProvidersPerTick {
+ fn get() -> u32 {
+ // With the maximum number of slashable providers per tick being `N`, the absolute maximum
+ // weight that the `on_poll` hook can have, with the current benchmarking, is:
+ //
+ // TODO: UPDATE THIS WITH THE FINAL BENCHMARKING
+ // new_challenges_round_weight: {
+ // ref_time: 576,000,000 + N * 551,601,146
+ // proof_size: 8,523 + N * 3,158
+ // }
+ // new_checkpoint_challenge_round_max_weight: {
+ // ref_time: 587,205,208 + ChallengesQueueLength * 225,083 = 610,554,678
+ // proof_size: 4,787
+ // }
+ // check_spamming_condition_weight: {
+ // ref_time: 313,000,000
+ // proof_size: 6,012
+ // }
+ //
+ // For `N` = 1000, this would be:
+ // max_on_poll_weight: {
+ // ref_time: 313,000,000 + 610,554,678 + 576,000,000 + N * 551,601,146 ≈ 553,100,700,678
+ // proof_size: 6,012 + 4,787 + 8,523 + N * 3,158 ≈ 3,177,322
+ // }
+ //
+ // Consider that the maximum block weight is:
+ // maxBlock: {
+ // ref_time: 2,000,000,000,000
+ // proof_size: 5,242,880
+ // }
+ //
+ // This `on_poll` hook would consume roughly 1/4 of the block `ref_time` and 3/5 of the block `proof_size`.
+ // This is naturally a lot. But it would be a very unlikely scenario.
+ //
+ // This would be the case where all `N` Providers have synchronised their challenge periods
+ // and have the same deadline, plus, all of them missed their proof submissions.
+ // The normal scenario would be that NONE (or just a small number) of the Providers have
+ // missed their proof submissions.
+ let max_slashable_providers_per_tick = 1000;
+ max_slashable_providers_per_tick
+ }
+}
+/****** ****** ****** ******/
+
+/****** File System pallet ******/
+type ThresholdType = u32;
+pub type ReplicationTargetType = u32;
+
+parameter_types! {
+ pub const BaseStorageRequestCreationDeposit: Balance = 1 * HAVE;
+ pub const FileDeletionRequestCreationDeposit: Balance = 1 * HAVE;
+ pub const FileSystemStorageRequestCreationHoldReason: RuntimeHoldReason = RuntimeHoldReason::FileSystem(pallet_file_system::HoldReason::StorageRequestCreationHold);
+ pub const FileSystemFileDeletionRequestHoldReason: RuntimeHoldReason = RuntimeHoldReason::FileSystem(pallet_file_system::HoldReason::FileDeletionRequestHold);
+}
+
+impl pallet_file_system::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_file_system::weights::SubstrateWeight;
+ type Providers = Providers;
+ type ProofDealer = ProofsDealer;
+ type PaymentStreams = PaymentStreams;
+ // TODO: Replace the mocked CR randomness with the actual one when it's ready
+ // type CrRandomness = CrRandomness;
+ type CrRandomness = MockCrRandomness;
+ type UpdateStoragePrice = MostlyStablePriceIndexUpdater;
+ type UserSolvency = PaymentStreams;
+ type Fingerprint = Hash;
+ type ReplicationTargetType = ReplicationTargetType;
+ type ThresholdType = ThresholdType;
+ type ThresholdTypeToTickNumber = ThresholdTypeToBlockNumberConverter;
+ type HashToThresholdType = HashToThresholdTypeConverter;
+ type MerkleHashToRandomnessOutput = MerkleHashToRandomnessOutputConverter;
+ type ChunkIdToMerkleHash = ChunkIdToMerkleHashConverter;
+ type Currency = Balances;
+ type RuntimeHoldReason = RuntimeHoldReason;
+ type Nfts = Nfts;
+ type CollectionInspector = BucketNfts;
+ type BspStopStoringFilePenalty = runtime_config::BspStopStoringFilePenalty;
+ type TreasuryAccount = TreasuryAccount;
+ type MaxBatchConfirmStorageRequests = ConstU32<10>;
+ type MaxFilePathSize = ConstU32<512u32>;
+ type MaxPeerIdSize = ConstU32<100>;
+ type MaxNumberOfPeerIds = ConstU32<5>;
+ type MaxDataServerMultiAddresses = ConstU32<10>;
+ type MaxExpiredItemsInTick = ConstU32<100>;
+ type StorageRequestTtl = runtime_config::StorageRequestTtl;
+ type MoveBucketRequestTtl = ConstU32<40u32>;
+ type MaxUserPendingDeletionRequests = ConstU32<10u32>;
+ type MaxUserPendingMoveBucketRequests = ConstU32<10u32>;
+ type MinWaitForStopStoring = runtime_config::MinWaitForStopStoring;
+ type BaseStorageRequestCreationDeposit = BaseStorageRequestCreationDeposit;
+ type UpfrontTicksToPay = runtime_config::UpfrontTicksToPay;
+ type WeightToFee = WeightToFee;
+ type ReplicationTargetToBalance = ReplicationTargetToBalance;
+ type TickNumberToBalance = TickNumberToBalance;
+ type StorageDataUnitToBalance = StorageDataUnitToBalance;
+ type FileDeletionRequestDeposit = FileDeletionRequestCreationDeposit;
+ type BasicReplicationTarget = runtime_config::BasicReplicationTarget;
+ type StandardReplicationTarget = runtime_config::StandardReplicationTarget;
+ type HighSecurityReplicationTarget = runtime_config::HighSecurityReplicationTarget;
+ type SuperHighSecurityReplicationTarget = runtime_config::SuperHighSecurityReplicationTarget;
+ type UltraHighSecurityReplicationTarget = runtime_config::UltraHighSecurityReplicationTarget;
+ type MaxReplicationTarget = runtime_config::MaxReplicationTarget;
+ type TickRangeToMaximumThreshold = runtime_config::TickRangeToMaximumThreshold;
+}
+
+impl MostlyStablePriceIndexUpdaterConfig for Runtime {
+ type Price = Balance;
+ type StorageDataUnit = StorageDataUnit;
+ type LowerThreshold = runtime_config::SystemUtilisationLowerThresholdPercentage;
+ type UpperThreshold = runtime_config::SystemUtilisationUpperThresholdPercentage;
+ type MostlyStablePrice = runtime_config::MostlyStablePrice;
+ type MaxPrice = runtime_config::MaxPrice;
+ type MinPrice = runtime_config::MinPrice;
+ type UpperExponentFactor = runtime_config::UpperExponentFactor;
+ type LowerExponentFactor = runtime_config::LowerExponentFactor;
+}
+
+// Converter from the ThresholdType to the BlockNumber type and vice versa.
+// It performs a saturated conversion, so that the result is always a valid BlockNumber.
+pub struct ThresholdTypeToBlockNumberConverter;
+impl Convert> for ThresholdTypeToBlockNumberConverter {
+ fn convert(threshold: ThresholdType) -> BlockNumberFor {
+ threshold.saturated_into()
+ }
+}
+
+impl ConvertBack> for ThresholdTypeToBlockNumberConverter {
+ fn convert_back(block_number: BlockNumberFor) -> ThresholdType {
+ block_number.into()
+ }
+}
+
+/// Converter from the [`Hash`] type to the [`ThresholdType`].
+pub struct HashToThresholdTypeConverter;
+impl Convert<::Hash, ThresholdType>
+ for HashToThresholdTypeConverter
+{
+ fn convert(hash: ::Hash) -> ThresholdType {
+ // Get the hash as bytes
+ let hash_bytes = hash.as_ref();
+
+ // Get the 4 least significant bytes of the hash and interpret them as an u32
+ let truncated_hash_bytes: [u8; 4] =
+ hash_bytes[28..].try_into().expect("Hash is 32 bytes; qed");
+
+ ThresholdType::from_be_bytes(truncated_hash_bytes)
+ }
+}
+
+// Converter from the MerkleHash (H256) type to the RandomnessOutput (H256) type.
+pub struct MerkleHashToRandomnessOutputConverter;
+impl Convert for MerkleHashToRandomnessOutputConverter {
+ fn convert(hash: H256) -> H256 {
+ hash
+ }
+}
+
+// Converter from the ChunkId type to the MerkleHash (H256) type.
+pub struct ChunkIdToMerkleHashConverter;
+
+impl Convert for ChunkIdToMerkleHashConverter {
+ fn convert(chunk_id: ChunkId) -> H256 {
+ let chunk_id_biguint = BigUint::from(chunk_id.as_u64());
+ let mut bytes = chunk_id_biguint.to_bytes_be();
+
+ // Ensure the byte slice is exactly 32 bytes long by padding with leading zeros
+ if bytes.len() < 32 {
+ let mut padded_bytes = vec![0u8; 32 - bytes.len()];
+ padded_bytes.extend(bytes);
+ bytes = padded_bytes;
+ }
+
+ H256::from_slice(&bytes)
+ }
+}
+
+// Converter from the ReplicationTargetType type to the Balance type.
+pub struct ReplicationTargetToBalance;
+impl Convert for ReplicationTargetToBalance {
+ fn convert(replication_target: ReplicationTargetType) -> Balance {
+ replication_target.into()
+ }
+}
+
+// Converter from the TickNumber type to the Balance type.
+pub type TickNumber = BlockNumber;
+pub struct TickNumberToBalance;
+impl Convert for TickNumberToBalance {
+ fn convert(tick_number: TickNumber) -> Balance {
+ tick_number.into()
+ }
+}
+
+// Converter from the StorageDataUnit type to the Balance type.
+pub struct StorageDataUnitToBalance;
+impl Convert for StorageDataUnitToBalance {
+ fn convert(storage_data_unit: StorageDataUnit) -> Balance {
+ storage_data_unit.into()
+ }
+}
+/****** ****** ****** ******/
+
+/****** Bucket NFTs pallet ******/
+impl pallet_bucket_nfts::Config for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type WeightInfo = pallet_bucket_nfts::weights::SubstrateWeight;
+ type Buckets = Providers;
+}
+/****** ****** ****** ******/
+
+/****** Commit-Reveal Randomness pallet ******/
+pub struct MockCrRandomness;
+impl shp_traits::CommitRevealRandomnessInterface for MockCrRandomness {
+ type ProviderId = Hash;
+
+ fn initialise_randomness_cycle(
+ _who: &Self::ProviderId,
+ ) -> frame_support::dispatch::DispatchResult {
+ Ok(())
+ }
+
+ fn stop_randomness_cycle(_who: &Self::ProviderId) -> frame_support::dispatch::DispatchResult {
+ Ok(())
+ }
+}
+/****** ****** ****** ******/
diff --git a/operator/runtime/testnet/src/lib.rs b/operator/runtime/testnet/src/lib.rs
index 6175b2d49..1a8db20e1 100644
--- a/operator/runtime/testnet/src/lib.rs
+++ b/operator/runtime/testnet/src/lib.rs
@@ -20,7 +20,10 @@ use frame_support::{
pallet_prelude::{TransactionValidity, TransactionValidityError},
parameter_types,
traits::{KeyOwnerProofSystem, OnFinalize},
- weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight},
+ weights::{
+ constants::ExtrinsicBaseWeight, constants::WEIGHT_REF_TIME_PER_SECOND, Weight,
+ WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial,
+ },
};
pub use frame_system::Call as SystemCall;
pub use pallet_balances::Call as BalancesCall;
@@ -29,6 +32,7 @@ use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, Runner}
use pallet_external_validators::traits::EraIndex;
use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId};
pub use pallet_timestamp::Call as TimestampCall;
+use smallvec::smallvec;
use snowbridge_core::AgentId;
use snowbridge_merkle_tree::MerkleProof;
use sp_api::impl_runtime_apis;
@@ -231,8 +235,36 @@ where
}
}
+/// Handles converting a weight scalar to a fee value, based on the scale and granularity of the
+/// node's balance type.
+///
+/// This should typically create a mapping between the following ranges:
+/// - `[0, MAXIMUM_BLOCK_WEIGHT]`
+/// - `[Balance::min, Balance::max]`
+///
+/// Yet, it can be used for any other sort of change to weight-fee. Some examples being:
+/// - Setting it to `0` will essentially disable the weight fee.
+/// - Setting it to `1` will cause the literal `#[weight = x]` values to be charged.
+pub struct WeightToFee;
+impl WeightToFeePolynomial for WeightToFee {
+ type Balance = Balance;
+ fn polynomial() -> WeightToFeeCoefficients {
+ // in Rococo, extrinsic base weight (smallest non-zero weight) is mapped to 1 MILLIHAVE:
+ // in our template, we map to 1/10 of that, or 1/10 MILLIHAVE
+ let p = currency::MILLIHAVE / 10;
+ let q = 100 * Balance::from(ExtrinsicBaseWeight::get().ref_time());
+ smallvec![WeightToFeeCoefficient {
+ degree: 1,
+ negative: false,
+ coeff_frac: Perbill::from_rational(p % q, q),
+ coeff_integer: p / q,
+ }]
+ }
+}
+
// Create the runtime by composing the FRAME pallets that were previously configured.
#[frame_support::runtime]
+#[cfg(not(feature = "storage-hub"))]
mod runtime {
#[runtime::runtime]
#[runtime::derive(
@@ -384,6 +416,179 @@ mod runtime {
// ╚═══════════════════ DataHaven-specific Pallets ══════════════════╝
}
+#[frame_support::runtime]
+#[cfg(feature = "storage-hub")]
+mod runtime {
+ #[runtime::runtime]
+ #[runtime::derive(
+ RuntimeCall,
+ RuntimeEvent,
+ RuntimeError,
+ RuntimeOrigin,
+ RuntimeFreezeReason,
+ RuntimeHoldReason,
+ RuntimeSlashReason,
+ RuntimeLockId,
+ RuntimeTask
+ )]
+ pub struct Runtime;
+
+ // ╔══════════════════ System and Consensus Pallets ═════════════════╗
+ #[runtime::pallet_index(0)]
+ pub type System = frame_system;
+
+ // Babe must be before session.
+ #[runtime::pallet_index(1)]
+ pub type Babe = pallet_babe;
+
+ #[runtime::pallet_index(2)]
+ pub type Timestamp = pallet_timestamp;
+
+ #[runtime::pallet_index(3)]
+ pub type Balances = pallet_balances;
+
+ // Consensus support.
+ // Authorship must be before session in order to note author in the correct session and era.
+ #[runtime::pallet_index(4)]
+ pub type Authorship = pallet_authorship;
+
+ #[runtime::pallet_index(5)]
+ pub type Offences = pallet_offences;
+
+ #[runtime::pallet_index(6)]
+ pub type Historical = pallet_session::historical;
+
+ // External Validators must be before Session.
+ #[runtime::pallet_index(7)]
+ pub type ExternalValidators = pallet_external_validators;
+
+ #[runtime::pallet_index(8)]
+ pub type Session = pallet_session;
+
+ #[runtime::pallet_index(9)]
+ pub type ImOnline = pallet_im_online;
+
+ #[runtime::pallet_index(10)]
+ pub type Grandpa = pallet_grandpa;
+
+ #[runtime::pallet_index(11)]
+ pub type TransactionPayment = pallet_transaction_payment;
+
+ #[runtime::pallet_index(12)]
+ pub type Beefy = pallet_beefy;
+
+ #[runtime::pallet_index(13)]
+ pub type Mmr = pallet_mmr;
+
+ #[runtime::pallet_index(14)]
+ pub type BeefyMmrLeaf = pallet_beefy_mmr;
+ // ╚═════════════════ System and Consensus Pallets ══════════════════╝
+
+ // ╔═════════════════ Polkadot SDK Utility Pallets ══════════════════╗
+ #[runtime::pallet_index(30)]
+ pub type Utility = pallet_utility;
+
+ #[runtime::pallet_index(31)]
+ pub type Scheduler = pallet_scheduler;
+
+ #[runtime::pallet_index(32)]
+ pub type Preimage = pallet_preimage;
+
+ #[runtime::pallet_index(33)]
+ pub type Identity = pallet_identity;
+
+ #[runtime::pallet_index(34)]
+ pub type Multisig = pallet_multisig;
+
+ #[runtime::pallet_index(35)]
+ pub type Parameters = pallet_parameters;
+
+ #[runtime::pallet_index(36)]
+ pub type Sudo = pallet_sudo;
+
+ #[runtime::pallet_index(37)]
+ pub type Treasury = pallet_treasury;
+
+ #[runtime::pallet_index(38)]
+ pub type Proxy = pallet_proxy;
+ // ╚═════════════════ Polkadot SDK Utility Pallets ══════════════════╝
+
+ // ╔════════════════════ Frontier (EVM) Pallets ═════════════════════╗
+ #[runtime::pallet_index(50)]
+ pub type Ethereum = pallet_ethereum;
+
+ #[runtime::pallet_index(51)]
+ pub type Evm = pallet_evm;
+
+ #[runtime::pallet_index(52)]
+ pub type EvmChainId = pallet_evm_chain_id;
+ // ╚════════════════════ Frontier (EVM) Pallets ═════════════════════╝
+
+ // ╔══════════════════════ Snowbridge Pallets ═══════════════════════╗
+ #[runtime::pallet_index(60)]
+ pub type EthereumBeaconClient = snowbridge_pallet_ethereum_client;
+
+ #[runtime::pallet_index(61)]
+ pub type EthereumInboundQueueV2 = snowbridge_pallet_inbound_queue_v2;
+
+ #[runtime::pallet_index(62)]
+ pub type EthereumOutboundQueueV2 = snowbridge_pallet_outbound_queue_v2;
+
+ #[runtime::pallet_index(63)]
+ pub type SnowbridgeSystem = snowbridge_pallet_system;
+
+ #[runtime::pallet_index(64)]
+ pub type SnowbridgeSystemV2 = snowbridge_pallet_system_v2;
+ // ╚══════════════════════ Snowbridge Pallets ═══════════════════════╝
+
+ // ╔════════════ Polkadot SDK Utility Pallets - Block 2 ═════════════╗
+ // The Message Queue pallet has to be after the Snowbridge Outbound
+ // Queue V2 pallet since the former processes messages in its
+ // `on_initialize` hook and the latter clears up messages in
+ // its `on_initialize` hook, so otherwise messages will be cleared
+ // up before they are processed.
+ #[runtime::pallet_index(70)]
+ pub type MessageQueue = pallet_message_queue;
+ // ╚════════════ Polkadot SDK Utility Pallets - Block 2 ═════════════╝
+
+ // ╔══════════════════════ StorageHub Pallets ═══════════════════════╗
+ // Start with index 80
+ #[runtime::pallet_index(80)]
+ pub type Providers = pallet_storage_providers;
+
+ #[runtime::pallet_index(81)]
+ pub type FileSystem = pallet_file_system;
+
+ #[runtime::pallet_index(82)]
+ pub type ProofsDealer = pallet_proofs_dealer;
+
+ #[runtime::pallet_index(83)]
+ pub type Randomness = pallet_randomness;
+
+ #[runtime::pallet_index(84)]
+ pub type PaymentStreams = pallet_payment_streams;
+
+ #[runtime::pallet_index(85)]
+ pub type BucketNfts = pallet_bucket_nfts;
+
+ #[runtime::pallet_index(90)]
+ pub type Nfts = pallet_nfts;
+ // ╚══════════════════════ StorageHub Pallets ═══════════════════════╝
+
+ // ╔═══════════════════ DataHaven-specific Pallets ══════════════════╗
+ // Start with index 100
+ #[runtime::pallet_index(100)]
+ pub type OutboundCommitmentStore = pallet_outbound_commitment_store;
+
+ #[runtime::pallet_index(101)]
+ pub type ExternalValidatorsRewards = pallet_external_validators_rewards;
+
+ #[runtime::pallet_index(102)]
+ pub type DataHavenNativeTransfer = pallet_datahaven_native_transfer;
+
+ // ╚═══════════════════ DataHaven-specific Pallets ══════════════════╝
+}
+
/// MMR helper types.
mod mmr {
use super::Runtime;
From b4347d574c631e5db34613d7f7cbee3bac33c58b Mon Sep 17 00:00:00 2001
From: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
Date: Tue, 2 Sep 2025 15:56:04 +0200
Subject: [PATCH 4/5] Merge branch 'main' into sde/registry-precompile
---
operator/Cargo.lock | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/operator/Cargo.lock b/operator/Cargo.lock
index 8ee67f51c..6a80b9978 100644
--- a/operator/Cargo.lock
+++ b/operator/Cargo.lock
@@ -2382,6 +2382,7 @@ dependencies = [
"hex-literal 0.3.4",
"log",
"num-bigint",
+ "num_enum",
"pallet-authorship",
"pallet-babe",
"pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
@@ -2476,8 +2477,8 @@ dependencies = [
"sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-trie",
- "sp-version",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
@@ -2734,6 +2735,7 @@ dependencies = [
"hex-literal 0.3.4",
"log",
"num-bigint",
+ "num_enum",
"pallet-authorship",
"pallet-babe",
"pallet-balances 40.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
@@ -2828,8 +2830,8 @@ dependencies = [
"sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"sp-transaction-pool",
- "sp-trie",
- "sp-version",
+ "sp-trie 38.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=stable2412)",
+ "sp-version 38.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-stable2412-6)",
"staging-xcm",
"staging-xcm-builder",
"staging-xcm-executor",
From 7bf861d637f7b12aa43f9bb70e05f4f468f9ac00 Mon Sep 17 00:00:00 2001
From: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
Date: Wed, 3 Sep 2025 08:51:09 +0200
Subject: [PATCH 5/5] fix: Comment out Identity benchmark helper function -
needs SDK stable2412-8
---
operator/runtime/mainnet/src/configs/mod.rs | 24 +++++++++++---------
operator/runtime/stagenet/src/configs/mod.rs | 24 +++++++++++---------
operator/runtime/testnet/src/configs/mod.rs | 24 +++++++++++---------
3 files changed, 39 insertions(+), 33 deletions(-)
diff --git a/operator/runtime/mainnet/src/configs/mod.rs b/operator/runtime/mainnet/src/configs/mod.rs
index 0c084c5c8..8210c7baf 100644
--- a/operator/runtime/mainnet/src/configs/mod.rs
+++ b/operator/runtime/mainnet/src/configs/mod.rs
@@ -508,17 +508,19 @@ impl pallet_identity::Config for Runtime {
type UsernameDeposit = ();
type UsernameGracePeriod = ();
- #[cfg(feature = "runtime-benchmarks")]
- fn benchmark_helper(message: &[u8]) -> (Vec, Vec) {
- let public = sp_io::crypto::ecdsa_generate(0.into(), None);
- let eth_signer: Self::SigningPublicKey = public.into();
- let hash_msg = sp_io::hashing::keccak_256(message);
- let signature = Self::OffchainSignature::new(
- sp_io::crypto::ecdsa_sign_prehashed(0.into(), &public, &hash_msg).unwrap(),
- );
-
- (eth_signer.encode(), signature.encode())
- }
+ // TODO: Re-enable after upgrade to Polkadot SDK stable2412-8
+ // see https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-stable2412-8
+ // #[cfg(feature = "runtime-benchmarks")]
+ // fn benchmark_helper(message: &[u8]) -> (Vec, Vec) {
+ // let public = sp_io::crypto::ecdsa_generate(0.into(), None);
+ // let eth_signer: Self::SigningPublicKey = public.into();
+ // let hash_msg = sp_io::hashing::keccak_256(message);
+ // let signature = Self::OffchainSignature::new(
+ // sp_io::crypto::ecdsa_sign_prehashed(0.into(), &public, &hash_msg).unwrap(),
+ // );
+
+ // (eth_signer.encode(), signature.encode())
+ // }
}
parameter_types! {
diff --git a/operator/runtime/stagenet/src/configs/mod.rs b/operator/runtime/stagenet/src/configs/mod.rs
index 8bb3a6ecb..1fdb3b22d 100644
--- a/operator/runtime/stagenet/src/configs/mod.rs
+++ b/operator/runtime/stagenet/src/configs/mod.rs
@@ -508,17 +508,19 @@ impl pallet_identity::Config for Runtime {
type UsernameDeposit = ();
type UsernameGracePeriod = ();
- #[cfg(feature = "runtime-benchmarks")]
- fn benchmark_helper(message: &[u8]) -> (Vec, Vec) {
- let public = sp_io::crypto::ecdsa_generate(0.into(), None);
- let eth_signer: Self::SigningPublicKey = public.into();
- let hash_msg = sp_io::hashing::keccak_256(message);
- let signature = Self::OffchainSignature::new(
- sp_io::crypto::ecdsa_sign_prehashed(0.into(), &public, &hash_msg).unwrap(),
- );
-
- (eth_signer.encode(), signature.encode())
- }
+ // TODO: Re-enable after upgrade to Polkadot SDK stable2412-8
+ // see https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-stable2412-8
+ // #[cfg(feature = "runtime-benchmarks")]
+ // fn benchmark_helper(message: &[u8]) -> (Vec, Vec) {
+ // let public = sp_io::crypto::ecdsa_generate(0.into(), None);
+ // let eth_signer: Self::SigningPublicKey = public.into();
+ // let hash_msg = sp_io::hashing::keccak_256(message);
+ // let signature = Self::OffchainSignature::new(
+ // sp_io::crypto::ecdsa_sign_prehashed(0.into(), &public, &hash_msg).unwrap(),
+ // );
+
+ // (eth_signer.encode(), signature.encode())
+ // }
}
parameter_types! {
diff --git a/operator/runtime/testnet/src/configs/mod.rs b/operator/runtime/testnet/src/configs/mod.rs
index 5448d6f84..fac772f63 100644
--- a/operator/runtime/testnet/src/configs/mod.rs
+++ b/operator/runtime/testnet/src/configs/mod.rs
@@ -507,17 +507,19 @@ impl pallet_identity::Config for Runtime {
type UsernameDeposit = ();
type UsernameGracePeriod = ();
- #[cfg(feature = "runtime-benchmarks")]
- fn benchmark_helper(message: &[u8]) -> (Vec, Vec) {
- let public = sp_io::crypto::ecdsa_generate(0.into(), None);
- let eth_signer: Self::SigningPublicKey = public.into();
- let hash_msg = sp_io::hashing::keccak_256(message);
- let signature = Self::OffchainSignature::new(
- sp_io::crypto::ecdsa_sign_prehashed(0.into(), &public, &hash_msg).unwrap(),
- );
-
- (eth_signer.encode(), signature.encode())
- }
+ // TODO: Re-enable after upgrade to Polkadot SDK stable2412-8
+ // see https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-stable2412-8
+ // #[cfg(feature = "runtime-benchmarks")]
+ // fn benchmark_helper(message: &[u8]) -> (Vec, Vec) {
+ // let public = sp_io::crypto::ecdsa_generate(0.into(), None);
+ // let eth_signer: Self::SigningPublicKey = public.into();
+ // let hash_msg = sp_io::hashing::keccak_256(message);
+ // let signature = Self::OffchainSignature::new(
+ // sp_io::crypto::ecdsa_sign_prehashed(0.into(), &public, &hash_msg).unwrap(),
+ // );
+
+ // (eth_signer.encode(), signature.encode())
+ // }
}
parameter_types! {