From 68ef608f72851c6f51e30c07ef2353582cc459dc Mon Sep 17 00:00:00 2001 From: pgherveou Date: Mon, 29 Sep 2025 13:42:33 +0200 Subject: [PATCH 01/29] fixes --- Cargo.lock | 2 ++ substrate/frame/revive/rpc/Cargo.toml | 3 ++ substrate/frame/revive/rpc/build.rs | 26 +++++++++++++++++- .../frame/revive/rpc/revive_chain.metadata | Bin 694304 -> 0 bytes .../frame/revive/rpc/src/subxt_client.rs | 2 +- 5 files changed, 31 insertions(+), 2 deletions(-) delete mode 100644 substrate/frame/revive/rpc/revive_chain.metadata diff --git a/Cargo.lock b/Cargo.lock index e213136785be5..1a8741fb58b4c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13140,6 +13140,7 @@ name = "pallet-revive-eth-rpc" version = "0.1.0" dependencies = [ "anyhow", + "asset-hub-westend-runtime", "clap", "env_logger 0.11.3", "futures", @@ -13149,6 +13150,7 @@ dependencies = [ "log", "pallet-revive", "pallet-revive-fixtures", + "parachains-runtimes-test-utils", "parity-scale-codec", "pretty_assertions", "rlp 0.6.1", diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index 0efdbb7d5363c..6c0312da1aedf 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -53,3 +53,6 @@ substrate-cli-test-utils = { workspace = true } [build-dependencies] git2 = { workspace = true } +asset-hub-westend-runtime = { workspace = true } +parachains-runtimes-test-utils = { workspace = true } +sp-runtime = { workspace = true, default-features = true } diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index e3ae263fdbb92..56a37652261d8 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -14,7 +14,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -use std::process::Command; +use std::{fs, path::Path, process::Command}; /// Get the current branch and commit hash. fn main() { @@ -46,4 +46,28 @@ fn main() { println!("cargo:rustc-env=RUSTC_VERSION={rustc_version}"); println!("cargo:rustc-env=TARGET={target}"); println!("cargo:rustc-env=GIT_REVISION={branch}-{id}"); + + // Generate metadata + generate_metadata_file(); +} + +fn generate_metadata_file() { + use asset_hub_westend_runtime::Runtime; + use parachains_runtimes_test_utils::ExtBuilder; + let metadata_path = Path::new("revive_chain.scale"); + + // use existing metadata if present + if metadata_path.exists() { + println!("cargo:warning=Using cached revive_chain.scale metadata"); + return; + } + + ExtBuilder::::default().build().execute_with(|| { + let metadata = Runtime::metadata_at_version(16).unwrap(); + let bytes: &[u8] = &metadata; + fs::write(metadata_path, bytes).unwrap(); + }); + + println!("cargo:rerun-if-changed={}", metadata_path.display()); + println!("cargo:warning=Successfully generated metadata from runtime"); } diff --git a/substrate/frame/revive/rpc/revive_chain.metadata b/substrate/frame/revive/rpc/revive_chain.metadata deleted file mode 100644 index cb98c4653acced703a2a99b134af5e373a0db154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 694304 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

o&c8YCh1AEGh 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 Date: Mon, 29 Sep 2025 13:45:14 +0200 Subject: [PATCH 02/29] taplo fmt --- substrate/frame/revive/rpc/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index 6c0312da1aedf..1a7b78b60fd73 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -52,7 +52,7 @@ static_init = { workspace = true } substrate-cli-test-utils = { workspace = true } [build-dependencies] -git2 = { workspace = true } asset-hub-westend-runtime = { workspace = true } +git2 = { workspace = true } parachains-runtimes-test-utils = { workspace = true } sp-runtime = { workspace = true, default-features = true } From 075af8fd94e113a4142cb3d29d57c6273bcfba00 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Mon, 29 Sep 2025 14:00:14 +0200 Subject: [PATCH 03/29] rm --- substrate/frame/revive/rpc/revive_chain.metadata | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 substrate/frame/revive/rpc/revive_chain.metadata diff --git a/substrate/frame/revive/rpc/revive_chain.metadata b/substrate/frame/revive/rpc/revive_chain.metadata deleted file mode 100644 index e69de29bb2d1d..0000000000000 From 113cc8d2477b60a764ae9a3967d928b6307ec0a1 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Mon, 29 Sep 2025 14:02:01 +0200 Subject: [PATCH 04/29] fix --- substrate/frame/revive/rpc/build.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 56a37652261d8..0636cac2772d6 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -14,6 +14,8 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. +use asset_hub_westend_runtime::Runtime; +use parachains_runtimes_test_utils::ExtBuilder; use std::{fs, path::Path, process::Command}; /// Get the current branch and commit hash. @@ -52,11 +54,8 @@ fn main() { } fn generate_metadata_file() { - use asset_hub_westend_runtime::Runtime; - use parachains_runtimes_test_utils::ExtBuilder; let metadata_path = Path::new("revive_chain.scale"); - // use existing metadata if present if metadata_path.exists() { println!("cargo:warning=Using cached revive_chain.scale metadata"); return; @@ -69,5 +68,5 @@ fn generate_metadata_file() { }); println!("cargo:rerun-if-changed={}", metadata_path.display()); - println!("cargo:warning=Successfully generated metadata from runtime"); + println!("cargo:warning=Updated revive_chain.scale metadata"); } From b2c9f2d87b8ac14e6e2fb6c7629c37312d03a9f0 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Mon, 29 Sep 2025 14:02:26 +0200 Subject: [PATCH 05/29] nit --- substrate/frame/revive/rpc/build.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 0636cac2772d6..f8f26a95e042f 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -49,7 +49,6 @@ fn main() { println!("cargo:rustc-env=TARGET={target}"); println!("cargo:rustc-env=GIT_REVISION={branch}-{id}"); - // Generate metadata generate_metadata_file(); } From dbcde821fb70264553329d5f763ddf4d54841c2e Mon Sep 17 00:00:00 2001 From: pgherveou Date: Mon, 29 Sep 2025 14:04:03 +0200 Subject: [PATCH 06/29] refactor --- substrate/frame/revive/rpc/build.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index f8f26a95e042f..b82a3e9fe7742 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -18,8 +18,12 @@ use asset_hub_westend_runtime::Runtime; use parachains_runtimes_test_utils::ExtBuilder; use std::{fs, path::Path, process::Command}; -/// Get the current branch and commit hash. fn main() { + generate_version_hash(); + generate_metadata_file(); +} + +fn generate_git_revision() { let output = Command::new("rustc") .arg("--version") .output() @@ -48,8 +52,6 @@ fn main() { println!("cargo:rustc-env=RUSTC_VERSION={rustc_version}"); println!("cargo:rustc-env=TARGET={target}"); println!("cargo:rustc-env=GIT_REVISION={branch}-{id}"); - - generate_metadata_file(); } fn generate_metadata_file() { From c1a4cf5c4fedd3510df02af64283e55df5e18962 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Mon, 29 Sep 2025 23:40:02 +0200 Subject: [PATCH 07/29] fix --- substrate/frame/revive/rpc/build.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index b82a3e9fe7742..893817a4b9314 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -19,7 +19,7 @@ use parachains_runtimes_test_utils::ExtBuilder; use std::{fs, path::Path, process::Command}; fn main() { - generate_version_hash(); + generate_git_revision(); generate_metadata_file(); } From be73d204746111edafdeb4e1ea4642fc99aefc19 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Tue, 30 Sep 2025 17:47:07 +0200 Subject: [PATCH 08/29] fix use runtime-path --- Cargo.lock | 3224 +++++++++++------ substrate/frame/revive/rpc/Cargo.toml | 6 +- substrate/frame/revive/rpc/build.rs | 58 +- .../frame/revive/rpc/src/subxt_client.rs | 2 +- 4 files changed, 2118 insertions(+), 1172 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 15a25ea359eea..9deb5836c6f4b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,6 +12,15 @@ dependencies = [ "regex", ] +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.3", +] + [[package]] name = "addr2line" version = "0.21.0" @@ -1161,7 +1170,7 @@ dependencies = [ "rococo-runtime-constants", "rococo-system-emulated-network", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", "xcm-runtime-apis", @@ -1228,7 +1237,7 @@ dependencies = [ "rococo-runtime-constants", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -1236,12 +1245,12 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1292,7 +1301,7 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-common", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -1393,25 +1402,25 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-pallet-system-frontend", "snowbridge-runtime-common", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1443,8 +1452,8 @@ dependencies = [ "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1469,9 +1478,9 @@ dependencies = [ "parachains-common", "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1904,7 +1913,18 @@ dependencies = [ "log", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", +] + +[[package]] +name = "binary-merkle-tree" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "181f5380e435b8ba6d901f8b16fc8908c6f0f8bea8973113d1c8718d89bb1809" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", ] [[package]] @@ -2205,7 +2225,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "staging-xcm", "testnet-parachains-constants", @@ -2222,7 +2242,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "staging-xcm", "testnet-parachains-constants", @@ -2232,7 +2252,7 @@ dependencies = [ name = "bp-beefy" version = "0.1.0" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bp-runtime", "frame-support", "pallet-beefy-mmr", @@ -2241,7 +2261,7 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2256,7 +2276,7 @@ dependencies = [ "frame-system", "parachains-common", "polkadot-primitives", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -2270,8 +2290,8 @@ dependencies = [ "bp-xcm-bridge-hub", "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2285,8 +2305,8 @@ dependencies = [ "bp-xcm-bridge-hub", "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2305,7 +2325,7 @@ dependencies = [ "serde", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2322,7 +2342,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-std 14.0.0", ] @@ -2338,7 +2358,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2354,8 +2374,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2372,7 +2392,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2390,7 +2410,7 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -2402,7 +2422,7 @@ dependencies = [ "bp-polkadot-core", "bp-runtime", "frame-support", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -2420,11 +2440,11 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0", - "sp-trie", + "sp-trie 29.0.0", "tracing", "trie-db", ] @@ -2440,12 +2460,12 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -2456,7 +2476,7 @@ dependencies = [ "bp-polkadot-core", "bp-runtime", "frame-support", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -2471,7 +2491,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-std 14.0.0", "staging-xcm", ] @@ -2483,7 +2503,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", ] @@ -2498,7 +2518,7 @@ dependencies = [ "scale-info", "snowbridge-core", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -2548,7 +2568,7 @@ dependencies = [ "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2633,21 +2653,21 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-runtime-test-common", "snowbridge-system-runtime-api", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2688,9 +2708,9 @@ dependencies = [ "parachains-runtimes-test-utils", "parity-scale-codec", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "sp-tracing 16.0.0", "staging-xcm", @@ -2750,8 +2770,8 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-pallet-system-v2", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2840,21 +2860,21 @@ dependencies = [ "snowbridge-runtime-test-common", "snowbridge-system-runtime-api", "snowbridge-system-v2-runtime-api", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2889,11 +2909,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", - "sp-weights", + "sp-trie 29.0.0", + "sp-weights 27.0.0", "staging-xcm", "static_assertions", "tracing", @@ -3153,11 +3173,11 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-genesis-builder", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-wasm-builder", ] @@ -3396,7 +3416,7 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", "westend-runtime-constants", @@ -3457,22 +3477,22 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3737,7 +3757,7 @@ dependencies = [ "polkadot-runtime-parachains", "rococo-runtime-constants", "rococo-system-emulated-network", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", ] @@ -3787,7 +3807,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -3795,11 +3815,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3833,7 +3853,7 @@ dependencies = [ "pallet-broker", "pallet-message-queue", "polkadot-runtime-parachains", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", "westend-runtime-constants", @@ -3885,7 +3905,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -3893,11 +3913,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3909,6 +3929,15 @@ dependencies = [ "xcm-runtime-apis", ] +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + [[package]] name = "cpp_demangle" version = "0.4.3" @@ -3955,13 +3984,22 @@ dependencies = [ "cranelift-srcgen", ] +[[package]] +name = "cranelift-bforest" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70" +dependencies = [ + "cranelift-entity 0.95.1", +] + [[package]] name = "cranelift-bforest" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7086a645aa58bae979312f64e3029ac760ac1b577f5cd2417844842a2ca07f" dependencies = [ - "cranelift-entity", + "cranelift-entity 0.122.0", ] [[package]] @@ -3974,6 +4012,26 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "cranelift-codegen" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220" +dependencies = [ + "bumpalo", + "cranelift-bforest 0.95.1", + "cranelift-codegen-meta 0.95.1", + "cranelift-codegen-shared 0.95.1", + "cranelift-entity 0.95.1", + "cranelift-isle 0.95.1", + "gimli 0.27.3", + "hashbrown 0.13.2", + "log", + "regalloc2 0.6.1", + "smallvec", + "target-lexicon 0.12.16", +] + [[package]] name = "cranelift-codegen" version = "0.122.0" @@ -3982,13 +4040,13 @@ checksum = "858fb3331e53492a95979378d6df5208dd1d0d315f19c052be8115f4efc888e0" dependencies = [ "bumpalo", "cranelift-assembler-x64", - "cranelift-bforest", + "cranelift-bforest 0.122.0", "cranelift-bitset", - "cranelift-codegen-meta", - "cranelift-codegen-shared", + "cranelift-codegen-meta 0.122.0", + "cranelift-codegen-shared 0.122.0", "cranelift-control", - "cranelift-entity", - "cranelift-isle", + "cranelift-entity 0.122.0", + "cranelift-isle 0.122.0", "gimli 0.31.1", "hashbrown 0.15.3", "log", @@ -3997,10 +4055,19 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "smallvec", - "target-lexicon", + "target-lexicon 0.13.2", "wasmtime-internal-math", ] +[[package]] +name = "cranelift-codegen-meta" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da" +dependencies = [ + "cranelift-codegen-shared 0.95.1", +] + [[package]] name = "cranelift-codegen-meta" version = "0.122.0" @@ -4008,11 +4075,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456715b9d5f12398f156d5081096e7b5d039f01b9ecc49790a011c8e43e65b5f" dependencies = [ "cranelift-assembler-x64-meta", - "cranelift-codegen-shared", + "cranelift-codegen-shared 0.122.0", "cranelift-srcgen", "pulley-interpreter", ] +[[package]] +name = "cranelift-codegen-shared" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8" + [[package]] name = "cranelift-codegen-shared" version = "0.122.0" @@ -4028,6 +4101,15 @@ dependencies = [ "arbitrary", ] +[[package]] +name = "cranelift-entity" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" +dependencies = [ + "serde", +] + [[package]] name = "cranelift-entity" version = "0.122.0" @@ -4039,33 +4121,62 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "cranelift-frontend" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" +dependencies = [ + "cranelift-codegen 0.95.1", + "log", + "smallvec", + "target-lexicon 0.12.16", +] + [[package]] name = "cranelift-frontend" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "781f9905f8139b8de22987b66b522b416fe63eb76d823f0b3a8c02c8fd9500c7" dependencies = [ - "cranelift-codegen", + "cranelift-codegen 0.122.0", "log", "smallvec", - "target-lexicon", + "target-lexicon 0.13.2", ] +[[package]] +name = "cranelift-isle" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba" + [[package]] name = "cranelift-isle" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a05337a2b02c3df00b4dd9a263a027a07b3dff49f61f7da3b5d195c21eaa633d" +[[package]] +name = "cranelift-native" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00" +dependencies = [ + "cranelift-codegen 0.95.1", + "libc", + "target-lexicon 0.12.16", +] + [[package]] name = "cranelift-native" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eee7a496dd66380082c9c5b6f2d5fa149cec0ec383feec5caf079ca2b3671c2" dependencies = [ - "cranelift-codegen", + "cranelift-codegen 0.122.0", "libc", - "target-lexicon", + "target-lexicon 0.13.2", ] [[package]] @@ -4074,6 +4185,22 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b530783809a55cb68d070e0de60cfbb3db0dc94c8850dd5725411422bedcf6bb" +[[package]] +name = "cranelift-wasm" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac" +dependencies = [ + "cranelift-codegen 0.95.1", + "cranelift-entity 0.95.1", + "cranelift-frontend 0.95.1", + "itertools 0.10.5", + "log", + "smallvec", + "wasmparser 0.102.0", + "wasmtime-types", +] + [[package]] name = "crc" version = "3.2.1" @@ -4171,7 +4298,7 @@ dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset", + "memoffset 0.9.0", "scopeguard", ] @@ -4293,7 +4420,7 @@ dependencies = [ "sc-network", "sc-service", "sp-consensus-babe", - "sp-runtime", + "sp-runtime 31.0.1", "tokio", ] @@ -4309,7 +4436,7 @@ dependencies = [ "sc-service", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "url", ] @@ -4333,12 +4460,12 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "sc-client-api", - "sp-api", + "sp-api 26.0.0", "sp-consensus", "sp-core 28.0.0", - "sp-maybe-compressed-blob", - "sp-runtime", - "sp-state-machine", + "sp-maybe-compressed-blob 11.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "tracing", ] @@ -4374,8 +4501,8 @@ dependencies = [ "sc-telemetry", "sc-utils", "schnellru", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -4383,13 +4510,13 @@ dependencies = [ "sp-core 28.0.0", "sp-inherents", "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-state-machine", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -4421,11 +4548,11 @@ dependencies = [ "sp-consensus", "sp-consensus-slots", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "substrate-prometheus-endpoint", "tracing", ] @@ -4440,12 +4567,12 @@ dependencies = [ "sc-basic-authorship", "sc-block-builder", "sc-transaction-pool-api", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "thiserror 1.0.65", ] @@ -4460,13 +4587,13 @@ dependencies = [ "futures", "parking_lot 0.12.3", "sc-consensus", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "tracing", ] @@ -4493,15 +4620,15 @@ dependencies = [ "rstest", "sc-client-api", "sc-network", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-version", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-version 29.0.0", "tokio", "tracing", ] @@ -4520,8 +4647,8 @@ dependencies = [ "sc-consensus-babe", "sp-crypto-hashing 0.1.0", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "tracing", ] @@ -4549,13 +4676,13 @@ dependencies = [ "sc-consensus", "sc-network", "sc-utils", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", - "sp-maybe-compressed-blob", - "sp-runtime", + "sp-maybe-compressed-blob 11.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "tokio", "tracing", ] @@ -4590,12 +4717,12 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-utils", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-transaction-pool", ] @@ -4613,12 +4740,12 @@ dependencies = [ "parity-scale-codec", "rstest", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-version", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", ] [[package]] @@ -4633,8 +4760,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", ] @@ -4668,21 +4795,21 @@ dependencies = [ "rstest", "sc-consensus", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "trie-db", @@ -4708,7 +4835,7 @@ dependencies = [ "frame-system", "pallet-session", "parity-scale-codec", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -4722,7 +4849,7 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -4739,9 +4866,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-trie", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -4753,8 +4880,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", ] @@ -4777,8 +4904,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4795,7 +4922,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", ] @@ -4809,10 +4936,10 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sc-executor", + "sc-executor 0.32.0", "sp-core 28.0.0", - "sp-io", - "sp-maybe-compressed-blob", + "sp-io 30.0.0", + "sp-maybe-compressed-blob 11.0.0", "tracing", "tracing-subscriber 0.3.18", ] @@ -4821,7 +4948,7 @@ dependencies = [ name = "cumulus-primitives-aura" version = "0.7.0" dependencies = [ - "sp-api", + "sp-api 26.0.0", "sp-consensus-aura", ] @@ -4834,9 +4961,9 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "scale-info", - "sp-api", - "sp-runtime", - "sp-trie", + "sp-api 26.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", "staging-xcm", "tracing", ] @@ -4851,7 +4978,7 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -4860,10 +4987,10 @@ version = "0.2.0" dependencies = [ "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", ] [[package]] @@ -4880,9 +5007,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-trie", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -4904,7 +5031,7 @@ dependencies = [ "pallet-asset-conversion", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4932,12 +5059,12 @@ dependencies = [ "sc-sysinfo", "sc-telemetry", "sc-tracing", - "sp-api", + "sp-api 26.0.0", "sp-consensus", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", ] [[package]] @@ -4952,10 +5079,10 @@ dependencies = [ "polkadot-overseer", "sc-client-api", "sc-network", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", - "sp-state-machine", - "sp-version", + "sp-state-machine 0.35.0", + "sp-version 29.0.0", "thiserror 1.0.65", ] @@ -4985,11 +5112,11 @@ dependencies = [ "sc-service", "sc-tracing", "sc-utils", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "tracing", ] @@ -5017,10 +5144,10 @@ dependencies = [ "sp-authority-discovery", "sp-consensus-babe", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", - "sp-version", + "sp-version 29.0.0", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -5035,7 +5162,7 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-primitives", - "sp-api", + "sp-api 26.0.0", "sp-consensus", "tracing", ] @@ -5060,19 +5187,19 @@ dependencies = [ "sc-block-builder", "sc-consensus", "sc-consensus-aura", - "sc-executor", - "sc-executor-common", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", "sc-service", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-blockchain", "sp-consensus-aura", "sp-core 28.0.0", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "substrate-test-client", ] @@ -5084,9 +5211,9 @@ dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", ] [[package]] @@ -5114,19 +5241,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "substrate-wasm-builder", ] @@ -5177,9 +5304,9 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-consensus-aura", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-wasmtime 0.29.0", "sc-network", "sc-service", "sc-telemetry", @@ -5188,17 +5315,17 @@ dependencies = [ "sc-transaction-pool-api", "serde", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "sp-tracing 16.0.0", "substrate-test-client", @@ -5738,7 +5865,7 @@ dependencies = [ "regex", "syn 2.0.98", "termcolor", - "toml", + "toml 0.8.19", "walkdir", ] @@ -5959,7 +6086,7 @@ dependencies = [ "sp-consensus-beefy", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -6278,6 +6405,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fallible-iterator" version = "0.3.0" @@ -6408,6 +6541,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "file-per-thread-logger" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" +dependencies = [ + "env_logger 0.10.1", + "log", +] + [[package]] name = "filetime" version = "0.2.22" @@ -6610,15 +6753,15 @@ dependencies = [ "sc-client-db", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "static_assertions", ] @@ -6655,15 +6798,15 @@ dependencies = [ "sc-cli", "sc-client-api", "sc-client-db", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-wasmtime 0.29.0", "sc-runtime-utilities", "sc-service", "sc-sysinfo", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-blockchain", "sp-core 28.0.0", @@ -6671,16 +6814,16 @@ dependencies = [ "sp-externalities 0.25.0", "sp-genesis-builder", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "sp-timestamp", "sp-transaction-pool", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "sp-wasm-interface 20.0.0", "substrate-test-runtime", "subxt 0.43.0", @@ -6699,8 +6842,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -6742,7 +6885,7 @@ dependencies = [ "proc-macro2 1.0.95", "quote 1.0.40", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "syn 2.0.98", "trybuild", ] @@ -6757,11 +6900,11 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -6774,8 +6917,8 @@ dependencies = [ "frame-support", "honggfuzz", "parity-scale-codec", - "sp-arithmetic", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -6794,10 +6937,10 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "substrate-test-runtime-client", ] @@ -6839,8 +6982,8 @@ dependencies = [ "merkleized-metadata", "parity-scale-codec", "scale-info", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "sp-transaction-pool", "substrate-test-runtime-client", @@ -6859,7 +7002,7 @@ dependencies = [ "sc-chain-spec", "sc-cli", "sp-genesis-builder", - "sp-runtime", + "sp-runtime 31.0.1", "sp-statement-store", "tempfile", "tracing-subscriber 0.3.18", @@ -6877,9 +7020,9 @@ dependencies = [ "serde", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "spinners", "substrate-rpc-client", @@ -6894,9 +7037,9 @@ dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", "substrate-wasm-builder", ] @@ -6907,7 +7050,7 @@ dependencies = [ "Inflector", "aquamarine", "array-bytes 6.2.2", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitflags 1.3.2", "docify", "environmental", @@ -6924,24 +7067,24 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-crypto-hashing-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0", "sp-debug-derive 14.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", - "sp-metadata-ir", - "sp-runtime", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", - "sp-weights", + "sp-trie 29.0.0", + "sp-weights 27.0.0", "tt-call", ] @@ -6968,9 +7111,9 @@ dependencies = [ "regex", "scale-info", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-metadata-ir", - "sp-runtime", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", "syn 2.0.98", ] @@ -7009,14 +7152,14 @@ dependencies = [ "rustversion", "scale-info", "serde", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-metadata-ir", - "sp-runtime", - "sp-state-machine", - "sp-version", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-version 29.0.0", "static_assertions", "trybuild", ] @@ -7030,8 +7173,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", - "sp-version", + "sp-runtime 31.0.1", + "sp-version 29.0.0", ] [[package]] @@ -7043,7 +7186,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -7069,10 +7212,10 @@ dependencies = [ "serde", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", - "sp-runtime", - "sp-version", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", + "sp-weights 27.0.0", "substrate-test-runtime-client", ] @@ -7087,9 +7230,9 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io", - "sp-runtime", - "sp-version", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", ] [[package]] @@ -7098,7 +7241,7 @@ version = "26.0.0" dependencies = [ "docify", "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", ] [[package]] @@ -7107,8 +7250,8 @@ version = "0.34.0" dependencies = [ "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -7430,6 +7573,17 @@ dependencies = [ "polyval", ] +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +dependencies = [ + "fallible-iterator 0.2.0", + "indexmap 1.9.3", + "stable_deref_trait", +] + [[package]] name = "gimli" version = "0.28.0" @@ -7442,7 +7596,7 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" dependencies = [ - "fallible-iterator", + "fallible-iterator 0.3.0", "indexmap 2.9.0", "stable_deref_trait", ] @@ -7543,7 +7697,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -7551,11 +7705,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -7588,7 +7742,7 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "westend-runtime", "westend-system-emulated-network", @@ -9866,6 +10020,12 @@ dependencies = [ "nalgebra", ] +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -10038,6 +10198,15 @@ dependencies = [ "libc", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "mach2" version = "0.4.2" @@ -10180,6 +10349,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.9.0" @@ -10189,6 +10367,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memory-db" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" +dependencies = [ + "hash-db", +] + [[package]] name = "memory-db" version = "0.34.0" @@ -10240,7 +10427,7 @@ dependencies = [ "num-traits", "parking_lot 0.12.3", "relay-utils", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", ] @@ -10337,13 +10524,13 @@ dependencies = [ "sc-block-builder", "sc-client-api", "sc-offchain", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-beefy", "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime-client", "tokio", @@ -10357,11 +10544,11 @@ dependencies = [ "parity-scale-codec", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -10730,11 +10917,11 @@ dependencies = [ "sp-consensus", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie", + "sp-trie 29.0.0", "tempfile", ] @@ -10743,7 +10930,7 @@ name = "node-primitives" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -10766,15 +10953,15 @@ dependencies = [ "sc-rpc", "sc-sync-state-rpc", "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-statement-store", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", @@ -10822,9 +11009,9 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor", + "sc-executor 0.32.0", "sc-service", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -10832,7 +11019,7 @@ dependencies = [ "sp-crypto-hashing 0.1.0", "sp-inherents", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", "staging-node-cli", "substrate-test-client", @@ -11067,6 +11254,18 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +[[package]] +name = "object" +version = "0.30.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +dependencies = [ + "crc32fast", + "hashbrown 0.13.2", + "indexmap 1.9.3", + "memchr", +] + [[package]] name = "object" version = "0.32.2" @@ -11273,10 +11472,10 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -11323,8 +11522,8 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11340,11 +11539,11 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11361,10 +11560,10 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11380,8 +11579,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11395,8 +11594,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11412,11 +11611,11 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -11434,8 +11633,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11453,8 +11652,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11482,8 +11681,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11506,11 +11705,11 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11523,11 +11722,11 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11540,8 +11739,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11562,11 +11761,11 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-babe", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-tracing 16.0.0", @@ -11587,8 +11786,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -11613,7 +11812,7 @@ dependencies = [ "pallet-bags-list", "pallet-staking", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -11630,8 +11829,8 @@ dependencies = [ "paste", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11654,11 +11853,11 @@ dependencies = [ "serde", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", ] @@ -11667,7 +11866,7 @@ name = "pallet-beefy-mmr" version = "28.0.0" dependencies = [ "array-bytes 6.2.2", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "frame-benchmarking", "frame-support", "frame-system", @@ -11679,13 +11878,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", + "sp-api 26.0.0", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", ] [[package]] @@ -11701,8 +11900,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11723,8 +11922,8 @@ dependencies = [ "serde", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "tracing", ] @@ -11743,8 +11942,8 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "tracing", ] @@ -11765,10 +11964,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", + "sp-trie 29.0.0", "tracing", ] @@ -11788,8 +11987,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "tracing", ] @@ -11816,10 +12015,10 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "tracing", ] @@ -11835,11 +12034,11 @@ dependencies = [ "parity-scale-codec", "pretty_assertions", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -11857,8 +12056,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11878,8 +12077,8 @@ dependencies = [ "rand 0.8.5", "scale-info", "sp-consensus-aura", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -11897,8 +12096,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11911,8 +12110,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -11943,11 +12142,11 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -11963,9 +12162,9 @@ dependencies = [ "anyhow", "frame-system", "parity-wasm", - "sp-runtime", + "sp-runtime 31.0.1", "tempfile", - "toml", + "toml 0.8.19", "twox-hash 1.6.3", ] @@ -11988,11 +12187,11 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -12032,8 +12231,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12047,10 +12246,10 @@ dependencies = [ "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12062,8 +12261,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12082,8 +12281,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12103,8 +12302,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12119,8 +12318,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -12138,8 +12337,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12153,11 +12352,11 @@ dependencies = [ "pallet-people", "parity-scale-codec", "scale-info", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "verifiable", ] @@ -12181,9 +12380,9 @@ dependencies = [ "parking_lot 0.12.3", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12202,11 +12401,11 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "sp-tracing 16.0.0", ] @@ -12227,11 +12426,11 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "strum 0.26.3", "tokio", @@ -12246,7 +12445,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -12261,9 +12460,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -12282,9 +12481,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -12299,8 +12498,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12324,8 +12523,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12339,7 +12538,7 @@ dependencies = [ "pallet-migrations", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 30.0.0", ] [[package]] @@ -12353,9 +12552,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12370,9 +12569,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-version", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-version 29.0.0", ] [[package]] @@ -12386,7 +12585,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", ] [[package]] @@ -12400,8 +12599,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12416,9 +12615,9 @@ dependencies = [ "pretty_assertions", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-metadata-ir", - "sp-runtime", + "sp-io 30.0.0", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12455,8 +12654,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12474,8 +12673,8 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12497,12 +12696,12 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-tracing 16.0.0", @@ -12521,9 +12720,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12539,10 +12738,10 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -12557,8 +12756,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12583,8 +12782,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12598,8 +12797,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12616,13 +12815,13 @@ dependencies = [ "rand_distr", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-weights", + "sp-weights 27.0.0", ] [[package]] @@ -12640,10 +12839,10 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -12663,8 +12862,8 @@ dependencies = [ "pretty_assertions", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -12686,7 +12885,7 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-mixnet", ] @@ -12740,9 +12939,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12750,7 +12949,7 @@ name = "pallet-nfts-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", ] [[package]] @@ -12761,7 +12960,7 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-io", + "sp-io 30.0.0", ] [[package]] @@ -12785,8 +12984,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12809,8 +13008,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-staking", ] @@ -12825,8 +13024,8 @@ dependencies = [ "log", "pallet-nomination-pools", "rand 0.8.5", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -12836,7 +13035,7 @@ version = "23.0.0" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", ] [[package]] @@ -12857,8 +13056,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12874,8 +13073,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -12900,8 +13099,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", ] @@ -12917,9 +13116,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto", - "sp-io", - "sp-runtime", + "sp-application-crypto 30.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -12929,7 +13128,7 @@ version = "1.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -12944,10 +13143,10 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -12958,7 +13157,7 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-metadata-ir", + "sp-metadata-ir 0.6.0", ] [[package]] @@ -12995,8 +13194,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13009,10 +13208,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "verifiable", ] @@ -13028,8 +13227,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13054,10 +13253,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13085,10 +13284,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13102,8 +13301,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13149,15 +13348,15 @@ dependencies = [ "secp256k1 0.28.2", "serde", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-bn", "subxt-signer 0.43.0", @@ -13169,7 +13368,6 @@ name = "pallet-revive-eth-rpc" version = "0.1.0" dependencies = [ "anyhow", - "asset-hub-westend-runtime", "clap", "env_logger 0.11.3", "futures", @@ -13179,7 +13377,6 @@ dependencies = [ "log", "pallet-revive", "pallet-revive-fixtures", - "parachains-runtimes-test-utils", "parity-scale-codec", "pretty_assertions", "rlp 0.6.1", @@ -13188,16 +13385,17 @@ dependencies = [ "sc-rpc-api", "sc-service", "serde_json", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-rpc", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "sqlx", "static_init", "substrate-cli-test-utils", "substrate-prometheus-endpoint", + "substrate-wasm-builder", "subxt 0.43.0", "subxt-signer 0.43.0", "thiserror 1.0.65", @@ -13216,8 +13414,8 @@ dependencies = [ "polkavm-linker 0.27.0", "serde_json", "sp-core 28.0.0", - "sp-io", - "toml", + "sp-io 30.0.0", + "toml 0.8.19", ] [[package]] @@ -13258,8 +13456,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -13271,8 +13469,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13313,8 +13511,8 @@ dependencies = [ "sp-consensus-sassafras", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13330,9 +13528,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "substrate-test-utils", ] @@ -13345,8 +13543,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13362,12 +13560,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", ] [[package]] @@ -13386,8 +13584,8 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", ] @@ -13400,7 +13598,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -13416,10 +13614,10 @@ dependencies = [ "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13441,11 +13639,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -13470,11 +13668,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -13495,8 +13693,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -13585,25 +13783,25 @@ dependencies = [ "primitive-types 0.13.1", "scale-info", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -13636,7 +13834,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "staging-xcm", ] @@ -13646,7 +13844,7 @@ name = "pallet-staking-async-rc-runtime" version = "7.0.0" dependencies = [ "approx", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -13716,9 +13914,9 @@ dependencies = [ "serde_derive", "serde_json", "smallvec", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -13727,18 +13925,18 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -13757,8 +13955,8 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -13768,7 +13966,7 @@ name = "pallet-staking-async-reward-fn" version = "19.0.0" dependencies = [ "log", - "sp-arithmetic", + "sp-arithmetic 23.0.0", ] [[package]] @@ -13776,7 +13974,7 @@ name = "pallet-staking-async-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-staking", ] @@ -13787,7 +13985,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2 1.0.95", "quote 1.0.40", - "sp-runtime", + "sp-runtime 31.0.1", "syn 2.0.98", ] @@ -13796,7 +13994,7 @@ name = "pallet-staking-reward-fn" version = "19.0.0" dependencies = [ "log", - "sp-arithmetic", + "sp-arithmetic 23.0.0", ] [[package]] @@ -13804,7 +14002,7 @@ name = "pallet-staking-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-staking", ] @@ -13822,8 +14020,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-state-trie-migration-rpc", "thousands", @@ -13841,10 +14039,10 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-statement-store", ] @@ -13858,8 +14056,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13872,8 +14070,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13888,8 +14086,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-storage 19.0.0", "sp-timestamp", ] @@ -13908,8 +14106,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-storage 19.0.0", ] @@ -13925,8 +14123,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13936,12 +14134,12 @@ dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -13950,9 +14148,9 @@ version = "28.0.0" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-weights", + "sp-api 26.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -13969,8 +14167,8 @@ dependencies = [ "scale-info", "serde", "sp-inherents", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-transaction-storage-proof", ] @@ -13990,8 +14188,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14018,8 +14216,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14036,8 +14234,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14049,9 +14247,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -14065,8 +14263,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14099,8 +14297,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -14120,8 +14318,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -14146,8 +14344,8 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -14167,8 +14365,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -14237,8 +14435,8 @@ dependencies = [ "scale-info", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -14280,8 +14478,8 @@ dependencies = [ "polkadot-parachain-primitives", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-parachain-info", "staging-xcm", @@ -14531,7 +14729,7 @@ dependencies = [ "scale-info", "serde_json", "smallvec", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -14539,11 +14737,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -14577,7 +14775,7 @@ dependencies = [ "pallet-balances", "parachains-common", "rococo-system-emulated-network", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", ] @@ -14628,7 +14826,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -14636,11 +14834,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -14676,7 +14874,7 @@ dependencies = [ "pallet-xcm", "parachains-common", "parity-scale-codec", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-executor", "westend-runtime", @@ -14728,7 +14926,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -14736,12 +14934,12 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-statement-store", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -14984,7 +15182,7 @@ dependencies = [ "rand_core 0.6.4", "sc-keystore", "schnorrkel 0.11.4", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", "sp-tracing 16.0.0", @@ -15007,11 +15205,11 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "rand_chacha 0.3.1", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "tracing-gum", ] @@ -15040,7 +15238,7 @@ dependencies = [ "schnellru", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15108,7 +15306,7 @@ dependencies = [ "sc-tracing", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-build-script-utils", "thiserror 1.0.65", ] @@ -15137,8 +15335,8 @@ dependencies = [ "schnellru", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "thiserror 1.0.65", "tokio", @@ -15153,7 +15351,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -15177,9 +15375,9 @@ dependencies = [ "polkadot-primitives-test-helpers", "sc-keystore", "sc-network", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15196,7 +15394,7 @@ dependencies = [ "quickcheck", "reed-solomon-novelpoly", "sp-core 28.0.0", - "sp-trie", + "sp-trie 29.0.0", "thiserror 1.0.65", ] @@ -15218,13 +15416,13 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "sc-network", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-consensus-babe", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "tracing-gum", ] @@ -15309,14 +15507,14 @@ dependencies = [ "sc-keystore", "schnellru", "schnorrkel 0.11.4", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15398,10 +15596,10 @@ dependencies = [ "polkadot-statement-table", "sc-keystore", "schnellru", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15417,7 +15615,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "polkadot-primitives-test-helpers", - "sp-keystore", + "sp-keystore 0.34.0", "thiserror 1.0.65", "tracing-gum", "wasm-timer", @@ -15443,11 +15641,11 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "rstest", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-maybe-compressed-blob", + "sp-keystore 0.34.0", + "sp-maybe-compressed-blob 11.0.0", "tracing-gum", ] @@ -15510,10 +15708,10 @@ dependencies = [ "polkadot-subsystem-bench", "sc-keystore", "schnellru", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15571,8 +15769,8 @@ dependencies = [ "polkadot-primitives-test-helpers", "sc-consensus-slots", "schnellru", - "sp-application-crypto", - "sp-keystore", + "sp-application-crypto 30.0.0", + "sp-keystore 0.34.0", "thiserror 1.0.65", "tracing-gum", ] @@ -15609,7 +15807,7 @@ dependencies = [ "sc-tracing", "slotmap", "sp-core 28.0.0", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "strum 0.26.3", "tempfile", "test-parachain-adder", @@ -15631,11 +15829,11 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "sc-keystore", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "tracing-gum", ] @@ -15653,14 +15851,14 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-wasmtime 0.29.0", "seccompiler", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-io", + "sp-io 30.0.0", "sp-tracing 16.0.0", "tempfile", "thiserror 1.0.65", @@ -15680,7 +15878,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "tracing-gum", ] @@ -15696,7 +15894,7 @@ dependencies = [ "polkadot-node-core-pvf-common", "polkadot-primitives", "rococo-runtime", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "staging-tracking-allocator", "tikv-jemalloc-ctl", "tikv-jemallocator", @@ -15717,7 +15915,7 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "schnellru", - "sp-api", + "sp-api 26.0.0", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", @@ -15766,7 +15964,7 @@ dependencies = [ "sc-authority-discovery", "sc-network", "sc-network-types", - "sp-runtime", + "sp-runtime 31.0.1", "strum 0.26.3", "thiserror 1.0.65", "tracing-gum", @@ -15786,11 +15984,11 @@ dependencies = [ "sc-keystore", "schnorrkel 0.11.4", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-babe", "sp-consensus-slots", - "sp-keystore", - "sp-maybe-compressed-blob", + "sp-keystore 0.34.0", + "sp-maybe-compressed-blob 11.0.0", "thiserror 1.0.65", "zstd 0.12.4", ] @@ -15818,10 +16016,10 @@ dependencies = [ "sc-client-api", "sc-keystore", "sc-utils", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", ] [[package]] @@ -15842,11 +16040,11 @@ dependencies = [ "sc-network-types", "sc-transaction-pool-api", "smallvec", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", "sp-blockchain", "sp-consensus-babe", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror 1.0.65", ] @@ -15877,9 +16075,9 @@ dependencies = [ "prioritized-metered-channel", "rand 0.8.5", "schnellru", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "tempfile", "thiserror 1.0.65", "tracing-gum", @@ -15941,7 +16139,7 @@ dependencies = [ "sc-client-db", "sc-consensus", "sc-consensus-manual-seal", - "sc-executor", + "sc-executor 0.32.0", "sc-keystore", "sc-network", "sc-network-statement", @@ -15959,23 +16157,23 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-keystore", + "sp-keystore 0.34.0", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-statement-store", "sp-storage 19.0.0", "sp-timestamp", "sp-transaction-pool", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-chain-spec-builder", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", @@ -16058,8 +16256,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -16075,16 +16273,16 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0", "thiserror 1.0.65", @@ -16099,10 +16297,10 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -16124,15 +16322,15 @@ dependencies = [ "sc-rpc", "sc-sync-state-rpc", "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -16175,14 +16373,14 @@ dependencies = [ "serde", "serde_json", "slot-range-helper", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "staging-xcm", @@ -16240,16 +16438,16 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0", @@ -16266,7 +16464,7 @@ version = "0.1.0" dependencies = [ "asset-test-utils", "assets-common", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bp-header-chain", "bp-messages", "bp-parachains", @@ -16510,7 +16708,7 @@ dependencies = [ "polkadot-service", "polkadot-statement-distribution", "polkadot-statement-table", - "sc-allocator", + "sc-allocator 23.0.0", "sc-authority-discovery", "sc-basic-authorship", "sc-block-builder", @@ -16531,10 +16729,10 @@ dependencies = [ "sc-consensus-manual-seal", "sc-consensus-pow", "sc-consensus-slots", - "sc-executor", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sc-executor-polkavm 0.29.0", + "sc-executor-wasmtime 0.29.0", "sc-informant", "sc-keystore", "sc-mixnet", @@ -16566,10 +16764,10 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "slot-range-helper", - "sp-api", - "sp-api-proc-macro", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-api-proc-macro 15.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-blockchain", @@ -16585,29 +16783,29 @@ dependencies = [ "sp-core-hashing-proc-macro", "sp-crypto-ec-utils", "sp-crypto-hashing 0.1.0", - "sp-crypto-hashing-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0", "sp-database", "sp-debug-derive 14.0.0", "sp-externalities 0.25.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", - "sp-maybe-compressed-blob", - "sp-metadata-ir", + "sp-keystore 0.34.0", + "sp-maybe-compressed-blob 11.0.0", + "sp-metadata-ir 0.6.0", "sp-mixnet", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-panic-handler", + "sp-panic-handler 13.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-runtime-interface-proc-macro 17.0.0", "sp-session", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-statement-store", "sp-std 14.0.0", "sp-storage 19.0.0", @@ -16615,11 +16813,11 @@ dependencies = [ "sp-tracing 16.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", - "sp-version", - "sp-version-proc-macro", + "sp-trie 29.0.0", + "sp-version 29.0.0", + "sp-version-proc-macro 13.0.0", "sp-wasm-interface 20.0.0", - "sp-weights", + "sp-weights 27.0.0", "staging-chain-spec-builder", "staging-node-inspect", "staging-parachain-info", @@ -16704,7 +16902,7 @@ dependencies = [ "sc-consensus-grandpa", "sc-consensus-manual-seal", "sc-consensus-pow", - "sc-executor", + "sc-executor 0.32.0", "sc-network", "sc-rpc", "sc-rpc-api", @@ -16713,20 +16911,20 @@ dependencies = [ "serde_json", "simple-mermaid", "solochain-template-runtime", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-genesis-builder", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-chain-spec-builder", "staging-node-cli", "staging-parachain-info", @@ -16785,22 +16983,22 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", ] [[package]] @@ -16874,7 +17072,7 @@ dependencies = [ "sc-consensus-beefy", "sc-consensus-grandpa", "sc-consensus-slots", - "sc-executor", + "sc-executor 0.32.0", "sc-keystore", "sc-network", "sc-network-sync", @@ -16887,7 +17085,7 @@ dependencies = [ "sc-transaction-pool-api", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", "sp-block-builder", "sp-blockchain", @@ -16898,17 +17096,17 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-timestamp", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", - "sp-weights", + "sp-version 29.0.0", + "sp-weights 27.0.0", "staging-xcm", "substrate-prometheus-endpoint", "tempfile", @@ -16942,11 +17140,11 @@ dependencies = [ "rstest", "sc-keystore", "sc-network", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -17012,13 +17210,13 @@ dependencies = [ "serde_json", "serde_yaml", "sha1", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", "strum 0.26.3", @@ -17041,15 +17239,15 @@ dependencies = [ "sc-block-builder", "sc-consensus", "sc-service", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "substrate-test-client", ] @@ -17113,7 +17311,7 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "serde", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -17121,14 +17319,14 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -17164,15 +17362,15 @@ dependencies = [ "sc-service", "sc-tracing", "serde_json", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "substrate-test-client", "test-runtime-constants", "tokio", @@ -17197,11 +17395,11 @@ dependencies = [ "log", "parity-scale-codec", "polkadot-primitives", - "sc-executor", + "sc-executor 0.32.0", "sc-runtime-utilities", "serde", "serde_json", - "sp-io", + "sp-io 30.0.0", "substrate-build-script-utils", "subxt 0.43.0", "tokio", @@ -17210,6 +17408,19 @@ dependencies = [ "zombienet-sdk", ] +[[package]] +name = "polkavm" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd044ab1d3b11567ab6b98ca71259a992b4034220d5972988a0e96518e5d343d" +dependencies = [ + "libc", + "log", + "polkavm-assembler 0.18.0", + "polkavm-common 0.18.0", + "polkavm-linux-raw 0.18.0", +] + [[package]] name = "polkavm" version = "0.26.0" @@ -17236,6 +17447,15 @@ dependencies = [ "polkavm-linux-raw 0.27.0", ] +[[package]] +name = "polkavm-assembler" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaad38dc420bfed79e6f731471c973ce5ff5e47ab403e63cf40358fef8a6368f" +dependencies = [ + "log", +] + [[package]] name = "polkavm-assembler" version = "0.26.0" @@ -17259,6 +17479,10 @@ name = "polkavm-common" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31ff33982a807d8567645d4784b9b5d7ab87bcb494f534a57cadd9012688e102" +dependencies = [ + "log", + "polkavm-assembler 0.18.0", +] [[package]] name = "polkavm-common" @@ -17406,6 +17630,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "polkavm-linux-raw" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23eff02c070c70f31878a3d915e88a914ecf3e153741e2fb572dde28cce20fde" + [[package]] name = "polkavm-linux-raw" version = "0.26.0" @@ -17923,6 +18153,15 @@ dependencies = [ "prost 0.13.5", ] +[[package]] +name = "psm" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" +dependencies = [ + "cc", +] + [[package]] name = "pulley-interpreter" version = "35.0.0" @@ -18343,6 +18582,18 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "regalloc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" +dependencies = [ + "fxhash", + "log", + "slice-group-by", + "smallvec", +] + [[package]] name = "regalloc2" version = "0.9.3" @@ -18457,10 +18708,10 @@ dependencies = [ "sp-consensus-grandpa", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "staging-xcm", "thiserror 1.0.65", "tokio", @@ -18482,7 +18733,7 @@ dependencies = [ "num-traits", "parking_lot 0.12.3", "serde_json", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "sysinfo", @@ -18913,7 +19164,7 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -18921,10 +19172,10 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -18936,7 +19187,7 @@ dependencies = [ name = "rococo-runtime" version = "7.0.0" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitvec", "frame-benchmarking", "frame-executive", @@ -19003,8 +19254,8 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -19013,17 +19264,17 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -19041,8 +19292,8 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -19270,6 +19521,20 @@ dependencies = [ "nom 7.1.3", ] +[[package]] +name = "rustix" +version = "0.36.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.1.4", + "windows-sys 0.45.0", +] + [[package]] name = "rustix" version = "0.37.23" @@ -19545,6 +19810,18 @@ dependencies = [ "thiserror 1.0.65", ] +[[package]] +name = "sc-allocator" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c10a9966875fcbde028c73697c6d5faad5f5d24e94b3c949fb1d063c727381d" +dependencies = [ + "log", + "sp-core 36.1.0", + "sp-wasm-interface 21.0.1", + "thiserror 1.0.65", +] + [[package]] name = "sc-authority-discovery" version = "0.34.0" @@ -19567,12 +19844,12 @@ dependencies = [ "sc-service", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-authority-discovery", "sp-blockchain", "sp-core 28.0.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -19595,13 +19872,13 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-transaction-pool-api", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", ] @@ -19611,14 +19888,14 @@ name = "sc-block-builder" version = "0.33.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-blockchain", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", "substrate-test-runtime-client", ] @@ -19635,21 +19912,21 @@ dependencies = [ "regex", "sc-chain-spec-derive", "sc-client-api", - "sc-executor", + "sc-executor 0.32.0", "sc-network", "sc-telemetry", "serde", "serde_json", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-blockchain", "sp-consensus-babe", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-genesis-builder", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "substrate-test-runtime", ] @@ -19698,11 +19975,11 @@ dependencies = [ "sp-blockchain", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-panic-handler 13.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "tempfile", "thiserror 1.0.65", "tokio", @@ -19717,19 +19994,19 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-executor", + "sc-executor 0.32.0", "sc-transaction-pool-api", "sc-utils", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-database", "sp-externalities 0.25.0", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", - "sp-trie", + "sp-trie 29.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime", ] @@ -19754,14 +20031,14 @@ dependencies = [ "sc-client-api", "sc-state-db", "schnellru", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-core 28.0.0", "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-trie", + "sp-trie 29.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", "sysinfo", @@ -19784,8 +20061,8 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-test-primitives", "substrate-prometheus-endpoint", "thiserror 1.0.65", @@ -19809,8 +20086,8 @@ dependencies = [ "sc-network", "sc-network-test", "sc-telemetry", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -19819,8 +20096,8 @@ dependencies = [ "sp-core 28.0.0", "sp-inherents", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -19851,8 +20128,8 @@ dependencies = [ "sc-network-test", "sc-telemetry", "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -19862,8 +20139,8 @@ dependencies = [ "sp-crypto-hashing 0.1.0", "sp-inherents", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -19884,15 +20161,15 @@ dependencies = [ "sc-rpc-api", "sc-transaction-pool-api", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -19919,16 +20196,16 @@ dependencies = [ "sc-network-types", "sc-utils", "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -19949,10 +20226,10 @@ dependencies = [ "sc-consensus-beefy", "sc-rpc", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -19967,7 +20244,7 @@ dependencies = [ "sc-client-api", "sc-consensus", "sp-blockchain", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -20001,17 +20278,17 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -20037,7 +20314,7 @@ dependencies = [ "sp-consensus-grandpa", "sp-core 28.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20063,7 +20340,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "serde", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-aura", @@ -20071,8 +20348,8 @@ dependencies = [ "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -20093,14 +20370,14 @@ dependencies = [ "parking_lot 0.12.3", "sc-client-api", "sc-consensus", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-pow", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror 1.0.65", ] @@ -20117,14 +20394,14 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "substrate-test-runtime-client", ] @@ -20139,25 +20416,25 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "paste", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", + "sc-executor-common 0.29.0", + "sc-executor-polkavm 0.29.0", + "sc-executor-wasmtime 0.29.0", "sc-runtime-test", "sc-tracing", "schnellru", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-io", - "sp-maybe-compressed-blob", - "sp-panic-handler", - "sp-runtime", + "sp-io 30.0.0", + "sp-maybe-compressed-blob 11.0.0", + "sp-panic-handler 13.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "sp-wasm-interface 20.0.0", "substrate-test-runtime", "tempfile", @@ -20166,28 +20443,78 @@ dependencies = [ "wat", ] +[[package]] +name = "sc-executor" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55c745bf88acb34bd606346c7de6cc06f334f627c1ff40380252a6e52ad9354" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-executor-common 0.38.0", + "sc-executor-polkavm 0.35.0", + "sc-executor-wasmtime 0.38.0", + "schnellru", + "sp-api 36.0.1", + "sp-core 36.1.0", + "sp-externalities 0.30.0", + "sp-io 40.0.1", + "sp-panic-handler 13.0.2", + "sp-runtime-interface 29.0.1", + "sp-trie 39.1.0", + "sp-version 39.0.0", + "sp-wasm-interface 21.0.1", + "tracing", +] + [[package]] name = "sc-executor-common" version = "0.29.0" dependencies = [ "polkavm 0.26.0", - "sc-allocator", - "sp-maybe-compressed-blob", + "sc-allocator 23.0.0", + "sp-maybe-compressed-blob 11.0.0", "sp-wasm-interface 20.0.0", "thiserror 1.0.65", "wasm-instrument", ] +[[package]] +name = "sc-executor-common" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2f84b9aa7664a9b401afbf423bcd3c1845f5adedf4f6030586808238a222df" +dependencies = [ + "polkavm 0.18.0", + "sc-allocator 31.0.0", + "sp-maybe-compressed-blob 11.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 21.0.1", + "thiserror 1.0.65", + "wasm-instrument", +] + [[package]] name = "sc-executor-polkavm" version = "0.29.0" dependencies = [ "log", "polkavm 0.26.0", - "sc-executor-common", + "sc-executor-common 0.29.0", "sp-wasm-interface 20.0.0", ] +[[package]] +name = "sc-executor-polkavm" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb4929b3457077f9b30ad397a724116f43f252a889ec334ec369f6cdad8f76c" +dependencies = [ + "log", + "polkavm 0.18.0", + "sc-executor-common 0.38.0", + "sp-wasm-interface 21.0.1", +] + [[package]] name = "sc-executor-wasmtime" version = "0.29.0" @@ -20199,17 +20526,34 @@ dependencies = [ "parking_lot 0.12.3", "paste", "rustix 1.0.8", - "sc-allocator", - "sc-executor-common", + "sc-allocator 23.0.0", + "sc-executor-common 0.29.0", "sc-runtime-test", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", "sp-wasm-interface 20.0.0", "tempfile", - "wasmtime", + "wasmtime 35.0.0", "wat", ] +[[package]] +name = "sc-executor-wasmtime" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b5ad79b030a1f91ef0f667e58ac35e1c9fa33a6b8a0ec1ae7fe4890322535ac" +dependencies = [ + "anyhow", + "log", + "parking_lot 0.12.3", + "rustix 0.36.17", + "sc-allocator 31.0.0", + "sc-executor-common 0.38.0", + "sp-runtime-interface 29.0.1", + "sp-wasm-interface 21.0.1", + "wasmtime 8.0.1", +] + [[package]] name = "sc-informant" version = "0.33.0" @@ -20222,7 +20566,7 @@ dependencies = [ "sc-network", "sc-network-sync", "sp-blockchain", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -20232,9 +20576,9 @@ dependencies = [ "array-bytes 6.2.2", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "tempfile", "thiserror 1.0.65", ] @@ -20257,12 +20601,12 @@ dependencies = [ "sc-network", "sc-network-types", "sc-transaction-pool-api", - "sp-api", + "sp-api 26.0.0", "sp-consensus", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-mixnet", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -20305,12 +20649,12 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime", @@ -20332,7 +20676,7 @@ version = "0.33.0" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -20351,7 +20695,7 @@ dependencies = [ "sc-network-sync", "sc-network-types", "schnellru", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "substrate-test-runtime-client", "tokio", @@ -20374,7 +20718,7 @@ dependencies = [ "sc-network-types", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -20392,7 +20736,7 @@ dependencies = [ "sc-network-sync", "sc-network-types", "sp-consensus", - "sp-runtime", + "sp-runtime 31.0.1", "sp-statement-store", "substrate-prometheus-endpoint", ] @@ -20421,12 +20765,12 @@ dependencies = [ "sc-utils", "schnellru", "smallvec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-test-primitives", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -20461,7 +20805,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime", "substrate-test-runtime-client", @@ -20482,7 +20826,7 @@ dependencies = [ "sc-network-types", "sc-utils", "sp-consensus", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", ] @@ -20534,13 +20878,13 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", - "sp-api", + "sp-api 26.0.0", "sp-consensus", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime-client", "threadpool", @@ -20578,18 +20922,18 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-offchain", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-statement-store", - "sp-version", + "sp-version 29.0.0", "substrate-test-runtime-client", "tokio", ] @@ -20608,8 +20952,8 @@ dependencies = [ "serde_json", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", - "sp-version", + "sp-runtime 31.0.1", + "sp-version 29.0.0", "thiserror 1.0.65", ] @@ -20664,15 +21008,15 @@ dependencies = [ "schnellru", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-maybe-compressed-blob", + "sp-maybe-compressed-blob 11.0.0", "sp-rpc", - "sp-runtime", - "sp-version", + "sp-runtime 31.0.1", + "sp-version 29.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime", "substrate-test-runtime-client", @@ -20687,8 +21031,8 @@ name = "sc-runtime-test" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -20700,13 +21044,13 @@ dependencies = [ "cumulus-primitives-proof-size-hostfunction", "cumulus-test-runtime", "parity-scale-codec", - "sc-executor", - "sc-executor-common", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-state-machine", - "sp-version", + "sp-io 30.0.0", + "sp-state-machine 0.35.0", + "sp-version 29.0.0", "sp-wasm-interface 20.0.0", "subxt 0.43.0", "thiserror 1.0.65", @@ -20731,7 +21075,7 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor", + "sc-executor 0.32.0", "sc-informant", "sc-keystore", "sc-network", @@ -20752,20 +21096,20 @@ dependencies = [ "schnellru", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-session", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "static_init", "substrate-prometheus-endpoint", "substrate-test-runtime", @@ -20792,18 +21136,18 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor", + "sc-executor 0.32.0", "sc-network", "sc-network-sync", "sc-service", "sc-transaction-pool-api", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "substrate-test-runtime", @@ -20831,10 +21175,10 @@ dependencies = [ "parking_lot 0.12.3", "sc-client-api", "sc-keystore", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-statement-store", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -20868,7 +21212,7 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -20888,8 +21232,8 @@ dependencies = [ "serde_json", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -20927,11 +21271,11 @@ dependencies = [ "sc-client-api", "sc-tracing-proc-macro", "serde", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing", @@ -20974,12 +21318,12 @@ dependencies = [ "sc-utils", "serde", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "sp-transaction-pool", "substrate-prometheus-endpoint", @@ -21009,7 +21353,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -21023,7 +21367,7 @@ dependencies = [ "log", "parking_lot 0.12.3", "prometheus", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "tokio-test", ] @@ -21776,7 +22120,7 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -22053,8 +22397,8 @@ dependencies = [ "snowbridge-ethereum", "snowbridge-milagro-bls", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "ssz_rs", "ssz_rs_derive", @@ -22073,10 +22417,10 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22097,8 +22441,8 @@ dependencies = [ "scale-info", "serde", "serde-big-array", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -22118,8 +22462,8 @@ dependencies = [ "snowbridge-test-utils", "snowbridge-verification-primitives", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22137,7 +22481,7 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", ] @@ -22171,10 +22515,10 @@ dependencies = [ "scale-info", "snowbridge-core", "snowbridge-verification-primitives", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22190,7 +22534,7 @@ dependencies = [ "snowbridge-core", "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -22202,7 +22546,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "snowbridge-merkle-tree", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", ] @@ -22226,8 +22570,8 @@ dependencies = [ "snowbridge-pallet-ethereum-client-fixtures", "snowbridge-verification-primitives", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "static_assertions", ] @@ -22263,9 +22607,9 @@ dependencies = [ "snowbridge-pallet-ethereum-client", "snowbridge-pallet-inbound-queue-fixtures", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22304,9 +22648,9 @@ dependencies = [ "snowbridge-pallet-inbound-queue-v2-fixtures", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22342,10 +22686,10 @@ dependencies = [ "snowbridge-core", "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", ] @@ -22371,10 +22715,10 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-test-utils", "snowbridge-verification-primitives", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22400,8 +22744,8 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-pallet-outbound-queue", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22422,9 +22766,9 @@ dependencies = [ "snowbridge-core", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22448,9 +22792,9 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22466,7 +22810,7 @@ dependencies = [ "log", "pallet-xcm", "parity-scale-codec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22495,9 +22839,9 @@ dependencies = [ "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -22509,7 +22853,7 @@ version = "0.2.0" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", "staging-xcm", ] @@ -22520,7 +22864,7 @@ version = "0.2.0" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api", + "sp-api 26.0.0", "sp-std 14.0.0", "staging-xcm", ] @@ -22611,7 +22955,7 @@ dependencies = [ "sc-consensus", "sc-consensus-aura", "sc-consensus-grandpa", - "sc-executor", + "sc-executor 0.32.0", "sc-network", "sc-offchain", "sc-service", @@ -22619,16 +22963,16 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "solochain-template-runtime", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", "substrate-build-script-utils", "substrate-frame-rpc-system", @@ -22657,7 +23001,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", @@ -22666,11 +23010,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "substrate-wasm-builder", ] @@ -22683,16 +23027,39 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro", + "sp-api-proc-macro 15.0.0", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-metadata-ir", - "sp-runtime", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-test-primitives", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", + "thiserror 1.0.65", +] + +[[package]] +name = "sp-api" +version = "36.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "541da427f47dfb97f3dd0556fa3272bdc5dfa0d4c1ad53a22670a9bae4db63d7" +dependencies = [ + "docify", + "hash-db", + "log", + "parity-scale-codec", + "scale-info", + "sp-api-proc-macro 22.0.1", + "sp-core 36.1.0", + "sp-externalities 0.30.0", + "sp-metadata-ir 0.10.0", + "sp-runtime 41.1.0", + "sp-runtime-interface 29.0.1", + "sp-state-machine 0.45.0", + "sp-trie 39.1.0", + "sp-version 39.0.0", "thiserror 1.0.65", ] @@ -22710,6 +23077,21 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "sp-api-proc-macro" +version = "22.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cedafdeaf15c774433ad8f5b00883bdf7d86e7c8b8e050e3439d4ae422114096" +dependencies = [ + "Inflector", + "blake2 0.10.6", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.98", +] + [[package]] name = "sp-api-test" version = "2.0.1" @@ -22721,14 +23103,14 @@ dependencies = [ "rustversion", "sc-block-builder", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-consensus", "sp-core 28.0.0", - "sp-metadata-ir", - "sp-runtime", - "sp-state-machine", + "sp-metadata-ir 0.6.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "static_assertions", "substrate-test-runtime-client", "trybuild", @@ -22742,17 +23124,30 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", +] + +[[package]] +name = "sp-application-crypto" +version = "40.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba375ab65a76f7413d1bfe48122fd347ce7bd2047e36ecbbd78f12f5adaed121" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 36.1.0", + "sp-io 40.0.1", ] [[package]] name = "sp-application-crypto-test" version = "2.0.0" dependencies = [ - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-tracing 16.0.0", "substrate-test-runtime-client", ] @@ -22774,6 +23169,21 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-arithmetic" +version = "26.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9971b30935cea3858664965039dabd80f67aca74cc6cc6dd42ff1ab14547bc53" +dependencies = [ + "docify", + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "static_assertions", +] + [[package]] name = "sp-arithmetic-fuzzer" version = "2.0.0" @@ -22782,7 +23192,7 @@ dependencies = [ "fraction", "honggfuzz", "num-bigint", - "sp-arithmetic", + "sp-arithmetic 23.0.0", ] [[package]] @@ -22791,18 +23201,18 @@ version = "26.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", - "sp-runtime", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-runtime 31.0.1", ] [[package]] name = "sp-block-builder" version = "26.0.0" dependencies = [ - "sp-api", + "sp-api 26.0.0", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -22813,12 +23223,12 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "schnellru", - "sp-api", + "sp-api 26.0.0", "sp-consensus", "sp-core 28.0.0", "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "thiserror 1.0.65", "tracing", ] @@ -22831,8 +23241,8 @@ dependencies = [ "futures", "log", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "thiserror 1.0.65", ] @@ -22843,11 +23253,11 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-consensus-slots", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", ] @@ -22859,12 +23269,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", ] @@ -22876,15 +23286,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-keystore", + "sp-io 30.0.0", + "sp-keystore 0.34.0", "sp-mmr-primitives", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "strum 0.26.3", "w3f-bls", ] @@ -22898,11 +23308,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -22910,9 +23320,9 @@ name = "sp-consensus-pow" version = "0.32.0" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -22922,11 +23332,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-consensus-slots", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23056,7 +23466,7 @@ dependencies = [ name = "sp-core-hashing-proc-macro" version = "15.0.0" dependencies = [ - "sp-crypto-hashing-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0", ] [[package]] @@ -23088,7 +23498,7 @@ dependencies = [ "digest 0.10.7", "sha2 0.10.9", "sha3", - "sp-crypto-hashing-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0", "twox-hash 1.6.3", ] @@ -23115,6 +23525,17 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "sp-crypto-hashing-proc-macro" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" +dependencies = [ + "quote 1.0.40", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.98", +] + [[package]] name = "sp-database" version = "10.0.0" @@ -23170,8 +23591,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -23183,7 +23604,7 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -23203,11 +23624,38 @@ dependencies = [ "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-keystore", + "sp-keystore 0.34.0", "sp-runtime-interface 24.0.0", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", - "sp-trie", + "sp-trie 29.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "40.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e41d010bcc515d119901ff7ac83150c335d543c7f6c03be5c8fe08430b8a03b" +dependencies = [ + "bytes", + "docify", + "ed25519-dalek", + "libsecp256k1", + "log", + "parity-scale-codec", + "polkavm-derive 0.18.0", + "rustversion", + "secp256k1 0.28.2", + "sp-core 36.1.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.30.0", + "sp-keystore 0.42.0", + "sp-runtime-interface 29.0.1", + "sp-state-machine 0.45.0", + "sp-tracing 17.1.0", + "sp-trie 39.1.0", "tracing", "tracing-core", ] @@ -23217,7 +23665,7 @@ name = "sp-keyring" version = "31.0.0" dependencies = [ "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "strum 0.26.3", ] @@ -23231,9 +23679,31 @@ dependencies = [ "sp-externalities 0.25.0", ] +[[package]] +name = "sp-keystore" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45f893398a5330e28f219662c7a0afa174fb068d8f82d2a9990016c4b0bc4369" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.3", + "sp-core 36.1.0", + "sp-externalities 0.30.0", +] + +[[package]] +name = "sp-maybe-compressed-blob" +version = "11.0.0" +dependencies = [ + "thiserror 1.0.65", + "zstd 0.12.4", +] + [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c768c11afbe698a090386876911da4236af199cd38a5866748df4d8628aeff" dependencies = [ "thiserror 1.0.65", "zstd 0.12.4", @@ -23248,14 +23718,25 @@ dependencies = [ "scale-info", ] +[[package]] +name = "sp-metadata-ir" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d1db25e362edbf5531b427d4bdfc2562bec6a031c3eb2a9145c0a0a01a572d" +dependencies = [ + "frame-metadata 20.0.0", + "parity-scale-codec", + "scale-info", +] + [[package]] name = "sp-mixnet" version = "0.4.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", ] [[package]] @@ -23268,10 +23749,10 @@ dependencies = [ "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", "sp-debug-derive 14.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -23282,9 +23763,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-utils", ] @@ -23296,16 +23777,16 @@ dependencies = [ "honggfuzz", "rand 0.8.5", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] name = "sp-offchain" version = "26.0.0" dependencies = [ - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23316,6 +23797,16 @@ dependencies = [ "regex", ] +[[package]] +name = "sp-panic-handler" +version = "13.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8b52e69a577cbfdea62bfaf16f59eb884422ce98f78b5cd8d9bf668776bced1" +dependencies = [ + "backtrace", + "regex", +] + [[package]] name = "sp-rpc" version = "26.0.0" @@ -23330,7 +23821,7 @@ dependencies = [ name = "sp-runtime" version = "31.0.1" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "docify", "either", "hash256-std-hasher", @@ -23344,22 +23835,52 @@ dependencies = [ "serde", "serde_json", "simple-mermaid", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-state-machine", + "sp-io 30.0.0", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-trie", - "sp-weights", + "sp-trie 29.0.0", + "sp-weights 27.0.0", "substrate-test-runtime-client", "tracing", "tuplex", "zstd 0.12.4", ] +[[package]] +name = "sp-runtime" +version = "41.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3864101a28faba3d8eca026e3f56ea20dd1d979ce1bcc20152e86c9d82be52bf" +dependencies = [ + "binary-merkle-tree 16.0.0", + "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 40.1.0", + "sp-arithmetic 26.1.0", + "sp-core 36.1.0", + "sp-io 40.0.1", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 39.1.0", + "sp-weights 31.1.0", + "tracing", + "tuplex", +] + [[package]] name = "sp-runtime-interface" version = "24.0.0" @@ -23370,10 +23891,10 @@ dependencies = [ "polkavm-derive 0.26.0", "rustversion", "sp-externalities 0.25.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface-proc-macro 17.0.0", "sp-runtime-interface-test-wasm", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", @@ -23432,14 +23953,14 @@ dependencies = [ name = "sp-runtime-interface-test" version = "2.0.0" dependencies = [ - "sc-executor", - "sc-executor-common", - "sp-io", - "sp-runtime", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "sp-runtime-interface-test-wasm", "sp-runtime-interface-test-wasm-deprecated", - "sp-state-machine", + "sp-state-machine 0.35.0", "tracing", "tracing-core", ] @@ -23450,7 +23971,7 @@ version = "2.0.0" dependencies = [ "bytes", "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -23460,7 +23981,7 @@ name = "sp-runtime-interface-test-wasm-deprecated" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-io", + "sp-io 30.0.0", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -23471,10 +23992,10 @@ version = "27.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", + "sp-api 26.0.0", "sp-core 28.0.0", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -23487,7 +24008,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23506,9 +24027,30 @@ dependencies = [ "smallvec", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-panic-handler", - "sp-runtime", - "sp-trie", + "sp-panic-handler 13.0.0", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", + "thiserror 1.0.65", + "tracing", + "trie-db", +] + +[[package]] +name = "sp-state-machine" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206508475c01ae2e14f171d35d7fc3eaa7278140d7940416591d49a784792ed6" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "smallvec", + "sp-core 36.1.0", + "sp-externalities 0.30.0", + "sp-panic-handler 13.0.2", + "sp-trie 39.1.0", "thiserror 1.0.65", "tracing", "trie-db", @@ -23526,12 +24068,12 @@ dependencies = [ "rand 0.8.5", "scale-info", "sha2 0.10.9", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0", "thiserror 1.0.65", "x25519-dalek", @@ -23578,9 +24120,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -23590,7 +24132,7 @@ dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror 1.0.65", ] @@ -23621,8 +24163,8 @@ dependencies = [ name = "sp-transaction-pool" version = "26.0.0" dependencies = [ - "sp-api", - "sp-runtime", + "sp-api 26.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -23634,8 +24176,8 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -23648,7 +24190,7 @@ dependencies = [ "foldhash", "hash-db", "hashbrown 0.15.3", - "memory-db", + "memory-db 0.34.0", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", @@ -23657,7 +24199,7 @@ dependencies = [ "schnellru", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror 1.0.65", "tracing", @@ -23667,6 +24209,29 @@ dependencies = [ "trie-standardmap", ] +[[package]] +name = "sp-trie" +version = "39.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a555bf4c42ca89e2e7bf2f11308806dad13cdbd7f8fd60cf2649f12b6ee809bf" +dependencies = [ + "ahash", + "hash-db", + "memory-db 0.32.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core 36.1.0", + "sp-externalities 0.30.0", + "thiserror 1.0.65", + "tracing", + "trie-db", + "trie-root", +] + [[package]] name = "sp-version" version = "29.0.0" @@ -23676,10 +24241,28 @@ dependencies = [ "parity-wasm", "scale-info", "serde", - "sp-crypto-hashing-proc-macro", - "sp-runtime", + "sp-crypto-hashing-proc-macro 0.1.0", + "sp-runtime 31.0.1", "sp-std 14.0.0", - "sp-version-proc-macro", + "sp-version-proc-macro 13.0.0", + "thiserror 1.0.65", +] + +[[package]] +name = "sp-version" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd736a15ff2ea0a67c5a3bbdfd842d88f11f0774d7701a8d8a316f8deba276c5" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-crypto-hashing-proc-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 41.1.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-version-proc-macro 15.0.0", "thiserror 1.0.65", ] @@ -23691,7 +24274,20 @@ dependencies = [ "proc-macro-warning", "proc-macro2 1.0.95", "quote 1.0.40", - "sp-version", + "sp-version 29.0.0", + "syn 2.0.98", +] + +[[package]] +name = "sp-version-proc-macro" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54cabc8279e835cd9c608d70cb00e693bddec94fe8478e9f3104dad1da5f93ca" +dependencies = [ + "parity-scale-codec", + "proc-macro-warning", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 2.0.98", ] @@ -23703,7 +24299,7 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "wasmtime", + "wasmtime 35.0.0", ] [[package]] @@ -23716,6 +24312,7 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", + "wasmtime 8.0.1", ] [[package]] @@ -23728,10 +24325,25 @@ dependencies = [ "schemars", "serde", "smallvec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-debug-derive 14.0.0", ] +[[package]] +name = "sp-weights" +version = "31.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "515aa194eabac059041df2dbee75b059b99981213ec680e9de85b45b6988346a" +dependencies = [ + "bounded-collections 0.2.3", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 26.1.0", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "spin" version = "0.5.2" @@ -24079,8 +24691,8 @@ dependencies = [ "sc-service", "sp-blockchain", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-statement-store", "thiserror 1.0.65", ] @@ -24094,7 +24706,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -24116,9 +24728,9 @@ dependencies = [ "scale-info", "schemars", "serde", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "tracing", "xcm-procedural", ] @@ -24144,12 +24756,12 @@ dependencies = [ "polkadot-test-runtime", "primitive-types 0.13.1", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-executor", "tracing", @@ -24166,11 +24778,11 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "tracing", ] @@ -24361,7 +24973,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-storage 19.0.0", "tokio", ] @@ -24380,11 +24992,11 @@ dependencies = [ "sc-rpc-api", "sc-transaction-pool", "sc-transaction-pool-api", - "sp-api", + "sp-api 26.0.0", "sp-block-builder", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "substrate-test-runtime-client", "tokio", @@ -24439,8 +25051,8 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime", - "sp-trie", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", "strum 0.26.3", "thiserror 1.0.65", ] @@ -24455,7 +25067,7 @@ dependencies = [ "sc-rpc-api", "serde", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "tokio", ] @@ -24469,9 +25081,9 @@ dependencies = [ "sc-rpc-api", "serde", "sp-core 28.0.0", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", "trie-db", ] @@ -24486,7 +25098,7 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor", + "sc-executor 0.32.0", "sc-service", "serde", "serde_json", @@ -24494,8 +25106,8 @@ dependencies = [ "sp-consensus", "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "tokio", ] @@ -24519,14 +25131,14 @@ dependencies = [ "pretty_assertions", "sc-block-builder", "sc-chain-spec", - "sc-executor", - "sc-executor-common", + "sc-executor 0.32.0", + "sc-executor-common 0.29.0", "sc-service", "scale-info", "serde", "serde_json", - "sp-api", - "sp-application-crypto", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-consensus", "sp-consensus-aura", @@ -24538,16 +25150,16 @@ dependencies = [ "sp-externalities 0.25.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-trie", - "sp-version", + "sp-trie 29.0.0", + "sp-version 29.0.0", "substrate-test-runtime-client", "substrate-wasm-builder", "tracing", @@ -24562,11 +25174,11 @@ dependencies = [ "sc-block-builder", "sc-client-api", "sc-consensus", - "sp-api", + "sp-api 26.0.0", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-client", "substrate-test-runtime", ] @@ -24583,7 +25195,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sp-blockchain", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-test-runtime-client", "thiserror 1.0.65", ] @@ -24641,16 +25253,16 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "polkavm-linker 0.26.0", - "sc-executor", + "sc-executor 0.32.0", "shlex", "sp-core 28.0.0", - "sp-io", - "sp-maybe-compressed-blob", + "sp-io 30.0.0", + "sp-maybe-compressed-blob 11.0.0", "sp-tracing 16.0.0", - "sp-version", + "sp-version 29.0.0", "strum 0.26.3", "tempfile", - "toml", + "toml 0.8.19", "walkdir", "wasm-opt", ] @@ -24901,7 +25513,12 @@ dependencies = [ "parity-scale-codec", "proc-macro-error2", "quote 1.0.40", + "sc-executor 0.42.0", + "sc-executor-common 0.38.0", "scale-typegen", + "sp-io 40.0.1", + "sp-maybe-compressed-blob 11.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.45.0", "subxt-codegen 0.43.0", "subxt-metadata 0.43.0", "subxt-utils-fetchmetadata 0.43.0", @@ -25156,7 +25773,7 @@ version = "12.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42bcacd080282a72e795864660b148392af7babd75691d5ae9a3b77e29c98c77" dependencies = [ - "cpp_demangle", + "cpp_demangle 0.4.3", "rustc-demangle", "symbolic-common", ] @@ -25318,6 +25935,12 @@ dependencies = [ "xattr", ] +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + [[package]] name = "target-lexicon" version = "0.13.2" @@ -25449,7 +26072,7 @@ dependencies = [ "dlmalloc", "parity-scale-codec", "polkadot-parachain-primitives", - "sp-io", + "sp-io 30.0.0", "substrate-wasm-builder", "tiny-keccak", ] @@ -25496,7 +26119,7 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", - "sp-io", + "sp-io 30.0.0", "substrate-wasm-builder", "tiny-keccak", ] @@ -25535,7 +26158,7 @@ dependencies = [ "frame-support", "polkadot-primitives", "smallvec", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -25547,7 +26170,7 @@ dependencies = [ "polkadot-core-primitives", "rococo-runtime-constants", "smallvec", - "sp-runtime", + "sp-runtime 31.0.1", "staging-xcm", "westend-runtime-constants", ] @@ -25886,6 +26509,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "toml" version = "0.8.19" @@ -26123,7 +26755,7 @@ dependencies = [ "criterion", "hash-db", "keccak-hasher", - "memory-db", + "memory-db 0.34.0", "parity-scale-codec", "trie-db", "trie-root", @@ -26180,7 +26812,7 @@ dependencies = [ "serde_json", "target-triple", "termcolor", - "toml", + "toml 0.8.19", ] [[package]] @@ -26905,6 +27537,16 @@ dependencies = [ "wasmi_core 0.40.0", ] +[[package]] +name = "wasmparser" +version = "0.102.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" +dependencies = [ + "indexmap 1.9.3", + "url", +] + [[package]] name = "wasmparser" version = "0.221.3" @@ -26947,6 +27589,34 @@ dependencies = [ "wasmparser 0.235.0", ] +[[package]] +name = "wasmtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "indexmap 1.9.3", + "libc", + "log", + "object 0.30.4", + "once_cell", + "paste", + "psm", + "rayon", + "serde", + "target-lexicon 0.12.16", + "wasmparser 0.102.0", + "wasmtime-cache", + "wasmtime-cranelift", + "wasmtime-environ 8.0.1", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.45.0", +] + [[package]] name = "wasmtime" version = "35.0.0" @@ -26978,9 +27648,9 @@ dependencies = [ "serde_derive", "serde_json", "smallvec", - "target-lexicon", + "target-lexicon 0.13.2", "wasmparser 0.235.0", - "wasmtime-environ", + "wasmtime-environ 35.0.0", "wasmtime-internal-asm-macros", "wasmtime-internal-cache", "wasmtime-internal-cranelift", @@ -26995,6 +27665,91 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "wasmtime-asm-macros" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-cache" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" +dependencies = [ + "anyhow", + "base64 0.21.7", + "bincode", + "directories-next", + "file-per-thread-logger", + "log", + "rustix 0.36.17", + "serde", + "sha2 0.10.9", + "toml 0.5.11", + "windows-sys 0.45.0", + "zstd 0.11.2+zstd.1.5.2", +] + +[[package]] +name = "wasmtime-cranelift" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04" +dependencies = [ + "anyhow", + "cranelift-codegen 0.95.1", + "cranelift-entity 0.95.1", + "cranelift-frontend 0.95.1", + "cranelift-native 0.95.1", + "cranelift-wasm", + "gimli 0.27.3", + "log", + "object 0.30.4", + "target-lexicon 0.12.16", + "thiserror 1.0.65", + "wasmparser 0.102.0", + "wasmtime-cranelift-shared", + "wasmtime-environ 8.0.1", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b" +dependencies = [ + "anyhow", + "cranelift-codegen 0.95.1", + "cranelift-native 0.95.1", + "gimli 0.27.3", + "object 0.30.4", + "target-lexicon 0.12.16", + "wasmtime-environ 8.0.1", +] + +[[package]] +name = "wasmtime-environ" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" +dependencies = [ + "anyhow", + "cranelift-entity 0.95.1", + "gimli 0.27.3", + "indexmap 1.9.3", + "log", + "object 0.30.4", + "serde", + "target-lexicon 0.12.16", + "thiserror 1.0.65", + "wasmparser 0.102.0", + "wasmtime-types", +] + [[package]] name = "wasmtime-environ" version = "35.0.0" @@ -27002,9 +27757,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44b6264a78d806924abbc76bbc75eac24976bc83bdfb938e5074ae551242436f" dependencies = [ "anyhow", - "cpp_demangle", + "cpp_demangle 0.4.3", "cranelift-bitset", - "cranelift-entity", + "cranelift-entity 0.122.0", "gimli 0.31.1", "indexmap 2.9.0", "log", @@ -27014,7 +27769,7 @@ dependencies = [ "serde", "serde_derive", "smallvec", - "target-lexicon", + "target-lexicon 0.13.2", "wasm-encoder 0.235.0", "wasmparser 0.235.0", "wasmprinter", @@ -27044,7 +27799,7 @@ dependencies = [ "serde", "serde_derive", "sha2 0.10.9", - "toml", + "toml 0.8.19", "windows-sys 0.59.0", "zstd 0.13.3", ] @@ -27057,21 +27812,21 @@ checksum = "7ec9ad7565e6a8de7cb95484e230ff689db74a4a085219e0da0cbd637a29c01c" dependencies = [ "anyhow", "cfg-if", - "cranelift-codegen", + "cranelift-codegen 0.122.0", "cranelift-control", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", + "cranelift-entity 0.122.0", + "cranelift-frontend 0.122.0", + "cranelift-native 0.122.0", "gimli 0.31.1", "itertools 0.14.0", "log", "object 0.36.7", "pulley-interpreter", "smallvec", - "target-lexicon", + "target-lexicon 0.13.2", "thiserror 2.0.12", "wasmparser 0.235.0", - "wasmtime-environ", + "wasmtime-environ 35.0.0", "wasmtime-internal-math", "wasmtime-internal-versioned-export-macros", ] @@ -27139,7 +27894,7 @@ checksum = "307708f302f5dcf19c1bbbfb3d9f2cbc837dd18088a7988747b043a46ba38ecc" dependencies = [ "anyhow", "cfg-if", - "cranelift-codegen", + "cranelift-codegen 0.122.0", "log", "object 0.36.7", ] @@ -27162,16 +27917,98 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2012e7384c25b91aab2f1b6a1e1cbab9d0f199bbea06cc873597a3f047f05730" dependencies = [ "anyhow", - "cranelift-codegen", + "cranelift-codegen 0.122.0", "gimli 0.31.1", "object 0.36.7", - "target-lexicon", + "target-lexicon 0.13.2", "wasmparser 0.235.0", - "wasmtime-environ", + "wasmtime-environ 35.0.0", "wasmtime-internal-cranelift", "winch-codegen", ] +[[package]] +name = "wasmtime-jit" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" +dependencies = [ + "addr2line 0.19.0", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle 0.3.5", + "gimli 0.27.3", + "log", + "object 0.30.4", + "rustc-demangle", + "serde", + "target-lexicon 0.12.16", + "wasmtime-environ 8.0.1", + "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", + "wasmtime-runtime", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" +dependencies = [ + "object 0.30.4", + "once_cell", + "rustix 0.36.17", +] + +[[package]] +name = "wasmtime-jit-icache-coherence" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap 1.9.3", + "libc", + "log", + "mach", + "memfd", + "memoffset 0.8.0", + "paste", + "rand 0.8.5", + "rustix 0.36.17", + "wasmtime-asm-macros", + "wasmtime-environ 8.0.1", + "wasmtime-jit-debug", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-types" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" +dependencies = [ + "cranelift-entity 0.95.1", + "serde", + "thiserror 1.0.65", + "wasmparser 0.102.0", +] + [[package]] name = "wast" version = "63.0.0" @@ -27241,7 +28078,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-runtime", + "sp-runtime 31.0.1", "westend-runtime", "westend-runtime-constants", ] @@ -27251,7 +28088,7 @@ name = "westend-runtime" version = "7.0.0" dependencies = [ "approx", - "binary-merkle-tree", + "binary-merkle-tree 13.0.0", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -27325,9 +28162,9 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-api 26.0.0", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -27336,18 +28173,18 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version", + "sp-version 29.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -27366,8 +28203,8 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -27451,14 +28288,14 @@ checksum = "839a334ef7c62d8368dbd427e767a6fbb1ba08cc12ecce19cbb666c10613b585" dependencies = [ "anyhow", "cranelift-assembler-x64", - "cranelift-codegen", + "cranelift-codegen 0.122.0", "gimli 0.31.1", "regalloc2 0.12.2", "smallvec", - "target-lexicon", + "target-lexicon 0.13.2", "thiserror 2.0.12", "wasmparser 0.235.0", - "wasmtime-environ", + "wasmtime-environ 35.0.0", "wasmtime-internal-cranelift", "wasmtime-internal-math", ] @@ -27591,6 +28428,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -27627,6 +28473,21 @@ dependencies = [ "windows-targets 0.53.2", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -27674,6 +28535,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -27692,6 +28559,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -27710,6 +28583,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -27740,6 +28619,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -27758,6 +28643,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -27776,6 +28667,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -27794,6 +28691,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -27947,8 +28850,8 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "simple-mermaid", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -27977,11 +28880,11 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-parachains", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-executor", @@ -28006,8 +28909,8 @@ dependencies = [ "polkadot-test-service", "sp-consensus", "sp-keyring", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-executor", @@ -28038,10 +28941,10 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "scale-info", - "sp-api", - "sp-io", + "sp-api 26.0.0", + "sp-io 30.0.0", "sp-tracing 16.0.0", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28062,8 +28965,8 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28084,8 +28987,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -28113,8 +29016,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28356,7 +29259,7 @@ dependencies = [ "serde_json", "thiserror 1.0.65", "tokio", - "toml", + "toml 0.8.19", "tracing", "url", "zombienet-support", @@ -28477,6 +29380,15 @@ dependencies = [ "uuid", ] +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe 5.0.2+zstd.1.5.2", +] + [[package]] name = "zstd" version = "0.12.4" @@ -28495,6 +29407,16 @@ dependencies = [ "zstd-safe 7.2.4", ] +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + [[package]] name = "zstd-safe" version = "6.0.6" diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index 1a7b78b60fd73..743ce8aebbb37 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -39,7 +39,7 @@ sp-rpc = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } sp-weights = { workspace = true, default-features = true } sqlx = { workspace = true, features = ["macros", "runtime-tokio", "sqlite"] } -subxt = { workspace = true, default-features = true, features = ["reconnecting-rpc-client"] } +subxt = { workspace = true, default-features = true, features = ["reconnecting-rpc-client", "runtime-wasm-path"] } subxt-signer = { workspace = true, features = ["unstable-eth"] } thiserror = { workspace = true } tokio = { workspace = true, features = ["full"] } @@ -52,7 +52,5 @@ static_init = { workspace = true } substrate-cli-test-utils = { workspace = true } [build-dependencies] -asset-hub-westend-runtime = { workspace = true } git2 = { workspace = true } -parachains-runtimes-test-utils = { workspace = true } -sp-runtime = { workspace = true, default-features = true } +substrate-wasm-builder = { workspace = true } diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 893817a4b9314..b4edbe77d4449 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -14,13 +14,11 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -use asset_hub_westend_runtime::Runtime; -use parachains_runtimes_test_utils::ExtBuilder; -use std::{fs, path::Path, process::Command}; +use std::{env, fs, path::Path, process::Command}; fn main() { generate_git_revision(); - generate_metadata_file(); + build_ah_westend_wasm(); } fn generate_git_revision() { @@ -54,20 +52,48 @@ fn generate_git_revision() { println!("cargo:rustc-env=GIT_REVISION={branch}-{id}"); } -fn generate_metadata_file() { - let metadata_path = Path::new("revive_chain.scale"); +fn build_ah_westend_wasm() { + let manifest_dir = env::var("CARGO_MANIFEST_DIR") + .expect("`CARGO_MANIFEST_DIR` is always set for `build.rs` files; qed"); - if metadata_path.exists() { - println!("cargo:warning=Using cached revive_chain.scale metadata"); - return; - } + let runtime_cargo_toml = Path::new(&manifest_dir) + .parent() + .and_then(|p| p.parent()) + .and_then(|p| p.parent()) + .and_then(|p| p.parent()) + .unwrap() + .join("cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml"); - ExtBuilder::::default().build().execute_with(|| { - let metadata = Runtime::metadata_at_version(16).unwrap(); - let bytes: &[u8] = &metadata; - fs::write(metadata_path, bytes).unwrap(); + substrate_wasm_builder::WasmBuilder::new() + .with_project(runtime_cargo_toml.to_str().expect("Invalid path")) + .unwrap() + .build(); + + let target_dir = env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| { + Path::new(&manifest_dir) + .join("../../../../target") + .to_str() + .unwrap() + .to_string() }); - println!("cargo:rerun-if-changed={}", metadata_path.display()); - println!("cargo:warning=Updated revive_chain.scale metadata"); + let wasm_path = Path::new(&target_dir) + .join(env::var("PROFILE").unwrap_or_else(|_| "debug".to_string())) + .join("wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm"); + + let symlink_path = Path::new(&manifest_dir).join("asset_hub_westend_runtime.wasm"); + + // Remove existing symlink/file if it exists + let _ = fs::remove_file(&symlink_path); + + // Create symlink + #[cfg(unix)] + std::os::unix::fs::symlink(&wasm_path, &symlink_path) + .expect("Failed to create symlink to WASM file"); + + #[cfg(windows)] + std::os::windows::fs::symlink_file(&wasm_path, &symlink_path) + .expect("Failed to create symlink to WASM file"); + + println!("cargo:rerun-if-changed={}", symlink_path.display()); } diff --git a/substrate/frame/revive/rpc/src/subxt_client.rs b/substrate/frame/revive/rpc/src/subxt_client.rs index 5edcbcfc37d17..24edd52f8bf63 100644 --- a/substrate/frame/revive/rpc/src/subxt_client.rs +++ b/substrate/frame/revive/rpc/src/subxt_client.rs @@ -20,7 +20,7 @@ pub use subxt::config::PolkadotConfig as SrcChainConfig; #[subxt::subxt( - runtime_metadata_path = "revive_chain.scale", + runtime_path = "asset_hub_westend_runtime.wasm", // TODO remove once subxt use the same U256 type substitute_type( path = "primitive_types::U256", From 20c244da1142e3fe39460ec8dc0ede84a1ff7e08 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Tue, 30 Sep 2025 17:51:03 +0200 Subject: [PATCH 09/29] fix --- substrate/frame/revive/rpc/build.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index b4edbe77d4449..ff83f390f371e 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -94,6 +94,4 @@ fn build_ah_westend_wasm() { #[cfg(windows)] std::os::windows::fs::symlink_file(&wasm_path, &symlink_path) .expect("Failed to create symlink to WASM file"); - - println!("cargo:rerun-if-changed={}", symlink_path.display()); } From 703f7b51b6ab9dd64f574e30e3446fa13d06e768 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Tue, 30 Sep 2025 17:59:00 +0200 Subject: [PATCH 10/29] nicer --- substrate/frame/revive/rpc/build.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index ff83f390f371e..8e56cfc918ed6 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -57,12 +57,9 @@ fn build_ah_westend_wasm() { .expect("`CARGO_MANIFEST_DIR` is always set for `build.rs` files; qed"); let runtime_cargo_toml = Path::new(&manifest_dir) - .parent() - .and_then(|p| p.parent()) - .and_then(|p| p.parent()) - .and_then(|p| p.parent()) - .unwrap() - .join("cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml"); + .join("../../../../cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml") + .canonicalize() + .expect("Failed to resolve runtime path"); substrate_wasm_builder::WasmBuilder::new() .with_project(runtime_cargo_toml.to_str().expect("Invalid path")) From 46484d51ad12480f8f208255911ef02176f34d4d Mon Sep 17 00:00:00 2001 From: pgherveou Date: Tue, 30 Sep 2025 18:03:52 +0200 Subject: [PATCH 11/29] nit --- substrate/frame/revive/rpc/build.rs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 8e56cfc918ed6..99b0f44878e38 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -56,29 +56,25 @@ fn build_ah_westend_wasm() { let manifest_dir = env::var("CARGO_MANIFEST_DIR") .expect("`CARGO_MANIFEST_DIR` is always set for `build.rs` files; qed"); + let symlink_path = Path::new(&manifest_dir).join("asset_hub_westend_runtime.wasm"); let runtime_cargo_toml = Path::new(&manifest_dir) .join("../../../../cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml") .canonicalize() .expect("Failed to resolve runtime path"); - - substrate_wasm_builder::WasmBuilder::new() - .with_project(runtime_cargo_toml.to_str().expect("Invalid path")) - .unwrap() - .build(); - - let target_dir = env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| { + let wasm_path = Path::new(&env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| { Path::new(&manifest_dir) .join("../../../../target") .to_str() .unwrap() .to_string() - }); + })) + .join(env::var("PROFILE").unwrap_or_else(|_| "debug".to_string())) + .join("wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm"); - let wasm_path = Path::new(&target_dir) - .join(env::var("PROFILE").unwrap_or_else(|_| "debug".to_string())) - .join("wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm"); - - let symlink_path = Path::new(&manifest_dir).join("asset_hub_westend_runtime.wasm"); + substrate_wasm_builder::WasmBuilder::new() + .with_project(runtime_cargo_toml.to_str().expect("Invalid path")) + .unwrap() + .build(); // Remove existing symlink/file if it exists let _ = fs::remove_file(&symlink_path); From 71dac4a590e9e83c1ab9df437acfe867b68065b0 Mon Sep 17 00:00:00 2001 From: "cmd[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 16:15:47 +0000 Subject: [PATCH 12/29] Update from github-actions[bot] running command 'prdoc --audience runtime_dev --bump patch' --- prdoc/pr_9865.prdoc | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 prdoc/pr_9865.prdoc diff --git a/prdoc/pr_9865.prdoc b/prdoc/pr_9865.prdoc new file mode 100644 index 0000000000000..852411d2eb914 --- /dev/null +++ b/prdoc/pr_9865.prdoc @@ -0,0 +1,9 @@ +title: '[pallet-revive] rm checked-in metadata' +doc: +- audience: Runtime Dev + description: |- + Removed eth-rpc generated metadata. + The metadata file will now be generated from the build.rs using the AH-westend runtime +crates: +- name: pallet-revive-eth-rpc + bump: patch From 15420a811788c36717375c290a3b68194ef0fe59 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Tue, 30 Sep 2025 18:10:36 +0000 Subject: [PATCH 13/29] lock --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9f6971e28bf87..7867e3a9030a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11764,8 +11764,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] From de55abef9ecd0dc0a2d038ec652c3c936e11442d Mon Sep 17 00:00:00 2001 From: pgherveou Date: Tue, 30 Sep 2025 21:41:37 +0200 Subject: [PATCH 14/29] let's see if CI likes this --- Cargo.lock | 2 +- substrate/frame/revive/rpc/Cargo.toml | 2 +- substrate/frame/revive/rpc/build.rs | 30 +++++++-------------------- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7867e3a9030a0..2cfdfd3cd4ba4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13451,6 +13451,7 @@ name = "pallet-revive-eth-rpc" version = "0.1.0" dependencies = [ "anyhow", + "asset-hub-westend-runtime", "clap", "env_logger 0.11.3", "futures", @@ -13478,7 +13479,6 @@ dependencies = [ "static_init", "substrate-cli-test-utils", "substrate-prometheus-endpoint", - "substrate-wasm-builder", "subxt 0.43.0", "subxt-signer 0.43.0", "thiserror 1.0.65", diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index 743ce8aebbb37..02c59b123c808 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -52,5 +52,5 @@ static_init = { workspace = true } substrate-cli-test-utils = { workspace = true } [build-dependencies] +asset-hub-westend-runtime = { workspace = true, default-features = true } git2 = { workspace = true } -substrate-wasm-builder = { workspace = true } diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 99b0f44878e38..90a974ffdff48 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -18,7 +18,7 @@ use std::{env, fs, path::Path, process::Command}; fn main() { generate_git_revision(); - build_ah_westend_wasm(); + write_ah_westend_wasm(); } fn generate_git_revision() { @@ -52,39 +52,25 @@ fn generate_git_revision() { println!("cargo:rustc-env=GIT_REVISION={branch}-{id}"); } -fn build_ah_westend_wasm() { +fn write_ah_westend_wasm() { let manifest_dir = env::var("CARGO_MANIFEST_DIR") .expect("`CARGO_MANIFEST_DIR` is always set for `build.rs` files; qed"); let symlink_path = Path::new(&manifest_dir).join("asset_hub_westend_runtime.wasm"); - let runtime_cargo_toml = Path::new(&manifest_dir) - .join("../../../../cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml") - .canonicalize() - .expect("Failed to resolve runtime path"); - let wasm_path = Path::new(&env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| { - Path::new(&manifest_dir) - .join("../../../../target") - .to_str() - .unwrap() - .to_string() - })) - .join(env::var("PROFILE").unwrap_or_else(|_| "debug".to_string())) - .join("wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm"); - substrate_wasm_builder::WasmBuilder::new() - .with_project(runtime_cargo_toml.to_str().expect("Invalid path")) - .unwrap() - .build(); + // Get the WASM binary path from the runtime crate + let wasm_source = asset_hub_westend_runtime::WASM_BINARY_PATH + .expect("WASM_BINARY_PATH is not set. Please build the runtime with WASM support enabled."); // Remove existing symlink/file if it exists let _ = fs::remove_file(&symlink_path); - // Create symlink + // Create symlink to the runtime's WASM file #[cfg(unix)] - std::os::unix::fs::symlink(&wasm_path, &symlink_path) + std::os::unix::fs::symlink(wasm_source, &symlink_path) .expect("Failed to create symlink to WASM file"); #[cfg(windows)] - std::os::windows::fs::symlink_file(&wasm_path, &symlink_path) + std::os::windows::fs::symlink_file(wasm_source, &symlink_path) .expect("Failed to create symlink to WASM file"); } From 998a6a48be496fd288b95550a79dda1a56f7e591 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 07:24:21 +0000 Subject: [PATCH 15/29] fix Docker --- substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile b/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile index fb867062a8183..86ae2a6f177f2 100644 --- a/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile +++ b/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile @@ -1,13 +1,7 @@ -FROM rust AS builder - -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y \ - protobuf-compiler \ - clang libclang-dev +FROM docker.io/paritytech/ci-unified:latest AS builder WORKDIR /polkadot COPY . /polkadot -RUN rustup component add rust-src RUN cargo build --locked --profile production -p pallet-revive-eth-rpc --bin eth-rpc FROM docker.io/parity/base-bin:latest From 96c5b66ef090509623e183c47d13bacfdcce78ac Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 09:56:41 +0200 Subject: [PATCH 16/29] wip --- substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile b/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile index 86ae2a6f177f2..369ed20c0768b 100644 --- a/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile +++ b/substrate/frame/revive/rpc/dockerfiles/eth-rpc/Dockerfile @@ -2,16 +2,16 @@ FROM docker.io/paritytech/ci-unified:latest AS builder WORKDIR /polkadot COPY . /polkadot -RUN cargo build --locked --profile production -p pallet-revive-eth-rpc --bin eth-rpc + +RUN cargo fetch +RUN cargo build --workspace --locked --profile production -p pallet-revive-eth-rpc --bin eth-rpc FROM docker.io/parity/base-bin:latest COPY --from=builder /polkadot/target/production/eth-rpc /usr/local/bin USER root RUN useradd -m -u 1001 -U -s /bin/sh -d /polkadot polkadot && \ -# unclutter and minimize the attack surface rm -rf /usr/bin /usr/sbin && \ -# check if executable works in this container /usr/local/bin/eth-rpc --help USER polkadot From c17c60f4594ca41cb9c3369d8a569e53204e850a Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 10:47:11 +0200 Subject: [PATCH 17/29] use dev-node runtime --- Cargo.lock | 3 +-- substrate/frame/revive/rpc/Cargo.toml | 5 ++++- substrate/frame/revive/rpc/build.rs | 8 ++++---- substrate/frame/revive/rpc/src/subxt_client.rs | 2 +- umbrella/Cargo.toml | 6 ------ umbrella/src/lib.rs | 4 ---- 6 files changed, 10 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2cfdfd3cd4ba4..99689fd0c8c01 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13451,7 +13451,6 @@ name = "pallet-revive-eth-rpc" version = "0.1.0" dependencies = [ "anyhow", - "asset-hub-westend-runtime", "clap", "env_logger 0.11.3", "futures", @@ -13463,6 +13462,7 @@ dependencies = [ "pallet-revive-fixtures", "parity-scale-codec", "pretty_assertions", + "revive-dev-runtime", "rlp 0.6.1", "sc-cli", "sc-rpc", @@ -16700,7 +16700,6 @@ dependencies = [ "pallet-referenda", "pallet-remark", "pallet-revive", - "pallet-revive-eth-rpc", "pallet-revive-proc-macro", "pallet-revive-uapi", "pallet-root-offences", diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index 02c59b123c808..aee6e66d8a9e4 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -12,6 +12,9 @@ default-run = "eth-rpc" [lints] workspace = true +[package.metadata.polkadot-sdk] +exclude-from-umbrella = true + [[bin]] name = "eth-rpc" path = "src/main.rs" @@ -52,5 +55,5 @@ static_init = { workspace = true } substrate-cli-test-utils = { workspace = true } [build-dependencies] -asset-hub-westend-runtime = { workspace = true, default-features = true } git2 = { workspace = true } +revive-dev-runtime = { workspace = true, default-features = true } diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 90a974ffdff48..76689d123f6c9 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -18,7 +18,7 @@ use std::{env, fs, path::Path, process::Command}; fn main() { generate_git_revision(); - write_ah_westend_wasm(); + generate_wasm_runtime(); } fn generate_git_revision() { @@ -52,14 +52,14 @@ fn generate_git_revision() { println!("cargo:rustc-env=GIT_REVISION={branch}-{id}"); } -fn write_ah_westend_wasm() { +fn generate_wasm_runtime() { let manifest_dir = env::var("CARGO_MANIFEST_DIR") .expect("`CARGO_MANIFEST_DIR` is always set for `build.rs` files; qed"); - let symlink_path = Path::new(&manifest_dir).join("asset_hub_westend_runtime.wasm"); + let symlink_path = Path::new(&manifest_dir).join("revive_runtime.wasm"); // Get the WASM binary path from the runtime crate - let wasm_source = asset_hub_westend_runtime::WASM_BINARY_PATH + let wasm_source = revive_dev_runtime::WASM_BINARY_PATH .expect("WASM_BINARY_PATH is not set. Please build the runtime with WASM support enabled."); // Remove existing symlink/file if it exists diff --git a/substrate/frame/revive/rpc/src/subxt_client.rs b/substrate/frame/revive/rpc/src/subxt_client.rs index 24edd52f8bf63..d86ccb36832c1 100644 --- a/substrate/frame/revive/rpc/src/subxt_client.rs +++ b/substrate/frame/revive/rpc/src/subxt_client.rs @@ -20,7 +20,7 @@ pub use subxt::config::PolkadotConfig as SrcChainConfig; #[subxt::subxt( - runtime_path = "asset_hub_westend_runtime.wasm", + runtime_path = "revive_runtime.wasm", // TODO remove once subxt use the same U256 type substitute_type( path = "primitive_types::U256", diff --git a/umbrella/Cargo.toml b/umbrella/Cargo.toml index 45674c744dc56..c3536ee5dc216 100644 --- a/umbrella/Cargo.toml +++ b/umbrella/Cargo.toml @@ -874,7 +874,6 @@ node = [ "mmr-gadget", "mmr-rpc", "pallet-contracts-mock-network", - "pallet-revive-eth-rpc", "pallet-transaction-payment-rpc", "parachains-runtimes-test-utils", "polkadot-approval-distribution", @@ -2313,11 +2312,6 @@ default-features = false optional = true path = "../substrate/frame/contracts/mock-network" -[dependencies.pallet-revive-eth-rpc] -default-features = false -optional = true -path = "../substrate/frame/revive/rpc" - [dependencies.pallet-transaction-payment-rpc] default-features = false optional = true diff --git a/umbrella/src/lib.rs b/umbrella/src/lib.rs index 5726f80322ef7..4afc9d146dfde 100644 --- a/umbrella/src/lib.rs +++ b/umbrella/src/lib.rs @@ -636,10 +636,6 @@ pub use pallet_remark; #[cfg(feature = "pallet-revive")] pub use pallet_revive; -/// An Ethereum JSON-RPC server for pallet-revive. -#[cfg(feature = "pallet-revive-eth-rpc")] -pub use pallet_revive_eth_rpc; - /// Procedural macros used in pallet_revive. #[cfg(feature = "pallet-revive-proc-macro")] pub use pallet_revive_proc_macro; From 364c891e3a3e8a201f3d5919fcf9fe8b2c70a493 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 10:49:30 +0200 Subject: [PATCH 18/29] rm --- revive_chain.metadata | Bin 65308 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 revive_chain.metadata diff --git a/revive_chain.metadata b/revive_chain.metadata deleted file mode 100644 index f065aed2575be518e4a7c6d685b236c8ccb55881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65308 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 La~EzZJz)MFaiXa< From c61fc910d91cbc4c8f83abd8708b143523297493 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 09:48:25 +0000 Subject: [PATCH 19/29] fix --- .github/workflows/checks.yml | 1 + substrate/utils/wasm-builder/src/builder.rs | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 9152e865c348a..8c2a62e50a86d 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -31,6 +31,7 @@ jobs: env: RUSTFLAGS: "-D warnings" SKIP_WASM_BUILD: 1 + FORCE_REVIVE_DEV_RUNTIME_WASM_BUILD: 1 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 - name: script diff --git a/substrate/utils/wasm-builder/src/builder.rs b/substrate/utils/wasm-builder/src/builder.rs index 1d4182d625769..ca21d80d83fe1 100644 --- a/substrate/utils/wasm-builder/src/builder.rs +++ b/substrate/utils/wasm-builder/src/builder.rs @@ -290,8 +290,23 @@ fn generate_crate_skip_build_env_name() -> String { ) } +/// Generate the name of the force build environment variable for the current crate. +fn generate_crate_force_build_env_name() -> String { + format!( + "FORCE_{}_WASM_BUILD", + env::var("CARGO_PKG_NAME") + .expect("Package name is set") + .to_uppercase() + .replace('-', "_"), + ) +} + /// Checks if the build of the WASM binary should be skipped. fn check_skip_build() -> bool { + if env::var(generate_crate_force_build_env_name()).is_ok() { + return false + } + env::var(crate::SKIP_BUILD_ENV).is_ok() || env::var(generate_crate_skip_build_env_name()).is_ok() || // If we are running in docs.rs, let's skip building. From bdda2d957b33d7465c9fce95e0714a05455eeabb Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 10:21:39 +0000 Subject: [PATCH 20/29] fix --- .github/workflows/docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 0092b7169ecaa..9c63909fdbe4a 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -51,6 +51,7 @@ jobs: id: required env: SKIP_WASM_BUILD: 1 + FORCE_REVIVE_DEV_RUNTIME_WASM_BUILD: 1 RUSTDOCFLAGS: "-Dwarnings --default-theme=ayu --html-in-header ./docs/sdk/assets/header.html --extend-css ./docs/sdk/assets/theme.css --html-after-content ./docs/sdk/assets/after-content.html" - run: rm -f ./target/doc/.lock - run: mv ./target/doc ./crate-docs From f316ecf67d11767a84a03c263c640452b6f0183d Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 12:06:22 +0000 Subject: [PATCH 21/29] fix --- substrate/utils/wasm-builder/src/builder.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/substrate/utils/wasm-builder/src/builder.rs b/substrate/utils/wasm-builder/src/builder.rs index ca21d80d83fe1..8a6782ac13226 100644 --- a/substrate/utils/wasm-builder/src/builder.rs +++ b/substrate/utils/wasm-builder/src/builder.rs @@ -333,6 +333,7 @@ fn generate_rerun_if_changed_instructions() { println!("cargo:rerun-if-env-changed={}", crate::SKIP_BUILD_ENV); println!("cargo:rerun-if-env-changed={}", crate::FORCE_WASM_BUILD_ENV); println!("cargo:rerun-if-env-changed={}", generate_crate_skip_build_env_name()); + println!("cargo:rerun-if-env-changed={}", generate_crate_force_build_env_name()); } /// Build the currently built project as wasm binary. From 1d83c5cd65726a9da519fdc381a0cf043fa76f60 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 18:10:03 +0200 Subject: [PATCH 22/29] rollback to using metadata --- Cargo.lock | 3227 ++++++----------- substrate/frame/revive/rpc/Cargo.toml | 5 +- substrate/frame/revive/rpc/build.rs | 34 +- .../frame/revive/rpc/src/subxt_client.rs | 2 +- 4 files changed, 1170 insertions(+), 2098 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 99689fd0c8c01..faa749ac402ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,15 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "addr2line" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -dependencies = [ - "gimli 0.27.3", -] - [[package]] name = "addr2line" version = "0.21.0" @@ -1221,7 +1212,7 @@ dependencies = [ "rococo-runtime-constants", "rococo-system-emulated-network", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-executor", "xcm-runtime-apis", @@ -1288,7 +1279,7 @@ dependencies = [ "rococo-runtime-constants", "scale-info", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -1296,12 +1287,12 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", - "sp-weights 27.0.0", + "sp-version", + "sp-weights", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1352,7 +1343,7 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-common", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -1454,25 +1445,25 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-pallet-system-frontend", "snowbridge-runtime-common", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1504,8 +1495,8 @@ dependencies = [ "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -1530,9 +1521,9 @@ dependencies = [ "parachains-common", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1965,18 +1956,7 @@ dependencies = [ "log", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime 31.0.1", -] - -[[package]] -name = "binary-merkle-tree" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "181f5380e435b8ba6d901f8b16fc8908c6f0f8bea8973113d1c8718d89bb1809" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", + "sp-runtime", ] [[package]] @@ -2279,7 +2259,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", "staging-xcm", "testnet-parachains-constants", @@ -2296,7 +2276,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", "staging-xcm", "testnet-parachains-constants", @@ -2306,7 +2286,7 @@ dependencies = [ name = "bp-beefy" version = "0.1.0" dependencies = [ - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "bp-runtime", "frame-support", "pallet-beefy-mmr", @@ -2315,7 +2295,7 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -2330,7 +2310,7 @@ dependencies = [ "frame-system", "parachains-common", "polkadot-primitives", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -2344,8 +2324,8 @@ dependencies = [ "bp-xcm-bridge-hub", "frame-support", "parity-scale-codec", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] @@ -2359,8 +2339,8 @@ dependencies = [ "bp-xcm-bridge-hub", "frame-support", "parity-scale-codec", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] @@ -2379,7 +2359,7 @@ dependencies = [ "serde", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -2396,7 +2376,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-std 14.0.0", ] @@ -2412,7 +2392,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -2428,8 +2408,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-std 14.0.0", ] @@ -2446,7 +2426,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -2464,7 +2444,7 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -2476,7 +2456,7 @@ dependencies = [ "bp-polkadot-core", "bp-runtime", "frame-support", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -2494,11 +2474,11 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-io", + "sp-runtime", + "sp-state-machine", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", "tracing", "trie-db", ] @@ -2514,12 +2494,12 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -2530,7 +2510,7 @@ dependencies = [ "bp-polkadot-core", "bp-runtime", "frame-support", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -2545,7 +2525,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-std 14.0.0", "staging-xcm", ] @@ -2557,7 +2537,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", ] @@ -2572,7 +2552,7 @@ dependencies = [ "scale-info", "snowbridge-core", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -2622,7 +2602,7 @@ dependencies = [ "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2707,21 +2687,21 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-runtime-test-common", "snowbridge-system-runtime-api", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2762,9 +2742,9 @@ dependencies = [ "parachains-runtimes-test-utils", "parity-scale-codec", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "sp-tracing 16.0.0", "staging-xcm", @@ -2824,8 +2804,8 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-pallet-system-v2", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2914,21 +2894,21 @@ dependencies = [ "snowbridge-runtime-test-common", "snowbridge-system-runtime-api", "snowbridge-system-v2-runtime-api", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -2963,11 +2943,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", - "sp-weights 27.0.0", + "sp-trie", + "sp-weights", "staging-xcm", "static_assertions", "tracing", @@ -3227,11 +3207,11 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", "sp-genesis-builder", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-wasm-builder", ] @@ -3470,7 +3450,7 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-executor", "westend-runtime-constants", @@ -3531,22 +3511,22 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "serde_json", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3811,7 +3791,7 @@ dependencies = [ "polkadot-runtime-parachains", "rococo-runtime-constants", "rococo-system-emulated-network", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", ] @@ -3861,7 +3841,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -3869,11 +3849,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3907,7 +3887,7 @@ dependencies = [ "pallet-broker", "pallet-message-queue", "polkadot-runtime-parachains", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-executor", "westend-runtime-constants", @@ -3959,7 +3939,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -3967,11 +3947,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -3983,15 +3963,6 @@ dependencies = [ "xcm-runtime-apis", ] -[[package]] -name = "cpp_demangle" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" -dependencies = [ - "cfg-if", -] - [[package]] name = "cpp_demangle" version = "0.4.3" @@ -4038,22 +4009,13 @@ dependencies = [ "cranelift-srcgen", ] -[[package]] -name = "cranelift-bforest" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70" -dependencies = [ - "cranelift-entity 0.95.1", -] - [[package]] name = "cranelift-bforest" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7086a645aa58bae979312f64e3029ac760ac1b577f5cd2417844842a2ca07f" dependencies = [ - "cranelift-entity 0.122.0", + "cranelift-entity", ] [[package]] @@ -4066,26 +4028,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "cranelift-codegen" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220" -dependencies = [ - "bumpalo", - "cranelift-bforest 0.95.1", - "cranelift-codegen-meta 0.95.1", - "cranelift-codegen-shared 0.95.1", - "cranelift-entity 0.95.1", - "cranelift-isle 0.95.1", - "gimli 0.27.3", - "hashbrown 0.13.2", - "log", - "regalloc2 0.6.1", - "smallvec", - "target-lexicon 0.12.16", -] - [[package]] name = "cranelift-codegen" version = "0.122.0" @@ -4094,13 +4036,13 @@ checksum = "858fb3331e53492a95979378d6df5208dd1d0d315f19c052be8115f4efc888e0" dependencies = [ "bumpalo", "cranelift-assembler-x64", - "cranelift-bforest 0.122.0", + "cranelift-bforest", "cranelift-bitset", - "cranelift-codegen-meta 0.122.0", - "cranelift-codegen-shared 0.122.0", + "cranelift-codegen-meta", + "cranelift-codegen-shared", "cranelift-control", - "cranelift-entity 0.122.0", - "cranelift-isle 0.122.0", + "cranelift-entity", + "cranelift-isle", "gimli 0.31.1", "hashbrown 0.15.3", "log", @@ -4109,19 +4051,10 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "smallvec", - "target-lexicon 0.13.2", + "target-lexicon", "wasmtime-internal-math", ] -[[package]] -name = "cranelift-codegen-meta" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da" -dependencies = [ - "cranelift-codegen-shared 0.95.1", -] - [[package]] name = "cranelift-codegen-meta" version = "0.122.0" @@ -4129,17 +4062,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456715b9d5f12398f156d5081096e7b5d039f01b9ecc49790a011c8e43e65b5f" dependencies = [ "cranelift-assembler-x64-meta", - "cranelift-codegen-shared 0.122.0", + "cranelift-codegen-shared", "cranelift-srcgen", "pulley-interpreter", ] -[[package]] -name = "cranelift-codegen-shared" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8" - [[package]] name = "cranelift-codegen-shared" version = "0.122.0" @@ -4155,15 +4082,6 @@ dependencies = [ "arbitrary", ] -[[package]] -name = "cranelift-entity" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" -dependencies = [ - "serde", -] - [[package]] name = "cranelift-entity" version = "0.122.0" @@ -4175,62 +4093,33 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "cranelift-frontend" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" -dependencies = [ - "cranelift-codegen 0.95.1", - "log", - "smallvec", - "target-lexicon 0.12.16", -] - [[package]] name = "cranelift-frontend" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "781f9905f8139b8de22987b66b522b416fe63eb76d823f0b3a8c02c8fd9500c7" dependencies = [ - "cranelift-codegen 0.122.0", + "cranelift-codegen", "log", "smallvec", - "target-lexicon 0.13.2", + "target-lexicon", ] -[[package]] -name = "cranelift-isle" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba" - [[package]] name = "cranelift-isle" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a05337a2b02c3df00b4dd9a263a027a07b3dff49f61f7da3b5d195c21eaa633d" -[[package]] -name = "cranelift-native" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00" -dependencies = [ - "cranelift-codegen 0.95.1", - "libc", - "target-lexicon 0.12.16", -] - [[package]] name = "cranelift-native" version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eee7a496dd66380082c9c5b6f2d5fa149cec0ec383feec5caf079ca2b3671c2" dependencies = [ - "cranelift-codegen 0.122.0", + "cranelift-codegen", "libc", - "target-lexicon 0.13.2", + "target-lexicon", ] [[package]] @@ -4239,22 +4128,6 @@ version = "0.122.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b530783809a55cb68d070e0de60cfbb3db0dc94c8850dd5725411422bedcf6bb" -[[package]] -name = "cranelift-wasm" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac" -dependencies = [ - "cranelift-codegen 0.95.1", - "cranelift-entity 0.95.1", - "cranelift-frontend 0.95.1", - "itertools 0.10.5", - "log", - "smallvec", - "wasmparser 0.102.0", - "wasmtime-types", -] - [[package]] name = "crc" version = "3.2.1" @@ -4352,7 +4225,7 @@ dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", + "memoffset", "scopeguard", ] @@ -4474,7 +4347,7 @@ dependencies = [ "sc-network", "sc-service", "sp-consensus-babe", - "sp-runtime 31.0.1", + "sp-runtime", "tokio", ] @@ -4490,7 +4363,7 @@ dependencies = [ "sc-service", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "url", ] @@ -4514,12 +4387,12 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "sc-client-api", - "sp-api 26.0.0", + "sp-api", "sp-consensus", "sp-core 28.0.0", - "sp-maybe-compressed-blob 11.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-maybe-compressed-blob", + "sp-runtime", + "sp-state-machine", "sp-tracing 16.0.0", "tracing", ] @@ -4555,8 +4428,8 @@ dependencies = [ "sc-telemetry", "sc-utils", "schnellru", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -4564,13 +4437,13 @@ dependencies = [ "sp-core 28.0.0", "sp-inherents", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-keystore", + "sp-runtime", + "sp-state-machine", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -4602,11 +4475,11 @@ dependencies = [ "sp-consensus", "sp-consensus-slots", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "substrate-prometheus-endpoint", "tracing", ] @@ -4621,12 +4494,12 @@ dependencies = [ "sc-basic-authorship", "sc-block-builder", "sc-transaction-pool-api", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.65", ] @@ -4641,13 +4514,13 @@ dependencies = [ "futures", "parking_lot 0.12.3", "sc-consensus", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-prometheus-endpoint", "tracing", ] @@ -4674,15 +4547,15 @@ dependencies = [ "rstest", "sc-client-api", "sc-network", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-version 29.0.0", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-version", "tokio", "tracing", ] @@ -4701,8 +4574,8 @@ dependencies = [ "sc-consensus-babe", "sp-crypto-hashing 0.1.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-storage 19.0.0", "tracing", ] @@ -4730,13 +4603,13 @@ dependencies = [ "sc-consensus", "sc-network", "sc-utils", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-maybe-compressed-blob 11.0.0", - "sp-runtime 31.0.1", + "sp-maybe-compressed-blob", + "sp-runtime", "sp-tracing 16.0.0", - "sp-version 29.0.0", + "sp-version", "tokio", "tracing", ] @@ -4771,12 +4644,12 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-utils", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-transaction-pool", ] @@ -4794,12 +4667,12 @@ dependencies = [ "parity-scale-codec", "rstest", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-version 29.0.0", + "sp-io", + "sp-runtime", + "sp-version", ] [[package]] @@ -4814,8 +4687,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", ] @@ -4849,21 +4722,21 @@ dependencies = [ "rstest", "sc-consensus", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "staging-xcm", "staging-xcm-builder", "trie-db", @@ -4889,7 +4762,7 @@ dependencies = [ "frame-system", "pallet-session", "parity-scale-codec", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -4903,7 +4776,7 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -4920,9 +4793,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-io", + "sp-runtime", + "sp-trie", ] [[package]] @@ -4934,8 +4807,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-xcm", ] @@ -4958,8 +4831,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -4976,7 +4849,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", ] @@ -4990,10 +4863,10 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sc-executor 0.32.0", + "sc-executor", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-maybe-compressed-blob 11.0.0", + "sp-io", + "sp-maybe-compressed-blob", "tracing", "tracing-subscriber 0.3.18", ] @@ -5002,7 +4875,7 @@ dependencies = [ name = "cumulus-primitives-aura" version = "0.7.0" dependencies = [ - "sp-api 26.0.0", + "sp-api", "sp-consensus-aura", ] @@ -5015,9 +4888,9 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "scale-info", - "sp-api 26.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-api", + "sp-runtime", + "sp-trie", "staging-xcm", "tracing", ] @@ -5032,7 +4905,7 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-trie 29.0.0", + "sp-trie", ] [[package]] @@ -5041,10 +4914,10 @@ version = "0.2.0" dependencies = [ "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io 30.0.0", + "sp-io", "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", + "sp-state-machine", + "sp-trie", ] [[package]] @@ -5061,9 +4934,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-io", + "sp-runtime", + "sp-trie", ] [[package]] @@ -5085,7 +4958,7 @@ dependencies = [ "pallet-asset-conversion", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -5113,12 +4986,12 @@ dependencies = [ "sc-sysinfo", "sc-telemetry", "sc-tracing", - "sp-api 26.0.0", + "sp-api", "sp-consensus", "sp-core 28.0.0", "sp-keyring", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", ] [[package]] @@ -5133,10 +5006,10 @@ dependencies = [ "polkadot-overseer", "sc-client-api", "sc-network", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", - "sp-state-machine 0.35.0", - "sp-version 29.0.0", + "sp-state-machine", + "sp-version", "thiserror 1.0.65", ] @@ -5166,11 +5039,11 @@ dependencies = [ "sc-service", "sc-tracing", "sc-utils", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-prometheus-endpoint", "tracing", ] @@ -5198,10 +5071,10 @@ dependencies = [ "sp-authority-discovery", "sp-consensus-babe", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-storage 19.0.0", - "sp-version 29.0.0", + "sp-version", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -5216,7 +5089,7 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-primitives", - "sp-api 26.0.0", + "sp-api", "sp-consensus", "tracing", ] @@ -5241,19 +5114,19 @@ dependencies = [ "sc-block-builder", "sc-consensus", "sc-consensus-aura", - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", + "sc-executor", + "sc-executor-common", "sc-service", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-blockchain", "sp-consensus-aura", "sp-core 28.0.0", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-timestamp", "substrate-test-client", ] @@ -5265,9 +5138,9 @@ dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", + "sp-runtime", + "sp-state-machine", + "sp-trie", ] [[package]] @@ -5295,19 +5168,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "substrate-wasm-builder", ] @@ -5358,9 +5231,9 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-consensus-aura", - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", - "sc-executor-wasmtime 0.29.0", + "sc-executor", + "sc-executor-common", + "sc-executor-wasmtime", "sc-network", "sc-service", "sc-telemetry", @@ -5369,17 +5242,17 @@ dependencies = [ "sc-transaction-pool-api", "serde", "serde_json", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-timestamp", "sp-tracing 16.0.0", "substrate-test-client", @@ -5919,7 +5792,7 @@ dependencies = [ "regex", "syn 2.0.98", "termcolor", - "toml 0.8.19", + "toml", "walkdir", ] @@ -6140,7 +6013,7 @@ dependencies = [ "sp-consensus-beefy", "sp-core 28.0.0", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -6459,12 +6332,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - [[package]] name = "fallible-iterator" version = "0.3.0" @@ -6595,16 +6462,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "file-per-thread-logger" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" -dependencies = [ - "env_logger 0.10.1", - "log", -] - [[package]] name = "filetime" version = "0.2.22" @@ -6807,15 +6664,15 @@ dependencies = [ "sc-client-db", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-storage 19.0.0", "static_assertions", ] @@ -6852,15 +6709,15 @@ dependencies = [ "sc-cli", "sc-client-api", "sc-client-db", - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", - "sc-executor-wasmtime 0.29.0", + "sc-executor", + "sc-executor-common", + "sc-executor-wasmtime", "sc-runtime-utilities", "sc-service", "sc-sysinfo", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-blockchain", "sp-core 28.0.0", @@ -6868,16 +6725,16 @@ dependencies = [ "sp-externalities 0.25.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-storage 19.0.0", "sp-timestamp", "sp-transaction-pool", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "sp-wasm-interface 20.0.0", "substrate-test-runtime", "subxt 0.43.0", @@ -6896,8 +6753,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -6939,7 +6796,7 @@ dependencies = [ "proc-macro2 1.0.95", "quote 1.0.40", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "syn 2.0.98", "trybuild", ] @@ -6954,11 +6811,11 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", ] @@ -6971,8 +6828,8 @@ dependencies = [ "frame-support", "honggfuzz", "parity-scale-codec", - "sp-arithmetic 23.0.0", - "sp-runtime 31.0.1", + "sp-arithmetic", + "sp-runtime", ] [[package]] @@ -6991,10 +6848,10 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", - "sp-version 29.0.0", + "sp-version", "substrate-test-runtime-client", ] @@ -7036,8 +6893,8 @@ dependencies = [ "merkleized-metadata", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", "sp-tracing 16.0.0", "sp-transaction-pool", "substrate-test-runtime-client", @@ -7056,7 +6913,7 @@ dependencies = [ "sc-chain-spec", "sc-cli", "sp-genesis-builder", - "sp-runtime 31.0.1", + "sp-runtime", "sp-statement-store", "tempfile", "tracing-subscriber 0.3.18", @@ -7074,9 +6931,9 @@ dependencies = [ "serde", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-io", + "sp-runtime", + "sp-state-machine", "sp-tracing 16.0.0", "spinners", "substrate-rpc-client", @@ -7091,9 +6948,9 @@ dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", + "sp-runtime", + "sp-state-machine", + "sp-trie", "substrate-wasm-builder", ] @@ -7104,7 +6961,7 @@ dependencies = [ "Inflector", "aquamarine", "array-bytes 6.2.2", - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "bitflags 1.3.2", "docify", "environmental", @@ -7121,24 +6978,24 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-crypto-hashing-proc-macro 0.1.0", + "sp-crypto-hashing-proc-macro", "sp-debug-derive 14.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-metadata-ir", + "sp-runtime", "sp-staking", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-std 14.0.0", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie 29.0.0", - "sp-weights 27.0.0", + "sp-trie", + "sp-weights", "tt-call", ] @@ -7165,9 +7022,9 @@ dependencies = [ "regex", "scale-info", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-metadata-ir", + "sp-runtime", "syn 2.0.98", ] @@ -7206,14 +7063,14 @@ dependencies = [ "rustversion", "scale-info", "serde", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-version 29.0.0", + "sp-io", + "sp-metadata-ir", + "sp-runtime", + "sp-state-machine", + "sp-version", "static_assertions", "trybuild", ] @@ -7227,8 +7084,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-version 29.0.0", + "sp-runtime", + "sp-version", ] [[package]] @@ -7240,7 +7097,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -7266,10 +7123,10 @@ dependencies = [ "serde", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-version 29.0.0", - "sp-weights 27.0.0", + "sp-io", + "sp-runtime", + "sp-version", + "sp-weights", "substrate-test-runtime-client", ] @@ -7284,9 +7141,9 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-version 29.0.0", + "sp-io", + "sp-runtime", + "sp-version", ] [[package]] @@ -7295,7 +7152,7 @@ version = "26.0.0" dependencies = [ "docify", "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", ] [[package]] @@ -7304,8 +7161,8 @@ version = "0.34.0" dependencies = [ "frame-support", "parity-scale-codec", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", ] [[package]] @@ -7627,17 +7484,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gimli" -version = "0.27.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" -dependencies = [ - "fallible-iterator 0.2.0", - "indexmap 1.9.3", - "stable_deref_trait", -] - [[package]] name = "gimli" version = "0.28.0" @@ -7650,7 +7496,7 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" dependencies = [ - "fallible-iterator 0.3.0", + "fallible-iterator", "indexmap 2.9.0", "stable_deref_trait", ] @@ -7751,7 +7597,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -7759,11 +7605,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -7796,7 +7642,7 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "westend-runtime", "westend-system-emulated-network", @@ -10074,12 +9920,6 @@ dependencies = [ "nalgebra", ] -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -10252,15 +10092,6 @@ dependencies = [ "libc", ] -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - [[package]] name = "mach2" version = "0.4.2" @@ -10403,15 +10234,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.0" @@ -10421,15 +10243,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memory-db" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" -dependencies = [ - "hash-db", -] - [[package]] name = "memory-db" version = "0.34.0" @@ -10481,7 +10294,7 @@ dependencies = [ "num-traits", "parking_lot 0.12.3", "relay-utils", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", ] @@ -10578,13 +10391,13 @@ dependencies = [ "sc-block-builder", "sc-client-api", "sc-offchain", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-consensus-beefy", "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "substrate-test-runtime-client", "tokio", @@ -10598,11 +10411,11 @@ dependencies = [ "parity-scale-codec", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -10971,11 +10784,11 @@ dependencies = [ "sp-consensus", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-timestamp", "sp-tracing 16.0.0", - "sp-trie 29.0.0", + "sp-trie", "tempfile", ] @@ -10984,7 +10797,7 @@ name = "node-primitives" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -11007,15 +10820,15 @@ dependencies = [ "sc-rpc", "sc-sync-state-rpc", "sc-transaction-pool-api", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-statement-store", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", @@ -11063,9 +10876,9 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor 0.32.0", + "sc-executor", "sc-service", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -11073,7 +10886,7 @@ dependencies = [ "sp-crypto-hashing 0.1.0", "sp-inherents", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-timestamp", "staging-node-cli", "substrate-test-client", @@ -11322,18 +11135,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "object" -version = "0.30.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" -dependencies = [ - "crc32fast", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "memchr", -] - [[package]] name = "object" version = "0.32.2" @@ -11540,10 +11341,10 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -11590,8 +11391,8 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11607,11 +11408,11 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11628,10 +11429,10 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11647,8 +11448,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11662,8 +11463,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11679,11 +11480,11 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.13.1", "scale-info", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -11701,8 +11502,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11718,8 +11519,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11747,8 +11548,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11764,8 +11565,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11788,11 +11589,11 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11805,11 +11606,11 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-authority-discovery", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11822,8 +11623,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11844,11 +11645,11 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus-babe", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", "sp-tracing 16.0.0", @@ -11869,8 +11670,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", ] @@ -11895,7 +11696,7 @@ dependencies = [ "pallet-bags-list", "pallet-staking", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -11912,8 +11713,8 @@ dependencies = [ "paste", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -11936,11 +11737,11 @@ dependencies = [ "serde", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-tracing 16.0.0", ] @@ -11949,7 +11750,7 @@ name = "pallet-beefy-mmr" version = "28.0.0" dependencies = [ "array-bytes 6.2.2", - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "frame-benchmarking", "frame-support", "frame-system", @@ -11961,13 +11762,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", + "sp-api", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", - "sp-state-machine 0.35.0", + "sp-state-machine", ] [[package]] @@ -11983,8 +11784,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12005,8 +11806,8 @@ dependencies = [ "serde", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "tracing", ] @@ -12025,8 +11826,8 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "tracing", ] @@ -12047,10 +11848,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-trie", "tracing", ] @@ -12070,8 +11871,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "tracing", ] @@ -12098,10 +11899,10 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "tracing", ] @@ -12117,11 +11918,11 @@ dependencies = [ "parity-scale-codec", "pretty_assertions", "scale-info", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", ] @@ -12139,8 +11940,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12160,8 +11961,8 @@ dependencies = [ "rand 0.8.5", "scale-info", "sp-consensus-aura", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", ] @@ -12179,8 +11980,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12193,8 +11994,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12225,11 +12026,11 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -12245,9 +12046,9 @@ dependencies = [ "anyhow", "frame-system", "parity-wasm", - "sp-runtime 31.0.1", + "sp-runtime", "tempfile", - "toml 0.8.19", + "toml", "twox-hash 1.6.3", ] @@ -12270,11 +12071,11 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -12314,8 +12115,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12329,10 +12130,10 @@ dependencies = [ "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12344,8 +12145,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12364,8 +12165,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", ] @@ -12385,8 +12186,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12401,8 +12202,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -12420,8 +12221,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12435,11 +12236,11 @@ dependencies = [ "pallet-people", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "verifiable", ] @@ -12463,9 +12264,9 @@ dependencies = [ "parking_lot 0.12.3", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", ] @@ -12484,11 +12285,11 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "sp-tracing 16.0.0", ] @@ -12509,11 +12310,11 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "strum 0.26.3", "tokio", @@ -12528,7 +12329,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -12543,9 +12344,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -12564,9 +12365,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -12581,8 +12382,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12606,8 +12407,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12621,7 +12422,7 @@ dependencies = [ "pallet-migrations", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", + "sp-io", ] [[package]] @@ -12635,9 +12436,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", ] [[package]] @@ -12652,9 +12453,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-version 29.0.0", + "sp-io", + "sp-runtime", + "sp-version", ] [[package]] @@ -12668,7 +12469,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", ] [[package]] @@ -12682,8 +12483,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12698,9 +12499,9 @@ dependencies = [ "pretty_assertions", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-metadata-ir", + "sp-runtime", ] [[package]] @@ -12737,8 +12538,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", ] @@ -12756,8 +12557,8 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12779,12 +12580,12 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "sp-tracing 16.0.0", @@ -12803,9 +12604,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", ] [[package]] @@ -12821,10 +12622,10 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", ] @@ -12839,8 +12640,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12865,8 +12666,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12880,8 +12681,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -12898,13 +12699,13 @@ dependencies = [ "rand_distr", "scale-info", "serde", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", - "sp-weights 27.0.0", + "sp-weights", ] [[package]] @@ -12922,10 +12723,10 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-std 14.0.0", ] @@ -12945,8 +12746,8 @@ dependencies = [ "pretty_assertions", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", ] @@ -12968,7 +12769,7 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "serde", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-mixnet", ] @@ -13022,9 +12823,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", ] [[package]] @@ -13032,7 +12833,7 @@ name = "pallet-nfts-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", ] [[package]] @@ -13043,7 +12844,7 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-io 30.0.0", + "sp-io", ] [[package]] @@ -13067,8 +12868,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", ] @@ -13091,8 +12892,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-runtime-interface 24.0.0", "sp-staking", ] @@ -13107,8 +12908,8 @@ dependencies = [ "log", "pallet-nomination-pools", "rand 0.8.5", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", ] @@ -13118,7 +12919,7 @@ version = "23.0.0" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", ] [[package]] @@ -13139,8 +12940,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", ] @@ -13156,8 +12957,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", ] @@ -13182,8 +12983,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", ] @@ -13199,9 +13000,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 30.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-application-crypto", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -13211,7 +13012,7 @@ version = "1.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -13226,10 +13027,10 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13240,7 +13041,7 @@ dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-metadata-ir 0.6.0", + "sp-metadata-ir", ] [[package]] @@ -13277,8 +13078,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13291,10 +13092,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "verifiable", ] @@ -13310,8 +13111,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13336,10 +13137,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13367,10 +13168,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13384,8 +13185,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13431,15 +13232,15 @@ dependencies = [ "secp256k1 0.28.2", "serde", "serde_json", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", "sp-tracing 16.0.0", "substrate-bn", "subxt-signer 0.43.0", @@ -13453,6 +13254,7 @@ dependencies = [ "anyhow", "clap", "env_logger 0.11.3", + "frame-system", "futures", "git2", "hex", @@ -13469,12 +13271,13 @@ dependencies = [ "sc-rpc-api", "sc-service", "serde_json", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", + "sp-io", "sp-rpc", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime", + "sp-weights", "sqlx", "static_init", "substrate-cli-test-utils", @@ -13497,8 +13300,8 @@ dependencies = [ "polkavm-linker 0.27.0", "serde_json", "sp-core 28.0.0", - "sp-io 30.0.0", - "toml 0.8.19", + "sp-io", + "toml", ] [[package]] @@ -13539,8 +13342,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", ] @@ -13552,8 +13355,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13594,8 +13397,8 @@ dependencies = [ "sp-consensus-sassafras", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13611,9 +13414,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-io", + "sp-runtime", + "sp-weights", "substrate-test-utils", ] @@ -13626,8 +13429,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13643,12 +13446,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", + "sp-state-machine", + "sp-trie", ] [[package]] @@ -13667,8 +13470,8 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", ] @@ -13681,7 +13484,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -13697,10 +13500,10 @@ dependencies = [ "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -13722,11 +13525,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -13751,11 +13554,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-staking", "sp-tracing 16.0.0", "substrate-test-utils", @@ -13776,8 +13579,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-staking", ] @@ -13866,25 +13669,25 @@ dependencies = [ "primitive-types 0.13.1", "scale-info", "serde_json", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-npos-elections", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -13917,7 +13720,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-staking", "staging-xcm", ] @@ -13927,7 +13730,7 @@ name = "pallet-staking-async-rc-runtime" version = "7.0.0" dependencies = [ "approx", - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -13997,9 +13800,9 @@ dependencies = [ "serde_derive", "serde_json", "smallvec", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -14008,18 +13811,18 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -14038,8 +13841,8 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime", + "sp-weights", "staging-xcm", "staging-xcm-builder", ] @@ -14049,7 +13852,7 @@ name = "pallet-staking-async-reward-fn" version = "19.0.0" dependencies = [ "log", - "sp-arithmetic 23.0.0", + "sp-arithmetic", ] [[package]] @@ -14057,7 +13860,7 @@ name = "pallet-staking-async-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", "sp-staking", ] @@ -14068,7 +13871,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2 1.0.95", "quote 1.0.40", - "sp-runtime 31.0.1", + "sp-runtime", "syn 2.0.98", ] @@ -14077,7 +13880,7 @@ name = "pallet-staking-reward-fn" version = "19.0.0" dependencies = [ "log", - "sp-arithmetic 23.0.0", + "sp-arithmetic", ] [[package]] @@ -14085,7 +13888,7 @@ name = "pallet-staking-runtime-api" version = "14.0.0" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", "sp-staking", ] @@ -14103,8 +13906,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", "substrate-state-trie-migration-rpc", "thousands", @@ -14122,10 +13925,10 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-statement-store", ] @@ -14139,8 +13942,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -14153,8 +13956,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -14169,8 +13972,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-storage 19.0.0", "sp-timestamp", ] @@ -14189,8 +13992,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-storage 19.0.0", ] @@ -14207,8 +14010,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -14218,12 +14021,12 @@ dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-core 28.0.0", "sp-rpc", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime", + "sp-weights", ] [[package]] @@ -14232,9 +14035,9 @@ version = "28.0.0" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", - "sp-api 26.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-api", + "sp-runtime", + "sp-weights", ] [[package]] @@ -14251,8 +14054,8 @@ dependencies = [ "scale-info", "serde", "sp-inherents", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-transaction-storage-proof", ] @@ -14272,8 +14075,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -14300,8 +14103,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -14318,8 +14121,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -14331,9 +14134,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-io", + "sp-runtime", + "sp-weights", ] [[package]] @@ -14347,8 +14150,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -14381,8 +14184,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -14402,8 +14205,8 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -14428,8 +14231,8 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -14449,8 +14252,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -14519,8 +14322,8 @@ dependencies = [ "scale-info", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -14562,8 +14365,8 @@ dependencies = [ "polkadot-parachain-primitives", "sp-consensus-aura", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", "staging-parachain-info", "staging-xcm", @@ -14813,7 +14616,7 @@ dependencies = [ "scale-info", "serde_json", "smallvec", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -14821,11 +14624,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -14859,7 +14662,7 @@ dependencies = [ "pallet-balances", "parachains-common", "rococo-system-emulated-network", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-executor", ] @@ -14910,7 +14713,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -14918,11 +14721,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -14958,7 +14761,7 @@ dependencies = [ "pallet-xcm", "parachains-common", "parity-scale-codec", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "staging-xcm-executor", "westend-runtime", @@ -15010,7 +14813,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -15018,12 +14821,12 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-statement-store", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -15266,7 +15069,7 @@ dependencies = [ "rand_core 0.6.4", "sc-keystore", "schnorrkel 0.11.4", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-authority-discovery", "sp-core 28.0.0", "sp-tracing 16.0.0", @@ -15289,11 +15092,11 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "rand_chacha 0.3.1", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-authority-discovery", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "tracing-gum", ] @@ -15322,7 +15125,7 @@ dependencies = [ "schnellru", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15390,7 +15193,7 @@ dependencies = [ "sc-tracing", "sp-core 28.0.0", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-build-script-utils", "thiserror 1.0.65", ] @@ -15419,8 +15222,8 @@ dependencies = [ "schnellru", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-tracing 16.0.0", "thiserror 1.0.65", "tokio", @@ -15435,7 +15238,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -15459,9 +15262,9 @@ dependencies = [ "polkadot-primitives-test-helpers", "sc-keystore", "sc-network", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15478,7 +15281,7 @@ dependencies = [ "quickcheck", "reed-solomon-novelpoly", "sp-core 28.0.0", - "sp-trie 29.0.0", + "sp-trie", "thiserror 1.0.65", ] @@ -15500,13 +15303,13 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "sc-network", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-authority-discovery", "sp-consensus-babe", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "tracing-gum", ] @@ -15591,14 +15394,14 @@ dependencies = [ "sc-keystore", "schnellru", "schnorrkel 0.11.4", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15680,10 +15483,10 @@ dependencies = [ "polkadot-statement-table", "sc-keystore", "schnellru", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15699,7 +15502,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "polkadot-primitives-test-helpers", - "sp-keystore 0.34.0", + "sp-keystore", "thiserror 1.0.65", "tracing-gum", "wasm-timer", @@ -15725,11 +15528,11 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "rstest", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-maybe-compressed-blob 11.0.0", + "sp-keystore", + "sp-maybe-compressed-blob", "tracing-gum", ] @@ -15792,10 +15595,10 @@ dependencies = [ "polkadot-subsystem-bench", "sc-keystore", "schnellru", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -15853,8 +15656,8 @@ dependencies = [ "polkadot-primitives-test-helpers", "sc-consensus-slots", "schnellru", - "sp-application-crypto 30.0.0", - "sp-keystore 0.34.0", + "sp-application-crypto", + "sp-keystore", "thiserror 1.0.65", "tracing-gum", ] @@ -15891,7 +15694,7 @@ dependencies = [ "sc-tracing", "slotmap", "sp-core 28.0.0", - "sp-maybe-compressed-blob 11.0.0", + "sp-maybe-compressed-blob", "strum 0.26.3", "tempfile", "test-parachain-adder", @@ -15913,11 +15716,11 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "sc-keystore", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "tracing-gum", ] @@ -15935,14 +15738,14 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", - "sc-executor-wasmtime 0.29.0", + "sc-executor", + "sc-executor-common", + "sc-executor-wasmtime", "seccompiler", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-io 30.0.0", + "sp-io", "sp-tracing 16.0.0", "tempfile", "thiserror 1.0.65", @@ -15962,7 +15765,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-parachain-primitives", "polkadot-primitives", - "sp-maybe-compressed-blob 11.0.0", + "sp-maybe-compressed-blob", "tracing-gum", ] @@ -15978,7 +15781,7 @@ dependencies = [ "polkadot-node-core-pvf-common", "polkadot-primitives", "rococo-runtime", - "sp-maybe-compressed-blob 11.0.0", + "sp-maybe-compressed-blob", "staging-tracking-allocator", "tikv-jemalloc-ctl", "tikv-jemallocator", @@ -15999,7 +15802,7 @@ dependencies = [ "polkadot-primitives", "polkadot-primitives-test-helpers", "schnellru", - "sp-api 26.0.0", + "sp-api", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", @@ -16048,7 +15851,7 @@ dependencies = [ "sc-authority-discovery", "sc-network", "sc-network-types", - "sp-runtime 31.0.1", + "sp-runtime", "strum 0.26.3", "thiserror 1.0.65", "tracing-gum", @@ -16068,11 +15871,11 @@ dependencies = [ "sc-keystore", "schnorrkel 0.11.4", "serde", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus-babe", "sp-consensus-slots", - "sp-keystore 0.34.0", - "sp-maybe-compressed-blob 11.0.0", + "sp-keystore", + "sp-maybe-compressed-blob", "thiserror 1.0.65", "zstd 0.12.4", ] @@ -16100,10 +15903,10 @@ dependencies = [ "sc-client-api", "sc-keystore", "sc-utils", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", ] [[package]] @@ -16124,11 +15927,11 @@ dependencies = [ "sc-network-types", "sc-transaction-pool-api", "smallvec", - "sp-api 26.0.0", + "sp-api", "sp-authority-discovery", "sp-blockchain", "sp-consensus-babe", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.65", ] @@ -16159,9 +15962,9 @@ dependencies = [ "prioritized-metered-channel", "rand 0.8.5", "schnellru", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-keystore", "tempfile", "thiserror 1.0.65", "tracing-gum", @@ -16223,7 +16026,7 @@ dependencies = [ "sc-client-db", "sc-consensus", "sc-consensus-manual-seal", - "sc-executor 0.32.0", + "sc-executor", "sc-keystore", "sc-network", "sc-network-statement", @@ -16241,23 +16044,23 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-keystore 0.34.0", + "sp-keystore", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-statement-store", "sp-storage 19.0.0", "sp-timestamp", "sp-transaction-pool", - "sp-version 29.0.0", - "sp-weights 27.0.0", + "sp-version", + "sp-weights", "staging-chain-spec-builder", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", @@ -16340,8 +16143,8 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime", + "sp-weights", ] [[package]] @@ -16357,16 +16160,16 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-authority-discovery", "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-io 30.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-keystore", + "sp-runtime", "sp-staking", "sp-std 14.0.0", "thiserror 1.0.65", @@ -16381,10 +16184,10 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "scale-info", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -16406,15 +16209,15 @@ dependencies = [ "sc-rpc", "sc-sync-state-rpc", "sc-transaction-pool-api", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -16457,14 +16260,14 @@ dependencies = [ "serde", "serde_json", "slot-range-helper", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "staging-xcm", @@ -16522,16 +16325,16 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-session", "sp-staking", "sp-std 14.0.0", @@ -16548,7 +16351,7 @@ version = "0.1.0" dependencies = [ "asset-test-utils", "assets-common", - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "bp-header-chain", "bp-messages", "bp-parachains", @@ -16792,7 +16595,7 @@ dependencies = [ "polkadot-service", "polkadot-statement-distribution", "polkadot-statement-table", - "sc-allocator 23.0.0", + "sc-allocator", "sc-authority-discovery", "sc-basic-authorship", "sc-block-builder", @@ -16813,10 +16616,10 @@ dependencies = [ "sc-consensus-manual-seal", "sc-consensus-pow", "sc-consensus-slots", - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", - "sc-executor-polkavm 0.29.0", - "sc-executor-wasmtime 0.29.0", + "sc-executor", + "sc-executor-common", + "sc-executor-polkavm", + "sc-executor-wasmtime", "sc-informant", "sc-keystore", "sc-mixnet", @@ -16848,10 +16651,10 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "slot-range-helper", - "sp-api 26.0.0", - "sp-api-proc-macro 15.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-api-proc-macro", + "sp-application-crypto", + "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-blockchain", @@ -16867,29 +16670,29 @@ dependencies = [ "sp-core-hashing-proc-macro", "sp-crypto-ec-utils", "sp-crypto-hashing 0.1.0", - "sp-crypto-hashing-proc-macro 0.1.0", + "sp-crypto-hashing-proc-macro", "sp-database", "sp-debug-derive 14.0.0", "sp-externalities 0.25.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-keystore 0.34.0", - "sp-maybe-compressed-blob 11.0.0", - "sp-metadata-ir 0.6.0", + "sp-keystore", + "sp-maybe-compressed-blob", + "sp-metadata-ir", "sp-mixnet", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-panic-handler 13.0.0", + "sp-panic-handler", "sp-rpc", - "sp-runtime 31.0.1", + "sp-runtime", "sp-runtime-interface 24.0.0", "sp-runtime-interface-proc-macro 17.0.0", "sp-session", "sp-staking", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-statement-store", "sp-std 14.0.0", "sp-storage 19.0.0", @@ -16897,11 +16700,11 @@ dependencies = [ "sp-tracing 16.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie 29.0.0", - "sp-version 29.0.0", - "sp-version-proc-macro 13.0.0", + "sp-trie", + "sp-version", + "sp-version-proc-macro", "sp-wasm-interface 20.0.0", - "sp-weights 27.0.0", + "sp-weights", "staging-chain-spec-builder", "staging-node-inspect", "staging-parachain-info", @@ -16986,7 +16789,7 @@ dependencies = [ "sc-consensus-grandpa", "sc-consensus-manual-seal", "sc-consensus-pow", - "sc-executor 0.32.0", + "sc-executor", "sc-network", "sc-rpc", "sc-rpc-api", @@ -16995,20 +16798,20 @@ dependencies = [ "serde_json", "simple-mermaid", "solochain-template-runtime", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-core 28.0.0", "sp-genesis-builder", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-runtime-interface 24.0.0", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", - "sp-version 29.0.0", - "sp-weights 27.0.0", + "sp-version", + "sp-weights", "staging-chain-spec-builder", "staging-node-cli", "staging-parachain-info", @@ -17067,22 +16870,22 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", ] [[package]] @@ -17156,7 +16959,7 @@ dependencies = [ "sc-consensus-beefy", "sc-consensus-grandpa", "sc-consensus-slots", - "sc-executor 0.32.0", + "sc-executor", "sc-keystore", "sc-network", "sc-network-sync", @@ -17169,7 +16972,7 @@ dependencies = [ "sc-transaction-pool-api", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-authority-discovery", "sp-block-builder", "sp-blockchain", @@ -17180,17 +16983,17 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-mmr-primitives", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-timestamp", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version 29.0.0", - "sp-weights 27.0.0", + "sp-version", + "sp-weights", "staging-xcm", "substrate-prometheus-endpoint", "tempfile", @@ -17224,11 +17027,11 @@ dependencies = [ "rstest", "sc-keystore", "sc-network", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-authority-discovery", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing-gum", @@ -17294,13 +17097,13 @@ dependencies = [ "serde_json", "serde_yaml", "sha1", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-timestamp", "sp-tracing 16.0.0", "strum 0.26.3", @@ -17323,15 +17126,15 @@ dependencies = [ "sc-block-builder", "sc-consensus", "sc-service", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-timestamp", "substrate-test-client", ] @@ -17395,7 +17198,7 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "serde", - "sp-api 26.0.0", + "sp-api", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -17403,14 +17206,14 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-mmr-primitives", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -17446,15 +17249,15 @@ dependencies = [ "sc-service", "sc-tracing", "serde_json", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-authority-discovery", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "substrate-test-client", "test-runtime-constants", "tokio", @@ -17479,11 +17282,11 @@ dependencies = [ "log", "parity-scale-codec", "polkadot-primitives", - "sc-executor 0.32.0", + "sc-executor", "sc-runtime-utilities", "serde", "serde_json", - "sp-io 30.0.0", + "sp-io", "substrate-build-script-utils", "subxt 0.43.0", "tokio", @@ -17492,19 +17295,6 @@ dependencies = [ "zombienet-sdk", ] -[[package]] -name = "polkavm" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd044ab1d3b11567ab6b98ca71259a992b4034220d5972988a0e96518e5d343d" -dependencies = [ - "libc", - "log", - "polkavm-assembler 0.18.0", - "polkavm-common 0.18.0", - "polkavm-linux-raw 0.18.0", -] - [[package]] name = "polkavm" version = "0.26.0" @@ -17531,15 +17321,6 @@ dependencies = [ "polkavm-linux-raw 0.27.0", ] -[[package]] -name = "polkavm-assembler" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaad38dc420bfed79e6f731471c973ce5ff5e47ab403e63cf40358fef8a6368f" -dependencies = [ - "log", -] - [[package]] name = "polkavm-assembler" version = "0.26.0" @@ -17563,10 +17344,6 @@ name = "polkavm-common" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31ff33982a807d8567645d4784b9b5d7ab87bcb494f534a57cadd9012688e102" -dependencies = [ - "log", - "polkavm-assembler 0.18.0", -] [[package]] name = "polkavm-common" @@ -17714,12 +17491,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "polkavm-linux-raw" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23eff02c070c70f31878a3d915e88a914ecf3e153741e2fb572dde28cce20fde" - [[package]] name = "polkavm-linux-raw" version = "0.26.0" @@ -18237,15 +18008,6 @@ dependencies = [ "prost 0.13.5", ] -[[package]] -name = "psm" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" -dependencies = [ - "cc", -] - [[package]] name = "pulley-interpreter" version = "35.0.0" @@ -18666,18 +18428,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "regalloc2" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" -dependencies = [ - "fxhash", - "log", - "slice-group-by", - "smallvec", -] - [[package]] name = "regalloc2" version = "0.9.3" @@ -18792,10 +18542,10 @@ dependencies = [ "sp-consensus-grandpa", "sp-core 28.0.0", "sp-rpc", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "staging-xcm", "thiserror 1.0.65", "tokio", @@ -18817,7 +18567,7 @@ dependencies = [ "num-traits", "parking_lot 0.12.3", "serde_json", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "sysinfo", @@ -19248,7 +18998,7 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-core 28.0.0", @@ -19256,10 +19006,10 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -19271,7 +19021,7 @@ dependencies = [ name = "rococo-runtime" version = "7.0.0" dependencies = [ - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "bitvec", "frame-benchmarking", "frame-executive", @@ -19338,8 +19088,8 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api 26.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -19348,17 +19098,17 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-mmr-primitives", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -19376,8 +19126,8 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime", + "sp-weights", "staging-xcm", "staging-xcm-builder", ] @@ -19605,20 +19355,6 @@ dependencies = [ "nom 7.1.3", ] -[[package]] -name = "rustix" -version = "0.36.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - [[package]] name = "rustix" version = "0.37.23" @@ -19894,18 +19630,6 @@ dependencies = [ "thiserror 1.0.65", ] -[[package]] -name = "sc-allocator" -version = "31.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c10a9966875fcbde028c73697c6d5faad5f5d24e94b3c949fb1d063c727381d" -dependencies = [ - "log", - "sp-core 36.1.0", - "sp-wasm-interface 21.0.1", - "thiserror 1.0.65", -] - [[package]] name = "sc-authority-discovery" version = "0.34.0" @@ -19928,12 +19652,12 @@ dependencies = [ "sc-service", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-authority-discovery", "sp-blockchain", "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -19956,13 +19680,13 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-transaction-pool-api", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-runtime", + "sp-trie", "substrate-prometheus-endpoint", "substrate-test-runtime-client", ] @@ -19972,14 +19696,14 @@ name = "sc-block-builder" version = "0.33.0" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-blockchain", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", + "sp-runtime", + "sp-state-machine", + "sp-trie", "substrate-test-runtime-client", ] @@ -19996,21 +19720,21 @@ dependencies = [ "regex", "sc-chain-spec-derive", "sc-client-api", - "sc-executor 0.32.0", + "sc-executor", "sc-network", "sc-telemetry", "serde", "serde_json", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-blockchain", "sp-consensus-babe", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-genesis-builder", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-tracing 16.0.0", "substrate-test-runtime", ] @@ -20059,11 +19783,11 @@ dependencies = [ "sp-blockchain", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-panic-handler 13.0.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-panic-handler", + "sp-runtime", "sp-tracing 16.0.0", - "sp-version 29.0.0", + "sp-version", "tempfile", "thiserror 1.0.65", "tokio", @@ -20078,19 +19802,19 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-executor 0.32.0", + "sc-executor", "sc-transaction-pool-api", "sc-utils", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-database", "sp-externalities 0.25.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-storage 19.0.0", - "sp-trie 29.0.0", + "sp-trie", "substrate-prometheus-endpoint", "substrate-test-runtime", ] @@ -20115,14 +19839,14 @@ dependencies = [ "sc-client-api", "sc-state-db", "schnellru", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-blockchain", "sp-core 28.0.0", "sp-database", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-tracing 16.0.0", - "sp-trie 29.0.0", + "sp-trie", "substrate-prometheus-endpoint", "substrate-test-runtime-client", "sysinfo", @@ -20145,8 +19869,8 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-test-primitives", "substrate-prometheus-endpoint", "thiserror 1.0.65", @@ -20170,8 +19894,8 @@ dependencies = [ "sc-network", "sc-network-test", "sc-telemetry", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -20180,8 +19904,8 @@ dependencies = [ "sp-core 28.0.0", "sp-inherents", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-timestamp", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -20212,8 +19936,8 @@ dependencies = [ "sc-network-test", "sc-telemetry", "sc-transaction-pool-api", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -20223,8 +19947,8 @@ dependencies = [ "sp-crypto-hashing 0.1.0", "sp-inherents", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-timestamp", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -20245,15 +19969,15 @@ dependencies = [ "sc-rpc-api", "sc-transaction-pool-api", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20280,16 +20004,16 @@ dependencies = [ "sc-network-types", "sc-utils", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-keystore", "sp-mmr-primitives", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -20310,10 +20034,10 @@ dependencies = [ "sc-consensus-beefy", "sc-rpc", "serde", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20328,7 +20052,7 @@ dependencies = [ "sc-client-api", "sc-consensus", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -20362,17 +20086,17 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -20398,7 +20122,7 @@ dependencies = [ "sp-consensus-grandpa", "sp-core 28.0.0", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-test-runtime-client", "thiserror 1.0.65", "tokio", @@ -20424,7 +20148,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "serde", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-consensus-aura", @@ -20432,8 +20156,8 @@ dependencies = [ "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-timestamp", "substrate-prometheus-endpoint", "substrate-test-runtime-client", @@ -20454,14 +20178,14 @@ dependencies = [ "parking_lot 0.12.3", "sc-client-api", "sc-consensus", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-pow", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.65", ] @@ -20478,14 +20202,14 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "substrate-test-runtime-client", ] @@ -20500,25 +20224,25 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "paste", - "sc-executor-common 0.29.0", - "sc-executor-polkavm 0.29.0", - "sc-executor-wasmtime 0.29.0", + "sc-executor-common", + "sc-executor-polkavm", + "sc-executor-wasmtime", "sc-runtime-test", "sc-tracing", "schnellru", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-io 30.0.0", - "sp-maybe-compressed-blob 11.0.0", - "sp-panic-handler 13.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-maybe-compressed-blob", + "sp-panic-handler", + "sp-runtime", "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-tracing 16.0.0", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "sp-wasm-interface 20.0.0", "substrate-test-runtime", "tempfile", @@ -20527,78 +20251,28 @@ dependencies = [ "wat", ] -[[package]] -name = "sc-executor" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55c745bf88acb34bd606346c7de6cc06f334f627c1ff40380252a6e52ad9354" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.3", - "sc-executor-common 0.38.0", - "sc-executor-polkavm 0.35.0", - "sc-executor-wasmtime 0.38.0", - "schnellru", - "sp-api 36.0.1", - "sp-core 36.1.0", - "sp-externalities 0.30.0", - "sp-io 40.0.1", - "sp-panic-handler 13.0.2", - "sp-runtime-interface 29.0.1", - "sp-trie 39.1.0", - "sp-version 39.0.0", - "sp-wasm-interface 21.0.1", - "tracing", -] - [[package]] name = "sc-executor-common" version = "0.29.0" dependencies = [ "polkavm 0.26.0", - "sc-allocator 23.0.0", - "sp-maybe-compressed-blob 11.0.0", + "sc-allocator", + "sp-maybe-compressed-blob", "sp-wasm-interface 20.0.0", "thiserror 1.0.65", "wasm-instrument", ] -[[package]] -name = "sc-executor-common" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2f84b9aa7664a9b401afbf423bcd3c1845f5adedf4f6030586808238a222df" -dependencies = [ - "polkavm 0.18.0", - "sc-allocator 31.0.0", - "sp-maybe-compressed-blob 11.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 21.0.1", - "thiserror 1.0.65", - "wasm-instrument", -] - [[package]] name = "sc-executor-polkavm" version = "0.29.0" dependencies = [ "log", "polkavm 0.26.0", - "sc-executor-common 0.29.0", + "sc-executor-common", "sp-wasm-interface 20.0.0", ] -[[package]] -name = "sc-executor-polkavm" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb4929b3457077f9b30ad397a724116f43f252a889ec334ec369f6cdad8f76c" -dependencies = [ - "log", - "polkavm 0.18.0", - "sc-executor-common 0.38.0", - "sp-wasm-interface 21.0.1", -] - [[package]] name = "sc-executor-wasmtime" version = "0.29.0" @@ -20610,34 +20284,17 @@ dependencies = [ "parking_lot 0.12.3", "paste", "rustix 1.0.8", - "sc-allocator 23.0.0", - "sc-executor-common 0.29.0", + "sc-allocator", + "sc-executor-common", "sc-runtime-test", - "sp-io 30.0.0", + "sp-io", "sp-runtime-interface 24.0.0", "sp-wasm-interface 20.0.0", "tempfile", - "wasmtime 35.0.0", + "wasmtime", "wat", ] -[[package]] -name = "sc-executor-wasmtime" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5ad79b030a1f91ef0f667e58ac35e1c9fa33a6b8a0ec1ae7fe4890322535ac" -dependencies = [ - "anyhow", - "log", - "parking_lot 0.12.3", - "rustix 0.36.17", - "sc-allocator 31.0.0", - "sc-executor-common 0.38.0", - "sp-runtime-interface 29.0.1", - "sp-wasm-interface 21.0.1", - "wasmtime 8.0.1", -] - [[package]] name = "sc-informant" version = "0.33.0" @@ -20650,7 +20307,7 @@ dependencies = [ "sc-network", "sc-network-sync", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -20660,9 +20317,9 @@ dependencies = [ "array-bytes 6.2.2", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-keystore", "tempfile", "thiserror 1.0.65", ] @@ -20685,12 +20342,12 @@ dependencies = [ "sc-network", "sc-network-types", "sc-transaction-pool-api", - "sp-api 26.0.0", + "sp-api", "sp-consensus", "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-keystore", "sp-mixnet", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror 1.0.65", ] @@ -20733,12 +20390,12 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "substrate-test-runtime", @@ -20760,7 +20417,7 @@ version = "0.33.0" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -20779,7 +20436,7 @@ dependencies = [ "sc-network-sync", "sc-network-types", "schnellru", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-prometheus-endpoint", "substrate-test-runtime-client", "tokio", @@ -20802,7 +20459,7 @@ dependencies = [ "sc-network-types", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror 1.0.65", ] @@ -20820,7 +20477,7 @@ dependencies = [ "sc-network-sync", "sc-network-types", "sp-consensus", - "sp-runtime 31.0.1", + "sp-runtime", "sp-statement-store", "substrate-prometheus-endpoint", ] @@ -20849,12 +20506,12 @@ dependencies = [ "sc-utils", "schnellru", "smallvec", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-test-primitives", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -20889,7 +20546,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "substrate-test-runtime", "substrate-test-runtime-client", @@ -20910,7 +20567,7 @@ dependencies = [ "sc-network-types", "sc-utils", "sp-consensus", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-prometheus-endpoint", ] @@ -20962,13 +20619,13 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", - "sp-api 26.0.0", + "sp-api", "sp-consensus", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-keystore 0.34.0", + "sp-keystore", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "substrate-test-runtime-client", "threadpool", @@ -21006,18 +20663,18 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-keystore 0.34.0", + "sp-keystore", "sp-offchain", "sp-rpc", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-statement-store", - "sp-version 29.0.0", + "sp-version", "substrate-test-runtime-client", "tokio", ] @@ -21036,8 +20693,8 @@ dependencies = [ "serde_json", "sp-core 28.0.0", "sp-rpc", - "sp-runtime 31.0.1", - "sp-version 29.0.0", + "sp-runtime", + "sp-version", "thiserror 1.0.65", ] @@ -21092,15 +20749,15 @@ dependencies = [ "schnellru", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-maybe-compressed-blob 11.0.0", + "sp-maybe-compressed-blob", "sp-rpc", - "sp-runtime 31.0.1", - "sp-version 29.0.0", + "sp-runtime", + "sp-version", "substrate-prometheus-endpoint", "substrate-test-runtime", "substrate-test-runtime-client", @@ -21115,8 +20772,8 @@ name = "sc-runtime-test" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -21128,13 +20785,13 @@ dependencies = [ "cumulus-primitives-proof-size-hostfunction", "cumulus-test-runtime", "parity-scale-codec", - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", + "sc-executor", + "sc-executor-common", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-state-machine 0.35.0", - "sp-version 29.0.0", + "sp-io", + "sp-state-machine", + "sp-version", "sp-wasm-interface 20.0.0", "subxt 0.43.0", "thiserror 1.0.65", @@ -21159,7 +20816,7 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor 0.32.0", + "sc-executor", "sc-informant", "sc-keystore", "sc-network", @@ -21180,20 +20837,20 @@ dependencies = [ "schnellru", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-session", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-storage 19.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "static_init", "substrate-prometheus-endpoint", "substrate-test-runtime", @@ -21220,18 +20877,18 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor 0.32.0", + "sc-executor", "sc-network", "sc-network-sync", "sc-service", "sc-transaction-pool-api", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-io", + "sp-runtime", + "sp-state-machine", "sp-storage 19.0.0", "sp-tracing 16.0.0", "substrate-test-runtime", @@ -21259,10 +20916,10 @@ dependencies = [ "parking_lot 0.12.3", "sc-client-api", "sc-keystore", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-statement-store", "sp-tracing 16.0.0", "substrate-prometheus-endpoint", @@ -21296,7 +20953,7 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror 1.0.65", ] @@ -21316,8 +20973,8 @@ dependencies = [ "serde_json", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", ] [[package]] @@ -21355,11 +21012,11 @@ dependencies = [ "sc-client-api", "sc-tracing-proc-macro", "serde", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-core 28.0.0", "sp-rpc", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "thiserror 1.0.65", "tracing", @@ -21402,12 +21059,12 @@ dependencies = [ "sc-utils", "serde", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "sp-transaction-pool", "substrate-prometheus-endpoint", @@ -21437,7 +21094,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror 1.0.65", ] @@ -21451,7 +21108,7 @@ dependencies = [ "log", "parking_lot 0.12.3", "prometheus", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "tokio-test", ] @@ -22204,7 +21861,7 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -22481,8 +22138,8 @@ dependencies = [ "snowbridge-ethereum", "snowbridge-milagro-bls", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "ssz_rs", "ssz_rs_derive", @@ -22501,10 +22158,10 @@ dependencies = [ "polkadot-parachain-primitives", "scale-info", "serde", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22529,8 +22186,8 @@ dependencies = [ "scale-info", "serde", "serde-big-array", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -22550,8 +22207,8 @@ dependencies = [ "snowbridge-test-utils", "snowbridge-verification-primitives", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22569,7 +22226,7 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", ] @@ -22603,10 +22260,10 @@ dependencies = [ "scale-info", "snowbridge-core", "snowbridge-verification-primitives", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22622,7 +22279,7 @@ dependencies = [ "snowbridge-core", "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -22634,7 +22291,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "snowbridge-merkle-tree", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", ] @@ -22658,8 +22315,8 @@ dependencies = [ "snowbridge-pallet-ethereum-client-fixtures", "snowbridge-verification-primitives", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "static_assertions", ] @@ -22695,9 +22352,9 @@ dependencies = [ "snowbridge-pallet-ethereum-client", "snowbridge-pallet-inbound-queue-fixtures", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22736,9 +22393,9 @@ dependencies = [ "snowbridge-pallet-inbound-queue-v2-fixtures", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22774,10 +22431,10 @@ dependencies = [ "snowbridge-core", "snowbridge-merkle-tree", "snowbridge-outbound-queue-primitives", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", ] @@ -22803,10 +22460,10 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-test-utils", "snowbridge-verification-primitives", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22832,8 +22489,8 @@ dependencies = [ "snowbridge-outbound-queue-primitives", "snowbridge-pallet-outbound-queue", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22854,9 +22511,9 @@ dependencies = [ "snowbridge-core", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22880,9 +22537,9 @@ dependencies = [ "snowbridge-pallet-system", "snowbridge-test-utils", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-std 14.0.0", "staging-xcm", "staging-xcm-executor", @@ -22898,7 +22555,7 @@ dependencies = [ "log", "pallet-xcm", "parity-scale-codec", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-std 14.0.0", "staging-xcm", "staging-xcm-builder", @@ -22927,9 +22584,9 @@ dependencies = [ "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -22941,7 +22598,7 @@ version = "0.2.0" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", "staging-xcm", ] @@ -22952,7 +22609,7 @@ version = "0.2.0" dependencies = [ "parity-scale-codec", "snowbridge-core", - "sp-api 26.0.0", + "sp-api", "sp-std 14.0.0", "staging-xcm", ] @@ -23043,7 +22700,7 @@ dependencies = [ "sc-consensus", "sc-consensus-aura", "sc-consensus-grandpa", - "sc-executor 0.32.0", + "sc-executor", "sc-network", "sc-offchain", "sc-service", @@ -23051,16 +22708,16 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "solochain-template-runtime", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-blockchain", "sp-consensus-aura", "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", - "sp-runtime 31.0.1", + "sp-runtime", "sp-timestamp", "substrate-build-script-utils", "substrate-frame-rpc-system", @@ -23089,7 +22746,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", @@ -23098,11 +22755,11 @@ dependencies = [ "sp-inherents", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-storage 19.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "substrate-wasm-builder", ] @@ -23115,39 +22772,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro 15.0.0", + "sp-api-proc-macro", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", + "sp-metadata-ir", + "sp-runtime", "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-test-primitives", - "sp-trie 29.0.0", - "sp-version 29.0.0", - "thiserror 1.0.65", -] - -[[package]] -name = "sp-api" -version = "36.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "541da427f47dfb97f3dd0556fa3272bdc5dfa0d4c1ad53a22670a9bae4db63d7" -dependencies = [ - "docify", - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro 22.0.1", - "sp-core 36.1.0", - "sp-externalities 0.30.0", - "sp-metadata-ir 0.10.0", - "sp-runtime 41.1.0", - "sp-runtime-interface 29.0.1", - "sp-state-machine 0.45.0", - "sp-trie 39.1.0", - "sp-version 39.0.0", + "sp-trie", + "sp-version", "thiserror 1.0.65", ] @@ -23165,21 +22799,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "sp-api-proc-macro" -version = "22.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cedafdeaf15c774433ad8f5b00883bdf7d86e7c8b8e050e3439d4ae422114096" -dependencies = [ - "Inflector", - "blake2 0.10.6", - "expander", - "proc-macro-crate 3.1.0", - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.98", -] - [[package]] name = "sp-api-test" version = "2.0.1" @@ -23191,14 +22810,14 @@ dependencies = [ "rustversion", "sc-block-builder", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-consensus", "sp-core 28.0.0", - "sp-metadata-ir 0.6.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-metadata-ir", + "sp-runtime", + "sp-state-machine", "sp-tracing 16.0.0", - "sp-version 29.0.0", + "sp-version", "static_assertions", "substrate-test-runtime-client", "trybuild", @@ -23212,30 +22831,17 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-io 30.0.0", -] - -[[package]] -name = "sp-application-crypto" -version = "40.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba375ab65a76f7413d1bfe48122fd347ce7bd2047e36ecbbd78f12f5adaed121" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 36.1.0", - "sp-io 40.0.1", + "sp-io", ] [[package]] name = "sp-application-crypto-test" version = "2.0.0" dependencies = [ - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", - "sp-keystore 0.34.0", + "sp-keystore", "sp-tracing 16.0.0", "substrate-test-runtime-client", ] @@ -23257,21 +22863,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "sp-arithmetic" -version = "26.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9971b30935cea3858664965039dabd80f67aca74cc6cc6dd42ff1ab14547bc53" -dependencies = [ - "docify", - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "static_assertions", -] - [[package]] name = "sp-arithmetic-fuzzer" version = "2.0.0" @@ -23280,7 +22871,7 @@ dependencies = [ "fraction", "honggfuzz", "num-bigint", - "sp-arithmetic 23.0.0", + "sp-arithmetic", ] [[package]] @@ -23289,18 +22880,18 @@ version = "26.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-application-crypto", + "sp-runtime", ] [[package]] name = "sp-block-builder" version = "26.0.0" dependencies = [ - "sp-api 26.0.0", + "sp-api", "sp-inherents", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -23311,12 +22902,12 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "schnellru", - "sp-api 26.0.0", + "sp-api", "sp-consensus", "sp-core 28.0.0", "sp-database", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.65", "tracing", ] @@ -23329,8 +22920,8 @@ dependencies = [ "futures", "log", "sp-inherents", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.65", ] @@ -23341,11 +22932,11 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-consensus-slots", "sp-inherents", - "sp-runtime 31.0.1", + "sp-runtime", "sp-timestamp", ] @@ -23357,12 +22948,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-consensus-slots", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", + "sp-runtime", "sp-timestamp", ] @@ -23374,15 +22965,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-keystore 0.34.0", + "sp-io", + "sp-keystore", "sp-mmr-primitives", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime", + "sp-weights", "strum 0.26.3", "w3f-bls", ] @@ -23396,11 +22987,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", ] [[package]] @@ -23408,9 +22999,9 @@ name = "sp-consensus-pow" version = "0.32.0" dependencies = [ "parity-scale-codec", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -23420,11 +23011,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-consensus-slots", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -23554,7 +23145,7 @@ dependencies = [ name = "sp-core-hashing-proc-macro" version = "15.0.0" dependencies = [ - "sp-crypto-hashing-proc-macro 0.1.0", + "sp-crypto-hashing-proc-macro", ] [[package]] @@ -23586,7 +23177,7 @@ dependencies = [ "digest 0.10.7", "sha2 0.10.9", "sha3", - "sp-crypto-hashing-proc-macro 0.1.0", + "sp-crypto-hashing-proc-macro", "twox-hash 1.6.3", ] @@ -23613,17 +23204,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "sp-crypto-hashing-proc-macro" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" -dependencies = [ - "quote 1.0.40", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 2.0.98", -] - [[package]] name = "sp-database" version = "10.0.0" @@ -23679,8 +23259,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", ] [[package]] @@ -23692,7 +23272,7 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror 1.0.65", ] @@ -23712,38 +23292,11 @@ dependencies = [ "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-keystore 0.34.0", + "sp-keystore", "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-tracing 16.0.0", - "sp-trie 29.0.0", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-io" -version = "40.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e41d010bcc515d119901ff7ac83150c335d543c7f6c03be5c8fe08430b8a03b" -dependencies = [ - "bytes", - "docify", - "ed25519-dalek", - "libsecp256k1", - "log", - "parity-scale-codec", - "polkavm-derive 0.18.0", - "rustversion", - "secp256k1 0.28.2", - "sp-core 36.1.0", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.30.0", - "sp-keystore 0.42.0", - "sp-runtime-interface 29.0.1", - "sp-state-machine 0.45.0", - "sp-tracing 17.1.0", - "sp-trie 39.1.0", + "sp-trie", "tracing", "tracing-core", ] @@ -23753,7 +23306,7 @@ name = "sp-keyring" version = "31.0.0" dependencies = [ "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "strum 0.26.3", ] @@ -23767,18 +23320,6 @@ dependencies = [ "sp-externalities 0.25.0", ] -[[package]] -name = "sp-keystore" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45f893398a5330e28f219662c7a0afa174fb068d8f82d2a9990016c4b0bc4369" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.3", - "sp-core 36.1.0", - "sp-externalities 0.30.0", -] - [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" @@ -23787,16 +23328,6 @@ dependencies = [ "zstd 0.12.4", ] -[[package]] -name = "sp-maybe-compressed-blob" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c768c11afbe698a090386876911da4236af199cd38a5866748df4d8628aeff" -dependencies = [ - "thiserror 1.0.65", - "zstd 0.12.4", -] - [[package]] name = "sp-metadata-ir" version = "0.6.0" @@ -23806,25 +23337,14 @@ dependencies = [ "scale-info", ] -[[package]] -name = "sp-metadata-ir" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d1db25e362edbf5531b427d4bdfc2562bec6a031c3eb2a9145c0a0a01a572d" -dependencies = [ - "frame-metadata 20.0.0", - "parity-scale-codec", - "scale-info", -] - [[package]] name = "sp-mixnet" version = "0.4.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", ] [[package]] @@ -23837,10 +23357,10 @@ dependencies = [ "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", "sp-debug-derive 14.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror 1.0.65", ] @@ -23851,9 +23371,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-test-utils", ] @@ -23865,16 +23385,16 @@ dependencies = [ "honggfuzz", "rand 0.8.5", "sp-npos-elections", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] name = "sp-offchain" version = "26.0.0" dependencies = [ - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -23885,16 +23405,6 @@ dependencies = [ "regex", ] -[[package]] -name = "sp-panic-handler" -version = "13.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8b52e69a577cbfdea62bfaf16f59eb884422ce98f78b5cd8d9bf668776bced1" -dependencies = [ - "backtrace", - "regex", -] - [[package]] name = "sp-rpc" version = "26.0.0" @@ -23909,7 +23419,7 @@ dependencies = [ name = "sp-runtime" version = "31.0.1" dependencies = [ - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "docify", "either", "hash256-std-hasher", @@ -23923,52 +23433,22 @@ dependencies = [ "serde", "serde_json", "simple-mermaid", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-state-machine 0.35.0", + "sp-io", + "sp-state-machine", "sp-std 14.0.0", "sp-tracing 16.0.0", - "sp-trie 29.0.0", - "sp-weights 27.0.0", + "sp-trie", + "sp-weights", "substrate-test-runtime-client", "tracing", "tuplex", "zstd 0.12.4", ] -[[package]] -name = "sp-runtime" -version = "41.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3864101a28faba3d8eca026e3f56ea20dd1d979ce1bcc20152e86c9d82be52bf" -dependencies = [ - "binary-merkle-tree 16.0.0", - "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 40.1.0", - "sp-arithmetic 26.1.0", - "sp-core 36.1.0", - "sp-io 40.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 39.1.0", - "sp-weights 31.1.0", - "tracing", - "tuplex", -] - [[package]] name = "sp-runtime-interface" version = "24.0.0" @@ -23979,10 +23459,10 @@ dependencies = [ "polkavm-derive 0.26.0", "rustversion", "sp-externalities 0.25.0", - "sp-io 30.0.0", + "sp-io", "sp-runtime-interface-proc-macro 17.0.0", "sp-runtime-interface-test-wasm", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-std 14.0.0", "sp-storage 19.0.0", "sp-tracing 16.0.0", @@ -24041,14 +23521,14 @@ dependencies = [ name = "sp-runtime-interface-test" version = "2.0.0" dependencies = [ - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sc-executor", + "sc-executor-common", + "sp-io", + "sp-runtime", "sp-runtime-interface 24.0.0", "sp-runtime-interface-test-wasm", "sp-runtime-interface-test-wasm-deprecated", - "sp-state-machine 0.35.0", + "sp-state-machine", "tracing", "tracing-core", ] @@ -24059,7 +23539,7 @@ version = "2.0.0" dependencies = [ "bytes", "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -24069,7 +23549,7 @@ name = "sp-runtime-interface-test-wasm-deprecated" version = "2.0.0" dependencies = [ "sp-core 28.0.0", - "sp-io 30.0.0", + "sp-io", "sp-runtime-interface 24.0.0", "substrate-wasm-builder", ] @@ -24080,10 +23560,10 @@ version = "27.0.0" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 26.0.0", + "sp-api", "sp-core 28.0.0", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "sp-staking", ] @@ -24096,7 +23576,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -24115,30 +23595,9 @@ dependencies = [ "smallvec", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-panic-handler 13.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", - "thiserror 1.0.65", - "tracing", - "trie-db", -] - -[[package]] -name = "sp-state-machine" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206508475c01ae2e14f171d35d7fc3eaa7278140d7940416591d49a784792ed6" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand 0.8.5", - "smallvec", - "sp-core 36.1.0", - "sp-externalities 0.30.0", - "sp-panic-handler 13.0.2", - "sp-trie 39.1.0", + "sp-panic-handler", + "sp-runtime", + "sp-trie", "thiserror 1.0.65", "tracing", "trie-db", @@ -24156,12 +23615,12 @@ dependencies = [ "rand 0.8.5", "scale-info", "sha2 0.10.9", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", "sp-externalities 0.25.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-runtime-interface 24.0.0", "thiserror 1.0.65", "x25519-dalek", @@ -24208,9 +23667,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 30.0.0", + "sp-application-crypto", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -24220,7 +23679,7 @@ dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 31.0.1", + "sp-runtime", "thiserror 1.0.65", ] @@ -24251,8 +23710,8 @@ dependencies = [ name = "sp-transaction-pool" version = "26.0.0" dependencies = [ - "sp-api 26.0.0", - "sp-runtime 31.0.1", + "sp-api", + "sp-runtime", ] [[package]] @@ -24264,8 +23723,8 @@ dependencies = [ "scale-info", "sp-core 28.0.0", "sp-inherents", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-runtime", + "sp-trie", ] [[package]] @@ -24278,7 +23737,7 @@ dependencies = [ "foldhash", "hash-db", "hashbrown 0.15.3", - "memory-db 0.34.0", + "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", @@ -24287,7 +23746,7 @@ dependencies = [ "schnellru", "sp-core 28.0.0", "sp-externalities 0.25.0", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.65", "tracing", @@ -24297,29 +23756,6 @@ dependencies = [ "trie-standardmap", ] -[[package]] -name = "sp-trie" -version = "39.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a555bf4c42ca89e2e7bf2f11308806dad13cdbd7f8fd60cf2649f12b6ee809bf" -dependencies = [ - "ahash", - "hash-db", - "memory-db 0.32.0", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand 0.8.5", - "scale-info", - "schnellru", - "sp-core 36.1.0", - "sp-externalities 0.30.0", - "thiserror 1.0.65", - "tracing", - "trie-db", - "trie-root", -] - [[package]] name = "sp-version" version = "29.0.0" @@ -24329,28 +23765,10 @@ dependencies = [ "parity-wasm", "scale-info", "serde", - "sp-crypto-hashing-proc-macro 0.1.0", - "sp-runtime 31.0.1", + "sp-crypto-hashing-proc-macro", + "sp-runtime", "sp-std 14.0.0", - "sp-version-proc-macro 13.0.0", - "thiserror 1.0.65", -] - -[[package]] -name = "sp-version" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd736a15ff2ea0a67c5a3bbdfd842d88f11f0774d7701a8d8a316f8deba276c5" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-crypto-hashing-proc-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 41.1.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-version-proc-macro 15.0.0", + "sp-version-proc-macro", "thiserror 1.0.65", ] @@ -24362,20 +23780,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2 1.0.95", "quote 1.0.40", - "sp-version 29.0.0", - "syn 2.0.98", -] - -[[package]] -name = "sp-version-proc-macro" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54cabc8279e835cd9c608d70cb00e693bddec94fe8478e9f3104dad1da5f93ca" -dependencies = [ - "parity-scale-codec", - "proc-macro-warning", - "proc-macro2 1.0.95", - "quote 1.0.40", + "sp-version", "syn 2.0.98", ] @@ -24387,7 +23792,7 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "wasmtime 35.0.0", + "wasmtime", ] [[package]] @@ -24400,7 +23805,6 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "wasmtime 8.0.1", ] [[package]] @@ -24413,25 +23817,10 @@ dependencies = [ "schemars", "serde", "smallvec", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-debug-derive 14.0.0", ] -[[package]] -name = "sp-weights" -version = "31.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "515aa194eabac059041df2dbee75b059b99981213ec680e9de85b45b6988346a" -dependencies = [ - "bounded-collections 0.2.3", - "parity-scale-codec", - "scale-info", - "serde", - "smallvec", - "sp-arithmetic 26.1.0", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "spin" version = "0.5.2" @@ -24779,8 +24168,8 @@ dependencies = [ "sc-service", "sp-blockchain", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-statement-store", "thiserror 1.0.65", ] @@ -24794,7 +24183,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -24816,9 +24205,9 @@ dependencies = [ "scale-info", "schemars", "serde", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-io", + "sp-runtime", + "sp-weights", "tracing", "xcm-procedural", ] @@ -24844,12 +24233,12 @@ dependencies = [ "polkadot-test-runtime", "primitive-types 0.13.1", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", - "sp-weights 27.0.0", + "sp-weights", "staging-xcm", "staging-xcm-executor", "tracing", @@ -24866,11 +24255,11 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-io", + "sp-runtime", + "sp-weights", "staging-xcm", "tracing", ] @@ -25061,7 +24450,7 @@ dependencies = [ "scale-info", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-storage 19.0.0", "tokio", ] @@ -25080,11 +24469,11 @@ dependencies = [ "sc-rpc-api", "sc-transaction-pool", "sc-transaction-pool-api", - "sp-api 26.0.0", + "sp-api", "sp-block-builder", "sp-blockchain", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "sp-tracing 16.0.0", "substrate-test-runtime-client", "tokio", @@ -25139,8 +24528,8 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-trie 29.0.0", + "sp-runtime", + "sp-trie", "strum 0.26.3", "thiserror 1.0.65", ] @@ -25155,7 +24544,7 @@ dependencies = [ "sc-rpc-api", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "tokio", ] @@ -25169,9 +24558,9 @@ dependencies = [ "sc-rpc-api", "serde", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", - "sp-trie 29.0.0", + "sp-runtime", + "sp-state-machine", + "sp-trie", "trie-db", ] @@ -25186,7 +24575,7 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-consensus", - "sc-executor 0.32.0", + "sc-executor", "sc-service", "serde", "serde_json", @@ -25194,8 +24583,8 @@ dependencies = [ "sp-consensus", "sp-core 28.0.0", "sp-keyring", - "sp-keystore 0.34.0", - "sp-runtime 31.0.1", + "sp-keystore", + "sp-runtime", "tokio", ] @@ -25219,14 +24608,14 @@ dependencies = [ "pretty_assertions", "sc-block-builder", "sc-chain-spec", - "sc-executor 0.32.0", - "sc-executor-common 0.29.0", + "sc-executor", + "sc-executor-common", "sc-service", "scale-info", "serde", "serde_json", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", + "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-consensus", "sp-consensus-aura", @@ -25238,16 +24627,16 @@ dependencies = [ "sp-externalities 0.25.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", - "sp-state-machine 0.35.0", + "sp-state-machine", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-trie 29.0.0", - "sp-version 29.0.0", + "sp-trie", + "sp-version", "substrate-test-runtime-client", "substrate-wasm-builder", "tracing", @@ -25262,11 +24651,11 @@ dependencies = [ "sc-block-builder", "sc-client-api", "sc-consensus", - "sp-api 26.0.0", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-test-client", "substrate-test-runtime", ] @@ -25283,7 +24672,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sp-blockchain", - "sp-runtime 31.0.1", + "sp-runtime", "substrate-test-runtime-client", "thiserror 1.0.65", ] @@ -25341,16 +24730,16 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "polkavm-linker 0.26.0", - "sc-executor 0.32.0", + "sc-executor", "shlex", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-maybe-compressed-blob 11.0.0", + "sp-io", + "sp-maybe-compressed-blob", "sp-tracing 16.0.0", - "sp-version 29.0.0", + "sp-version", "strum 0.26.3", "tempfile", - "toml 0.8.19", + "toml", "walkdir", "wasm-opt", ] @@ -25601,12 +24990,7 @@ dependencies = [ "parity-scale-codec", "proc-macro-error2", "quote 1.0.40", - "sc-executor 0.42.0", - "sc-executor-common 0.38.0", "scale-typegen", - "sp-io 40.0.1", - "sp-maybe-compressed-blob 11.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-state-machine 0.45.0", "subxt-codegen 0.43.0", "subxt-metadata 0.43.0", "subxt-utils-fetchmetadata 0.43.0", @@ -25861,7 +25245,7 @@ version = "12.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42bcacd080282a72e795864660b148392af7babd75691d5ae9a3b77e29c98c77" dependencies = [ - "cpp_demangle 0.4.3", + "cpp_demangle", "rustc-demangle", "symbolic-common", ] @@ -26023,12 +25407,6 @@ dependencies = [ "xattr", ] -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - [[package]] name = "target-lexicon" version = "0.13.2" @@ -26160,7 +25538,7 @@ dependencies = [ "dlmalloc", "parity-scale-codec", "polkadot-parachain-primitives", - "sp-io 30.0.0", + "sp-io", "substrate-wasm-builder", "tiny-keccak", ] @@ -26207,7 +25585,7 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", - "sp-io 30.0.0", + "sp-io", "substrate-wasm-builder", "tiny-keccak", ] @@ -26246,7 +25624,7 @@ dependencies = [ "frame-support", "polkadot-primitives", "smallvec", - "sp-runtime 31.0.1", + "sp-runtime", ] [[package]] @@ -26258,7 +25636,7 @@ dependencies = [ "polkadot-core-primitives", "rococo-runtime-constants", "smallvec", - "sp-runtime 31.0.1", + "sp-runtime", "staging-xcm", "westend-runtime-constants", ] @@ -26597,15 +25975,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - [[package]] name = "toml" version = "0.8.19" @@ -26843,7 +26212,7 @@ dependencies = [ "criterion", "hash-db", "keccak-hasher", - "memory-db 0.34.0", + "memory-db", "parity-scale-codec", "trie-db", "trie-root", @@ -26900,7 +26269,7 @@ dependencies = [ "serde_json", "target-triple", "termcolor", - "toml 0.8.19", + "toml", ] [[package]] @@ -27625,16 +26994,6 @@ dependencies = [ "wasmi_core 0.40.0", ] -[[package]] -name = "wasmparser" -version = "0.102.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" -dependencies = [ - "indexmap 1.9.3", - "url", -] - [[package]] name = "wasmparser" version = "0.221.3" @@ -27677,34 +27036,6 @@ dependencies = [ "wasmparser 0.235.0", ] -[[package]] -name = "wasmtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "object 0.30.4", - "once_cell", - "paste", - "psm", - "rayon", - "serde", - "target-lexicon 0.12.16", - "wasmparser 0.102.0", - "wasmtime-cache", - "wasmtime-cranelift", - "wasmtime-environ 8.0.1", - "wasmtime-jit", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - [[package]] name = "wasmtime" version = "35.0.0" @@ -27736,9 +27067,9 @@ dependencies = [ "serde_derive", "serde_json", "smallvec", - "target-lexicon 0.13.2", + "target-lexicon", "wasmparser 0.235.0", - "wasmtime-environ 35.0.0", + "wasmtime-environ", "wasmtime-internal-asm-macros", "wasmtime-internal-cache", "wasmtime-internal-cranelift", @@ -27753,91 +27084,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "wasmtime-asm-macros" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "wasmtime-cache" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" -dependencies = [ - "anyhow", - "base64 0.21.7", - "bincode", - "directories-next", - "file-per-thread-logger", - "log", - "rustix 0.36.17", - "serde", - "sha2 0.10.9", - "toml 0.5.11", - "windows-sys 0.45.0", - "zstd 0.11.2+zstd.1.5.2", -] - -[[package]] -name = "wasmtime-cranelift" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04" -dependencies = [ - "anyhow", - "cranelift-codegen 0.95.1", - "cranelift-entity 0.95.1", - "cranelift-frontend 0.95.1", - "cranelift-native 0.95.1", - "cranelift-wasm", - "gimli 0.27.3", - "log", - "object 0.30.4", - "target-lexicon 0.12.16", - "thiserror 1.0.65", - "wasmparser 0.102.0", - "wasmtime-cranelift-shared", - "wasmtime-environ 8.0.1", -] - -[[package]] -name = "wasmtime-cranelift-shared" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b" -dependencies = [ - "anyhow", - "cranelift-codegen 0.95.1", - "cranelift-native 0.95.1", - "gimli 0.27.3", - "object 0.30.4", - "target-lexicon 0.12.16", - "wasmtime-environ 8.0.1", -] - -[[package]] -name = "wasmtime-environ" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" -dependencies = [ - "anyhow", - "cranelift-entity 0.95.1", - "gimli 0.27.3", - "indexmap 1.9.3", - "log", - "object 0.30.4", - "serde", - "target-lexicon 0.12.16", - "thiserror 1.0.65", - "wasmparser 0.102.0", - "wasmtime-types", -] - [[package]] name = "wasmtime-environ" version = "35.0.0" @@ -27845,9 +27091,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44b6264a78d806924abbc76bbc75eac24976bc83bdfb938e5074ae551242436f" dependencies = [ "anyhow", - "cpp_demangle 0.4.3", + "cpp_demangle", "cranelift-bitset", - "cranelift-entity 0.122.0", + "cranelift-entity", "gimli 0.31.1", "indexmap 2.9.0", "log", @@ -27857,7 +27103,7 @@ dependencies = [ "serde", "serde_derive", "smallvec", - "target-lexicon 0.13.2", + "target-lexicon", "wasm-encoder 0.235.0", "wasmparser 0.235.0", "wasmprinter", @@ -27887,7 +27133,7 @@ dependencies = [ "serde", "serde_derive", "sha2 0.10.9", - "toml 0.8.19", + "toml", "windows-sys 0.59.0", "zstd 0.13.3", ] @@ -27900,21 +27146,21 @@ checksum = "7ec9ad7565e6a8de7cb95484e230ff689db74a4a085219e0da0cbd637a29c01c" dependencies = [ "anyhow", "cfg-if", - "cranelift-codegen 0.122.0", + "cranelift-codegen", "cranelift-control", - "cranelift-entity 0.122.0", - "cranelift-frontend 0.122.0", - "cranelift-native 0.122.0", + "cranelift-entity", + "cranelift-frontend", + "cranelift-native", "gimli 0.31.1", "itertools 0.14.0", "log", "object 0.36.7", "pulley-interpreter", "smallvec", - "target-lexicon 0.13.2", + "target-lexicon", "thiserror 2.0.12", "wasmparser 0.235.0", - "wasmtime-environ 35.0.0", + "wasmtime-environ", "wasmtime-internal-math", "wasmtime-internal-versioned-export-macros", ] @@ -27982,7 +27228,7 @@ checksum = "307708f302f5dcf19c1bbbfb3d9f2cbc837dd18088a7988747b043a46ba38ecc" dependencies = [ "anyhow", "cfg-if", - "cranelift-codegen 0.122.0", + "cranelift-codegen", "log", "object 0.36.7", ] @@ -28005,98 +27251,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2012e7384c25b91aab2f1b6a1e1cbab9d0f199bbea06cc873597a3f047f05730" dependencies = [ "anyhow", - "cranelift-codegen 0.122.0", + "cranelift-codegen", "gimli 0.31.1", "object 0.36.7", - "target-lexicon 0.13.2", + "target-lexicon", "wasmparser 0.235.0", - "wasmtime-environ 35.0.0", + "wasmtime-environ", "wasmtime-internal-cranelift", "winch-codegen", ] -[[package]] -name = "wasmtime-jit" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" -dependencies = [ - "addr2line 0.19.0", - "anyhow", - "bincode", - "cfg-if", - "cpp_demangle 0.3.5", - "gimli 0.27.3", - "log", - "object 0.30.4", - "rustc-demangle", - "serde", - "target-lexicon 0.12.16", - "wasmtime-environ 8.0.1", - "wasmtime-jit-debug", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-jit-debug" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" -dependencies = [ - "object 0.30.4", - "once_cell", - "rustix 0.36.17", -] - -[[package]] -name = "wasmtime-jit-icache-coherence" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" -dependencies = [ - "cfg-if", - "libc", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-runtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" -dependencies = [ - "anyhow", - "cc", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "mach", - "memfd", - "memoffset 0.8.0", - "paste", - "rand 0.8.5", - "rustix 0.36.17", - "wasmtime-asm-macros", - "wasmtime-environ 8.0.1", - "wasmtime-jit-debug", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-types" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" -dependencies = [ - "cranelift-entity 0.95.1", - "serde", - "thiserror 1.0.65", - "wasmparser 0.102.0", -] - [[package]] name = "wast" version = "63.0.0" @@ -28166,7 +27330,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-core 28.0.0", - "sp-runtime 31.0.1", + "sp-runtime", "westend-runtime", "westend-runtime-constants", ] @@ -28176,7 +27340,7 @@ name = "westend-runtime" version = "7.0.0" dependencies = [ "approx", - "binary-merkle-tree 13.0.0", + "binary-merkle-tree", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -28250,9 +27414,9 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api 26.0.0", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -28261,18 +27425,18 @@ dependencies = [ "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io 30.0.0", + "sp-io", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime 31.0.1", + "sp-runtime", "sp-session", "sp-staking", "sp-storage 19.0.0", "sp-tracing 16.0.0", "sp-transaction-pool", - "sp-version 29.0.0", + "sp-version", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28291,8 +27455,8 @@ dependencies = [ "polkadot-runtime-common", "smallvec", "sp-core 28.0.0", - "sp-runtime 31.0.1", - "sp-weights 27.0.0", + "sp-runtime", + "sp-weights", "staging-xcm", "staging-xcm-builder", ] @@ -28376,14 +27540,14 @@ checksum = "839a334ef7c62d8368dbd427e767a6fbb1ba08cc12ecce19cbb666c10613b585" dependencies = [ "anyhow", "cranelift-assembler-x64", - "cranelift-codegen 0.122.0", + "cranelift-codegen", "gimli 0.31.1", "regalloc2 0.12.2", "smallvec", - "target-lexicon 0.13.2", + "target-lexicon", "thiserror 2.0.12", "wasmparser 0.235.0", - "wasmtime-environ 35.0.0", + "wasmtime-environ", "wasmtime-internal-cranelift", "wasmtime-internal-math", ] @@ -28516,15 +27680,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -28561,21 +27716,6 @@ dependencies = [ "windows-targets 0.53.2", ] -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - [[package]] name = "windows-targets" version = "0.48.5" @@ -28623,12 +27763,6 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -28647,12 +27781,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -28671,12 +27799,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -28707,12 +27829,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -28731,12 +27847,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -28755,12 +27865,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -28779,12 +27883,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -28938,8 +28036,8 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "simple-mermaid", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -28968,11 +28066,11 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-parachains", - "sp-arithmetic 23.0.0", + "sp-arithmetic", "sp-core 28.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-executor", @@ -28997,8 +28095,8 @@ dependencies = [ "polkadot-test-service", "sp-consensus", "sp-keyring", - "sp-runtime 31.0.1", - "sp-state-machine 0.35.0", + "sp-runtime", + "sp-state-machine", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-executor", @@ -29029,10 +28127,10 @@ dependencies = [ "pallet-xcm", "parity-scale-codec", "scale-info", - "sp-api 26.0.0", - "sp-io 30.0.0", + "sp-api", + "sp-io", "sp-tracing 16.0.0", - "sp-weights 27.0.0", + "sp-weights", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -29053,8 +28151,8 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -29075,8 +28173,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "sp-tracing 16.0.0", "staging-xcm", "staging-xcm-builder", @@ -29104,8 +28202,8 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-runtime 31.0.1", + "sp-io", + "sp-runtime", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -29347,7 +28445,7 @@ dependencies = [ "serde_json", "thiserror 1.0.65", "tokio", - "toml 0.8.19", + "toml", "tracing", "url", "zombienet-support", @@ -29468,15 +28566,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe 5.0.2+zstd.1.5.2", -] - [[package]] name = "zstd" version = "0.12.4" @@ -29495,16 +28584,6 @@ dependencies = [ "zstd-safe 7.2.4", ] -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - [[package]] name = "zstd-safe" version = "6.0.6" diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index aee6e66d8a9e4..f372f097ee0c0 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -42,7 +42,7 @@ sp-rpc = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } sp-weights = { workspace = true, default-features = true } sqlx = { workspace = true, features = ["macros", "runtime-tokio", "sqlite"] } -subxt = { workspace = true, default-features = true, features = ["reconnecting-rpc-client", "runtime-wasm-path"] } +subxt = { workspace = true, default-features = true, features = ["reconnecting-rpc-client"] } subxt-signer = { workspace = true, features = ["unstable-eth"] } thiserror = { workspace = true } tokio = { workspace = true, features = ["full"] } @@ -56,4 +56,7 @@ substrate-cli-test-utils = { workspace = true } [build-dependencies] git2 = { workspace = true } +sp-io = { workspace = true, default-features = true } +sp-runtime = { workspace = true, default-features = true } +frame-system = { workspace = true, default-features = true } revive-dev-runtime = { workspace = true, default-features = true } diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 76689d123f6c9..f6741a8c33d3f 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -14,11 +14,11 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -use std::{env, fs, path::Path, process::Command}; +use std::{fs, process::Command}; fn main() { generate_git_revision(); - generate_wasm_runtime(); + generate_metadata_file(); } fn generate_git_revision() { @@ -52,25 +52,15 @@ fn generate_git_revision() { println!("cargo:rustc-env=GIT_REVISION={branch}-{id}"); } -fn generate_wasm_runtime() { - let manifest_dir = env::var("CARGO_MANIFEST_DIR") - .expect("`CARGO_MANIFEST_DIR` is always set for `build.rs` files; qed"); +fn generate_metadata_file() { + use revive_dev_runtime::Runtime; + use sp_runtime::BuildStorage; - let symlink_path = Path::new(&manifest_dir).join("revive_runtime.wasm"); - - // Get the WASM binary path from the runtime crate - let wasm_source = revive_dev_runtime::WASM_BINARY_PATH - .expect("WASM_BINARY_PATH is not set. Please build the runtime with WASM support enabled."); - - // Remove existing symlink/file if it exists - let _ = fs::remove_file(&symlink_path); - - // Create symlink to the runtime's WASM file - #[cfg(unix)] - std::os::unix::fs::symlink(wasm_source, &symlink_path) - .expect("Failed to create symlink to WASM file"); - - #[cfg(windows)] - std::os::windows::fs::symlink_file(wasm_source, &symlink_path) - .expect("Failed to create symlink to WASM file"); + let t = frame_system::GenesisConfig::::default().build_storage().unwrap(); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| { + let metadata = Runtime::metadata_at_version(16).unwrap(); + let bytes: &[u8] = &metadata; + fs::write("revive_chain.scale", bytes).unwrap(); + }); } diff --git a/substrate/frame/revive/rpc/src/subxt_client.rs b/substrate/frame/revive/rpc/src/subxt_client.rs index d86ccb36832c1..5edcbcfc37d17 100644 --- a/substrate/frame/revive/rpc/src/subxt_client.rs +++ b/substrate/frame/revive/rpc/src/subxt_client.rs @@ -20,7 +20,7 @@ pub use subxt::config::PolkadotConfig as SrcChainConfig; #[subxt::subxt( - runtime_path = "revive_runtime.wasm", + runtime_metadata_path = "revive_chain.scale", // TODO remove once subxt use the same U256 type substitute_type( path = "primitive_types::U256", From 695b40d88ea59e4029533ad202dbd90f5c49ff22 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 18:13:25 +0200 Subject: [PATCH 23/29] rollback --- .github/workflows/checks.yml | 1 - .github/workflows/docs.yml | 1 - substrate/utils/wasm-builder/src/builder.rs | 16 ---------------- 3 files changed, 18 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 8c2a62e50a86d..9152e865c348a 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -31,7 +31,6 @@ jobs: env: RUSTFLAGS: "-D warnings" SKIP_WASM_BUILD: 1 - FORCE_REVIVE_DEV_RUNTIME_WASM_BUILD: 1 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 - name: script diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9c63909fdbe4a..0092b7169ecaa 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -51,7 +51,6 @@ jobs: id: required env: SKIP_WASM_BUILD: 1 - FORCE_REVIVE_DEV_RUNTIME_WASM_BUILD: 1 RUSTDOCFLAGS: "-Dwarnings --default-theme=ayu --html-in-header ./docs/sdk/assets/header.html --extend-css ./docs/sdk/assets/theme.css --html-after-content ./docs/sdk/assets/after-content.html" - run: rm -f ./target/doc/.lock - run: mv ./target/doc ./crate-docs diff --git a/substrate/utils/wasm-builder/src/builder.rs b/substrate/utils/wasm-builder/src/builder.rs index 8a6782ac13226..1d4182d625769 100644 --- a/substrate/utils/wasm-builder/src/builder.rs +++ b/substrate/utils/wasm-builder/src/builder.rs @@ -290,23 +290,8 @@ fn generate_crate_skip_build_env_name() -> String { ) } -/// Generate the name of the force build environment variable for the current crate. -fn generate_crate_force_build_env_name() -> String { - format!( - "FORCE_{}_WASM_BUILD", - env::var("CARGO_PKG_NAME") - .expect("Package name is set") - .to_uppercase() - .replace('-', "_"), - ) -} - /// Checks if the build of the WASM binary should be skipped. fn check_skip_build() -> bool { - if env::var(generate_crate_force_build_env_name()).is_ok() { - return false - } - env::var(crate::SKIP_BUILD_ENV).is_ok() || env::var(generate_crate_skip_build_env_name()).is_ok() || // If we are running in docs.rs, let's skip building. @@ -333,7 +318,6 @@ fn generate_rerun_if_changed_instructions() { println!("cargo:rerun-if-env-changed={}", crate::SKIP_BUILD_ENV); println!("cargo:rerun-if-env-changed={}", crate::FORCE_WASM_BUILD_ENV); println!("cargo:rerun-if-env-changed={}", generate_crate_skip_build_env_name()); - println!("cargo:rerun-if-env-changed={}", generate_crate_force_build_env_name()); } /// Build the currently built project as wasm binary. From c06f14aa67d03dee707c398abc832b4d3d472bb1 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 18:20:41 +0200 Subject: [PATCH 24/29] fix --- Cargo.lock | 1 - substrate/frame/revive/rpc/Cargo.toml | 1 - substrate/frame/revive/rpc/build.rs | 5 +---- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index faa749ac402ff..963a462aa74d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13254,7 +13254,6 @@ dependencies = [ "anyhow", "clap", "env_logger 0.11.3", - "frame-system", "futures", "git2", "hex", diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index f372f097ee0c0..2a8e6583c0eb6 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -58,5 +58,4 @@ substrate-cli-test-utils = { workspace = true } git2 = { workspace = true } sp-io = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } -frame-system = { workspace = true, default-features = true } revive-dev-runtime = { workspace = true, default-features = true } diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index f6741a8c33d3f..21458ef93922d 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -54,10 +54,7 @@ fn generate_git_revision() { fn generate_metadata_file() { use revive_dev_runtime::Runtime; - use sp_runtime::BuildStorage; - - let t = frame_system::GenesisConfig::::default().build_storage().unwrap(); - let mut ext = sp_io::TestExternalities::new(t); + let mut ext = sp_io::TestExternalities::new(Default::default()); ext.execute_with(|| { let metadata = Runtime::metadata_at_version(16).unwrap(); let bytes: &[u8] = &metadata; From a06bbc43a4af224e6ca49316c90d71a7977f0293 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Wed, 1 Oct 2025 19:58:30 +0200 Subject: [PATCH 25/29] fix taplo --- substrate/frame/revive/rpc/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml index 2a8e6583c0eb6..ca09cf4c96a4e 100644 --- a/substrate/frame/revive/rpc/Cargo.toml +++ b/substrate/frame/revive/rpc/Cargo.toml @@ -56,6 +56,6 @@ substrate-cli-test-utils = { workspace = true } [build-dependencies] git2 = { workspace = true } +revive-dev-runtime = { workspace = true, default-features = true } sp-io = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } -revive-dev-runtime = { workspace = true, default-features = true } From 69a5d96ae92b438c74fa184be0cdde13e2ce90bf Mon Sep 17 00:00:00 2001 From: pgherveou Date: Thu, 2 Oct 2025 20:14:09 +0200 Subject: [PATCH 26/29] publish=true --- substrate/frame/revive/dev-node/runtime/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/substrate/frame/revive/dev-node/runtime/Cargo.toml b/substrate/frame/revive/dev-node/runtime/Cargo.toml index 3b5f144689e86..7c1258a0d76d0 100644 --- a/substrate/frame/revive/dev-node/runtime/Cargo.toml +++ b/substrate/frame/revive/dev-node/runtime/Cargo.toml @@ -6,7 +6,6 @@ authors.workspace = true homepage.workspace = true repository.workspace = true edition.workspace = true -publish = false [dependencies] array-bytes = { workspace = true } From 02b9d430ddd75829cc6a3f84c7d4257ef12fd4c3 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Thu, 2 Oct 2025 22:57:30 +0200 Subject: [PATCH 27/29] fix --- substrate/frame/revive/dev-node/runtime/Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/substrate/frame/revive/dev-node/runtime/Cargo.toml b/substrate/frame/revive/dev-node/runtime/Cargo.toml index 7c1258a0d76d0..9a743170c8ac0 100644 --- a/substrate/frame/revive/dev-node/runtime/Cargo.toml +++ b/substrate/frame/revive/dev-node/runtime/Cargo.toml @@ -1,7 +1,8 @@ [package] name = "revive-dev-runtime" description = "A solochain dev runtime for revive." -version = "0.0.0" +version = "0.1.0" +license = "Apache-2.0" authors.workspace = true homepage.workspace = true repository.workspace = true From 839e9b3d071ed18fbe75bcafbca917a8d615bc4e Mon Sep 17 00:00:00 2001 From: pgherveou Date: Thu, 2 Oct 2025 21:29:46 +0000 Subject: [PATCH 28/29] fix cargo.lock --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 963a462aa74d0..671f499eaaa5b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18664,7 +18664,7 @@ dependencies = [ [[package]] name = "revive-dev-runtime" -version = "0.0.0" +version = "0.1.0" dependencies = [ "array-bytes 6.2.2", "parity-scale-codec", From 5f7a94fcb69c5659aab111c9a13af8fe530614b5 Mon Sep 17 00:00:00 2001 From: pgherveou Date: Fri, 3 Oct 2025 10:02:12 +0200 Subject: [PATCH 29/29] force CI --- substrate/frame/revive/rpc/build.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/substrate/frame/revive/rpc/build.rs b/substrate/frame/revive/rpc/build.rs index 21458ef93922d..5315bd4a0474f 100644 --- a/substrate/frame/revive/rpc/build.rs +++ b/substrate/frame/revive/rpc/build.rs @@ -53,10 +53,9 @@ fn generate_git_revision() { } fn generate_metadata_file() { - use revive_dev_runtime::Runtime; let mut ext = sp_io::TestExternalities::new(Default::default()); ext.execute_with(|| { - let metadata = Runtime::metadata_at_version(16).unwrap(); + let metadata = revive_dev_runtime::Runtime::metadata_at_version(16).unwrap(); let bytes: &[u8] = &metadata; fs::write("revive_chain.scale", bytes).unwrap(); });