From a3dd0326a6a0024b1213113d8ff4042a93e7424f Mon Sep 17 00:00:00 2001 From: magecnion Date: Mon, 9 Dec 2024 13:06:12 +0100 Subject: [PATCH 01/15] update sc-basic-authorship and sc-block-builder --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cf7d008fc8..1aeaf6e524 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -82,8 +82,8 @@ thiserror = "1.0" tokio = "1.38.0" # Substrate Client -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "0.44.0" } +sc-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "0.42.0" } sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } From 39cbce44935bb56c45215a1f9bc1df693512c9fd Mon Sep 17 00:00:00 2001 From: magecnion Date: Mon, 9 Dec 2024 13:12:08 +0100 Subject: [PATCH 02/15] use crates properly --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1aeaf6e524..425dfa1228 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -82,8 +82,8 @@ thiserror = "1.0" tokio = "1.38.0" # Substrate Client -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "0.44.0" } -sc-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "0.42.0" } +sc-basic-authorship = { version = "0.44.0" } +sc-block-builder = { version = "0.42.0" } sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } From 48e11baf77eca093767c072cb1202824ace95248 Mon Sep 17 00:00:00 2001 From: magecnion Date: Mon, 9 Dec 2024 14:02:01 +0100 Subject: [PATCH 03/15] use crates --- Cargo.lock | 543 +++--- Cargo.toml | 152 +- test-utils/client/Cargo.toml | 46 + test-utils/client/README.md | 5 + test-utils/client/src/client_ext.rs | 209 +++ test-utils/client/src/lib.rs | 467 +++++ test-utils/runtime/Cargo.toml | 115 ++ test-utils/runtime/README.md | 5 + test-utils/runtime/build.rs | 43 + test-utils/runtime/client/Cargo.toml | 34 + test-utils/runtime/client/README.md | 5 + .../runtime/client/src/block_builder_ext.rs | 74 + test-utils/runtime/client/src/lib.rs | 223 +++ test-utils/runtime/client/src/trait_tests.rs | 552 ++++++ test-utils/runtime/res/README.md | 24 + .../runtime/res/default_genesis_config.json | 113 ++ .../default_genesis_config_incomplete.json | 99 + .../res/default_genesis_config_invalid.json | 113 ++ .../res/default_genesis_config_invalid_2.json | 113 ++ test-utils/runtime/src/extrinsic.rs | 236 +++ test-utils/runtime/src/genesismap.rs | 187 ++ test-utils/runtime/src/lib.rs | 1608 +++++++++++++++++ .../runtime/src/substrate_test_pallet.rs | 256 +++ .../runtime/transaction-pool/Cargo.toml | 28 + test-utils/runtime/transaction-pool/README.md | 5 + .../runtime/transaction-pool/src/lib.rs | 413 +++++ 26 files changed, 5393 insertions(+), 275 deletions(-) create mode 100644 test-utils/client/Cargo.toml create mode 100644 test-utils/client/README.md create mode 100644 test-utils/client/src/client_ext.rs create mode 100644 test-utils/client/src/lib.rs create mode 100644 test-utils/runtime/Cargo.toml create mode 100644 test-utils/runtime/README.md create mode 100644 test-utils/runtime/build.rs create mode 100644 test-utils/runtime/client/Cargo.toml create mode 100644 test-utils/runtime/client/README.md create mode 100644 test-utils/runtime/client/src/block_builder_ext.rs create mode 100644 test-utils/runtime/client/src/lib.rs create mode 100644 test-utils/runtime/client/src/trait_tests.rs create mode 100644 test-utils/runtime/res/README.md create mode 100644 test-utils/runtime/res/default_genesis_config.json create mode 100644 test-utils/runtime/res/default_genesis_config_incomplete.json create mode 100644 test-utils/runtime/res/default_genesis_config_invalid.json create mode 100644 test-utils/runtime/res/default_genesis_config_invalid_2.json create mode 100644 test-utils/runtime/src/extrinsic.rs create mode 100644 test-utils/runtime/src/genesismap.rs create mode 100644 test-utils/runtime/src/lib.rs create mode 100644 test-utils/runtime/src/substrate_test_pallet.rs create mode 100644 test-utils/runtime/transaction-pool/Cargo.toml create mode 100644 test-utils/runtime/transaction-pool/README.md create mode 100644 test-utils/runtime/transaction-pool/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 7ff3209ace..e8c3a9e4bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -232,7 +232,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -446,7 +446,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", "synstructure 0.13.1", ] @@ -469,7 +469,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -527,7 +527,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -683,7 +683,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1128,7 +1128,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1576,7 +1576,7 @@ checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1603,7 +1603,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1620,7 +1620,7 @@ checksum = "5fb2a9757fb085d6d97856b28d4f049141ca4a61a64c697f4426433b5f6caa1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1725,7 +1725,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1738,7 +1738,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1833,7 +1833,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -1857,7 +1857,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.65", + "syn 2.0.90", "termcolor", "toml 0.8.10", "walkdir", @@ -2019,7 +2019,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -2210,7 +2210,7 @@ dependencies = [ "fs-err", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -2588,7 +2588,8 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad4cc2314d3be8b49c555f6a7e550f5559e73ffd6ef9690ffbd9a706774452e0" dependencies = [ "parity-scale-codec", ] @@ -2717,7 +2718,8 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48554572bd164ee905a6ff3378e46c2101610fd2ffe3110875a6503a240fb3d7" dependencies = [ "frame-support", "frame-support-procedural", @@ -2741,7 +2743,8 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa62cef9f98e81ae37ab965604bdc2ed5e67be6d4e05b04bc5782494b890e5b1" dependencies = [ "Inflector", "array-bytes", @@ -2791,7 +2794,8 @@ dependencies = [ [[package]] name = "frame-executive" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dfc9b1cdc305826ef1196675a53ef7f2db8967a6cf5632775119c41d6f4e299" dependencies = [ "aquamarine", "frame-support", @@ -2821,7 +2825,8 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.5.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4033a2b473472e7ad29ff501d3cedff36f8eaa26f61654d19b6b5cf3e1885296" dependencies = [ "array-bytes", "docify", @@ -2835,8 +2840,9 @@ dependencies = [ [[package]] name = "frame-support" -version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "37.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "847939177e3637c1ec2f78eecf0755910763b8d6c3dfc04aea2efec33823b3af" dependencies = [ "aquamarine", "array-bytes", @@ -2876,8 +2882,9 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "30.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "30.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e8f9b6bc1517a6fcbf0b2377e5c8c6d39f5bb7862b191a59a9992081d63972d" dependencies = [ "Inflector", "cfg-expr", @@ -2890,35 +2897,38 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "frame-support-procedural-tools" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bead15a320be1764cdd50458c4cfacb23e0cee65f64f500f8e34136a94c7eeca" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "frame-system" -version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043790fff021477061b207fd6b33743793b63fc64a583358956787229d039717" dependencies = [ "cfg-if", "docify", @@ -2938,7 +2948,8 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10fb34e948ce86f8e2ceb04d25a0edaa26e308150b6b7c8ce0cbb0e4cd814131" dependencies = [ "frame-benchmarking", "frame-support", @@ -2952,7 +2963,8 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "475c4f8604ba7e4f05cd2c881ba71105093e638b9591ec71a8db14a64b3b4ec3" dependencies = [ "docify", "parity-scale-codec", @@ -2962,7 +2974,8 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec60be1ddc39bd312496e58b2dd82e5f3d1e0609b69f9586ba6967a36453e495" dependencies = [ "frame-support", "parity-scale-codec", @@ -3194,7 +3207,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -3665,7 +3678,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -4069,7 +4082,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -4543,7 +4556,7 @@ dependencies = [ "proc-macro-warning 0.4.2", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -4915,7 +4928,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -4929,7 +4942,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -4940,7 +4953,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -4951,7 +4964,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -4967,7 +4980,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -5195,7 +5208,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -5630,7 +5643,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -5722,7 +5735,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -5768,7 +5781,8 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-aura" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b4c3fc3c5af69af275ee8f1fc70aa73d0633b0cd818c603a2e8b483d4a9ccb" dependencies = [ "frame-support", "frame-system", @@ -5784,7 +5798,8 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ddfa02ecfdd0bfa4841dc16ebd3bdd0d1918751b845f4b36b29c01bfaf75b5b" dependencies = [ "frame-support", "frame-system", @@ -5797,7 +5812,8 @@ dependencies = [ [[package]] name = "pallet-babe" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4cee370246a2a8fa7d62b02b96febde7c8b09d18c9b8ce3a35c20a142379c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5820,7 +5836,8 @@ dependencies = [ [[package]] name = "pallet-balances" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267f2b4c64e06d340fab1e48267e815dc2afaf8e6da16369b26b5c9e1e65f1aa" dependencies = [ "docify", "frame-benchmarking", @@ -6078,7 +6095,8 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78a9db737c0ad83212dd874658194b1be7d9cb3c093599aa02573645f9b991f4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6115,7 +6133,8 @@ dependencies = [ [[package]] name = "pallet-session" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84da59cf6db5db9a4424a5967787bf4ea20bfa903988a2438429c09a48365acf" dependencies = [ "frame-support", "frame-system", @@ -6136,7 +6155,8 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82e375c0a4c4ed079ae49bd2693548bd57178273b37631bcd7e817242d0f2b0" dependencies = [ "docify", "frame-benchmarking", @@ -6150,8 +6170,9 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "36.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f264c80bef4ac3180e5cba619f319d7855cc89ba91b28b3f752620d9425b88" dependencies = [ "docify", "frame-benchmarking", @@ -6170,7 +6191,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d6b4889a0a8565cf0d6ecf3feef787c18ad2c529add4d90ec896873cd422eec" dependencies = [ "frame-support", "frame-system", @@ -6185,7 +6207,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2496ae1bdf86dd0aeb213d33dccd0edb4abfcead660ada070c81b254ea2cbf75" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6201,7 +6224,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1879d1f608f565d590fc7520a8d9977b868a412910f6381a5ebfa45acf8abcfb" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6212,8 +6236,9 @@ dependencies = [ [[package]] name = "pallet-utility" -version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "37.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fe3943d5d0ed2acc047c6825fa68e7bfa5a9313942474214e3e16e4e3f77a5" dependencies = [ "frame-benchmarking", "frame-support", @@ -6431,7 +6456,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -6472,7 +6497,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -6552,7 +6577,7 @@ dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -6562,7 +6587,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -6770,7 +6795,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -6844,7 +6869,7 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -6855,14 +6880,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -6977,7 +7002,7 @@ dependencies = [ "prost 0.12.6", "prost-types 0.12.6", "regex", - "syn 2.0.65", + "syn 2.0.90", "tempfile", ] @@ -7004,7 +7029,7 @@ dependencies = [ "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -7342,7 +7367,7 @@ checksum = "2dfaf0c85b766276c797f3791f5bc6d5bd116b41d53049af2789666b0c0bc9fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -7707,7 +7732,8 @@ dependencies = [ [[package]] name = "sc-allocator" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b975ee3a95eaacb611e7b415737a7fa2db4d8ad7b880cc1b97371b04e95c7903" dependencies = [ "log", "sp-core", @@ -7718,7 +7744,8 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdef7ee4dd39a41957eeafb99c55749f8065a72f46c12e209ed15f4669360a6e" dependencies = [ "futures", "futures-timer", @@ -7740,7 +7767,8 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.42.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f666f8ff11f96bf6d90676739eb7ccb6a156a4507634b7af83b94f0aa8195a50" dependencies = [ "parity-scale-codec", "sp-api", @@ -7755,7 +7783,8 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9149a7ee8a4a799feb3ed581a288a0ce6ede42fb8b1997806f6a29997cdbd9be" dependencies = [ "array-bytes", "docify", @@ -7782,18 +7811,20 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b18cef11d2c69703e0d7c3528202ef4ed1cd2b47a6f063e9e17cad8255b1fa94" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "sc-cli" version = "0.46.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b37e08bde78fa7bdf3e30682a6840236de49d2c11960535eb9a9a1a87a0fd3ab" dependencies = [ "array-bytes", "chrono", @@ -7834,7 +7865,8 @@ dependencies = [ [[package]] name = "sc-client-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e73f1673cdfe658c4be6ffd5113b71c0de74616717e604455dcfd29e15781729" dependencies = [ "fnv", "futures", @@ -7861,7 +7893,8 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b3a8a704ef66326a1f95ae17fe42a10ef55158c738bd904fbc6d4a0e7f9eb29" dependencies = [ "hash-db", "kvdb", @@ -7887,7 +7920,8 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502b55375db80dea8be1336b203eb96c1e22e7c4fa7782dc775bad71688bb91c" dependencies = [ "async-trait", "futures", @@ -7911,7 +7945,8 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cde090c64dfcab34347bd5472b40cc608b7395ef2dd1a8403c6c13dbec74c80" dependencies = [ "async-trait", "futures", @@ -7940,7 +7975,8 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4aea13d44497edd2c240c85a3722c2431eaabf7f6d172891d12908504cab1f" dependencies = [ "async-trait", "fork-tree", @@ -7976,7 +8012,8 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7258d517642944d4e39d11f77a413825349089e01b6f27819f4349932ff07ec" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7988,8 +8025,9 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "197e67ed725bcad27563c4418254e89e56eb79491cebb278e9926760a1fc16d4" dependencies = [ "ahash", "array-bytes", @@ -8033,7 +8071,8 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc77a432b7bdd979c9f72820d214efd0eb0cac102a7dd9e23a4e0e77e5737171" dependencies = [ "assert_matches", "async-trait", @@ -8068,7 +8107,8 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97f4aab75d55fbeee7437ed6a127a749014f831f12a0b409a71cfc3a42453ccd" dependencies = [ "async-trait", "futures", @@ -8091,7 +8131,8 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "963c1ebaf6bd0bc4ab0603c3cd7200ed25230a897a3217928a559fedce6019df" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -8114,7 +8155,8 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3b703a33dcb7cddf19176fdf12294b9a6408125836b0f4afee3e6969e7f190" dependencies = [ "polkavm", "sc-allocator", @@ -8127,7 +8169,8 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26fe58d9cacfab73e5595fa84b80f7bd03efebe54a0574daaeb221a1d1f7ab80" dependencies = [ "log", "polkavm", @@ -8138,7 +8181,8 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd498f2f77ec1f861c30804f5bfd796d4afcc8ce44ea1f11bfbe2847551d161" dependencies = [ "anyhow", "cfg-if", @@ -8156,7 +8200,8 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6dcfaffeeb2d662a26f84706132dcfd294ffd71c4077d0b4f92a6f54db184f6" dependencies = [ "ansi_term", "futures", @@ -8173,7 +8218,8 @@ dependencies = [ [[package]] name = "sc-keystore" version = "33.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebd4b5b5713006117641c049cb082e8a439dd6ac5e7b171e5cef5ce1c9f8af8" dependencies = [ "array-bytes", "parking_lot 0.12.3", @@ -8187,7 +8233,8 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04ac673840824d0357dedee5b952440b469d11f48314ff52ae59049aee7e376d" dependencies = [ "array-bytes", "arrayvec", @@ -8216,7 +8263,8 @@ dependencies = [ [[package]] name = "sc-network" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a4923392c50d67849efca43d1a2601f6150c79fb8ada3383c26ce1b4f28d1af" dependencies = [ "array-bytes", "async-channel", @@ -8267,7 +8315,8 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11a8bbc9d2600f34d021796bdffbb20bdf4723f98ff3126c765b4c9363bef564" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -8285,7 +8334,8 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc2ff366c09b8aba9b0bfd04b991508788203a28da0c66a32625cda7ae8015d" dependencies = [ "ahash", "futures", @@ -8304,7 +8354,8 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18efef00b71e1a7060fb92dcc433ed4bed625a803b074e0bf4b4cf6e1d90384e" dependencies = [ "array-bytes", "async-channel", @@ -8325,7 +8376,8 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628881aacdd36235d2725a7ecb13d6445c76ad470ed6e6473fc58c6b98a2417d" dependencies = [ "array-bytes", "async-channel", @@ -8362,7 +8414,8 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8661c677deb9159c291a4dccbdfeba3e1fe5106caea0936fb70d3765a163aa8e" dependencies = [ "array-bytes", "futures", @@ -8381,7 +8434,8 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.12.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c372dbda66644a1df0daa8c0d99c36b6f74db7dca213d2416cd84f507125224" dependencies = [ "bs58 0.5.0", "ed25519-dalek", @@ -8398,7 +8452,8 @@ dependencies = [ [[package]] name = "sc-offchain" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0fce257906e8a6f2ffbabe64ce9739ef0e18f272f61e759c975446c752cd74" dependencies = [ "array-bytes", "bytes", @@ -8432,7 +8487,8 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f680a0bed67dab19898624246376ba85d5f70a89859ba030830aacd079c28d3c" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8441,7 +8497,8 @@ dependencies = [ [[package]] name = "sc-rpc" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ccc910a40803287c65194e232d99bf6e1f9200b04f8dd91433f298687b8bf3f" dependencies = [ "futures", "jsonrpsee", @@ -8473,7 +8530,8 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "575a098a1c59d15bec2df388437474334b76c512e9dd92b0f275801906303354" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8493,7 +8551,8 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "16.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c14c236a01e03f55f16b92d89fd902cf2e4e9887357a3c36827a1e39b799c6b" dependencies = [ "forwarded-header-value", "futures", @@ -8515,7 +8574,8 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "934087c0aae2642327e07070ae3739ae82bbadaf876fadcff0c9b19c37a87ada" dependencies = [ "array-bytes", "futures", @@ -8547,7 +8607,8 @@ dependencies = [ [[package]] name = "sc-service" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd9eb103478c93e3a9325fb9c07d2c6a507cd04934954c930fc33a1e0791010b" dependencies = [ "async-trait", "directories", @@ -8611,7 +8672,8 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f689d0b97c1bbdb2ca31b5f202bda195947f85c7fef990651cad202b99de896b" dependencies = [ "log", "parity-scale-codec", @@ -8622,7 +8684,8 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2ce11152bd7a2b01713e71de71a5610067bd1b3509aa207e3d87f5ee53dd328" dependencies = [ "derive_more", "futures", @@ -8643,7 +8706,8 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b59589eadf05088221cc60b6d9f68f89208262ae9b1e4fb8704eefe7de48845" dependencies = [ "chrono", "futures", @@ -8663,7 +8727,8 @@ dependencies = [ [[package]] name = "sc-tracing" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bbb3394a7ebed811150ebc00e371af9436b43dc214b97e79e3839ae987953bf" dependencies = [ "ansi_term", "chrono", @@ -8693,18 +8758,20 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151cdf86d79abf22cf2a240a7ca95041c908dbd96c2ae9a818073042aa210964" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "sc-transaction-pool" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f716ef0dc78458f6ecb831cdb3b60ec804c1ed93313d7f98661beb5438dbbf71" dependencies = [ "async-trait", "futures", @@ -8731,7 +8798,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f02936289a079360935685eee5400311994b25e9edb2420a3c4247d419a77f46" dependencies = [ "async-trait", "futures", @@ -8747,7 +8815,8 @@ dependencies = [ [[package]] name = "sc-utils" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acf1bad736c230f16beb1cf48af9e69564df23b13aca9e5751a61266340b4bb5" dependencies = [ "async-channel", "futures", @@ -8987,9 +9056,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] @@ -9005,22 +9074,23 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -9281,7 +9351,8 @@ dependencies = [ [[package]] name = "sp-api" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbce492e0482134128b7729ea36f5ef1a9f9b4de2d48ff8dde7b5e464e28ce75" dependencies = [ "docify", "hash-db", @@ -9303,7 +9374,8 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9aadf9e97e694f0e343978aa632938c5de309cbcc8afed4136cb71596737278" dependencies = [ "Inflector", "blake2 0.10.6", @@ -9311,13 +9383,14 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "sp-application-crypto" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8133012faa5f75b2f0b1619d9f720c1424ac477152c143e5f7dbde2fe1a958" dependencies = [ "parity-scale-codec", "scale-info", @@ -9329,7 +9402,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46d0d0a4c591c421d3231ddd5e27d828618c24456d51445d21a1f79fcee97c23" dependencies = [ "docify", "integer-sqrt", @@ -9337,13 +9411,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-std", "static_assertions", ] [[package]] name = "sp-block-builder" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74738809461e3d4bd707b5b94e0e0c064a623a74a6a8fe5c98514417a02858dd" dependencies = [ "sp-api", "sp-inherents", @@ -9352,8 +9428,9 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "37.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a309eecd6b5689f57e67181deaa628d9c8951db1ba0d26f07c69e14dffdc4765" dependencies = [ "futures", "parity-scale-codec", @@ -9372,7 +9449,8 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce75efd1e164be667a53c20182c45b4c2abe325abcbd21fc292b82be5b9240f7" dependencies = [ "async-trait", "futures", @@ -9387,7 +9465,8 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a8faaa05bbcb9c41f0cc535c4c1315abf6df472b53eae018678d1b4d811ac47" dependencies = [ "async-trait", "parity-scale-codec", @@ -9403,7 +9482,8 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36ee95e17ee8dcd14db7d584b899a426565ca9abe5a266ab82277977fc547f86" dependencies = [ "async-trait", "parity-scale-codec", @@ -9421,7 +9501,8 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "587b791efe6c5f18e09dbbaf1ece0ee7b5fe51602c233e7151a3676b0de0260b" dependencies = [ "finality-grandpa", "log", @@ -9437,8 +9518,9 @@ dependencies = [ [[package]] name = "sp-consensus-slots" -version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "0.40.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbafb7ed44f51c22fa277fb39b33dc601fa426133a8e2b53f3f46b10f07fba43" dependencies = [ "parity-scale-codec", "scale-info", @@ -9449,7 +9531,8 @@ dependencies = [ [[package]] name = "sp-core" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c961a5e33fb2962fa775c044ceba43df9c6f917e2c35d63bfe23738468fa76a7" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -9495,7 +9578,8 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" dependencies = [ "blake2b_simd", "byteorder", @@ -9508,17 +9592,19 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "722cbecdbf5b94578137dbd07feb51e95f7de221be0c1ff4dcfe0bb4cd986929" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -9527,17 +9613,19 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "sp-externalities" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a904407d61cb94228c71b55a9d3708e9d6558991f9e83bd42bd91df37a159d30" dependencies = [ "environmental", "parity-scale-codec", @@ -9546,8 +9634,9 @@ dependencies = [ [[package]] name = "sp-genesis-builder" -version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a646ed222fd86d5680faa4a8967980eb32f644cae6c8523e1c689a6deda3e8" dependencies = [ "parity-scale-codec", "scale-info", @@ -9559,7 +9648,8 @@ dependencies = [ [[package]] name = "sp-inherents" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afffbddc380d99a90c459ba1554bbbc01d62e892de9f1485af6940b89c4c0d57" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9572,7 +9662,8 @@ dependencies = [ [[package]] name = "sp-io" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ef7eb561bb4839cc8424ce58c5ea236cbcca83f26fcc0426d8decfe8aa97d4" dependencies = [ "bytes", "docify", @@ -9598,7 +9689,8 @@ dependencies = [ [[package]] name = "sp-keyring" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c0e20624277f578b27f44ecfbe2ebc2e908488511ee2c900c5281599f700ab3" dependencies = [ "sp-core", "sp-runtime", @@ -9608,7 +9700,8 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0248b4d784cb4a01472276928977121fa39d977a5bb24793b6b15e64b046df42" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -9619,7 +9712,8 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c768c11afbe698a090386876911da4236af199cd38a5866748df4d8628aeff" dependencies = [ "thiserror", "zstd 0.12.4", @@ -9628,7 +9722,8 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a616fa51350b35326682a472ee8e6ba742fdacb18babac38ecd46b3e05ead869" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -9638,7 +9733,8 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.12.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0b017dd54823b6e62f9f7171a1df350972e5c6d0bf17e0c2f78680b5c31942" dependencies = [ "parity-scale-codec", "scale-info", @@ -9649,7 +9745,8 @@ dependencies = [ [[package]] name = "sp-offchain" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d9de237d72ecffd07f90826eef18360208b16d8de939d54e61591fac0fcbf99" dependencies = [ "sp-api", "sp-core", @@ -9659,7 +9756,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416" dependencies = [ "backtrace", "lazy_static", @@ -9669,7 +9767,8 @@ dependencies = [ [[package]] name = "sp-rpc" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45458f0955870a92b3969098d4f1f4e9b55b4282d9f1dc112a51bb5bb6584900" dependencies = [ "rustc-hash", "serde", @@ -9678,8 +9777,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "39.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658f23be7c79a85581029676a73265c107c5469157e3444c8c640fdbaa8bfed0" dependencies = [ "docify", "either", @@ -9705,7 +9805,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985eb981f40c689c6a0012c937b68ed58dabb4341d06f2dfe4dfd5ed72fa4017" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -9724,20 +9825,22 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "sp-session" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d04fcd2d1270038be94d00103e8e95f7fbab9075dcc78096b91d8931ee970d73" dependencies = [ "parity-scale-codec", "scale-info", @@ -9751,7 +9854,8 @@ dependencies = [ [[package]] name = "sp-staking" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143a764cacbab58347d8b2fd4c8909031fb0888d7b02a0ec9fa44f81f780d732" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9764,7 +9868,8 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "930104d6ae882626e8880d9b1578da9300655d337a3ffb45e130c608b6c89660" dependencies = [ "hash-db", "log", @@ -9784,7 +9889,8 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c219bc34ef4d1f9835f3ed881f965643c32034fcc030eb33b759dadbc802c1c2" dependencies = [ "aes-gcm 0.10.2", "curve25519-dalek", @@ -9808,12 +9914,14 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" [[package]] name = "sp-storage" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99c82989b3a4979a7e1ad848aad9f5d0b4388f1f454cc131766526601ab9e8f8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9825,7 +9933,8 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a1cb4df653d62ccc0dbce1db45d1c9443ec60247ee9576962d24da4c9c6f07" dependencies = [ "async-trait", "parity-scale-codec", @@ -9836,8 +9945,9 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +version = "17.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf641a1d17268c8fcfdb8e0fa51a79c2d4222f4cfda5f3944dbdbc384dced8d5" dependencies = [ "parity-scale-codec", "tracing", @@ -9848,7 +9958,8 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc4bf251059485a7dd38fe4afeda8792983511cc47f342ff4695e2dcae6b5247" dependencies = [ "sp-api", "sp-runtime", @@ -9857,7 +9968,8 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c765c2e9817d95f13d42a9f2295c60723464669765c6e5acbacebd2f54932f67" dependencies = [ "async-trait", "parity-scale-codec", @@ -9871,7 +9983,8 @@ dependencies = [ [[package]] name = "sp-trie" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd" dependencies = [ "ahash", "hash-db", @@ -9894,7 +10007,8 @@ dependencies = [ [[package]] name = "sp-version" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d521a405707b5be561367cd3d442ff67588993de24062ce3adefcf8437ee9fe1" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9911,18 +10025,20 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aee8f6730641a65fcf0c8f9b1e448af4b3bb083d08058b47528188bccc7b7a7" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "sp-wasm-interface" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b04b919e150b4736d85089d49327eab65507deb1485eec929af69daa2278eb3" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -9934,7 +10050,8 @@ dependencies = [ [[package]] name = "sp-weights" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93cdaf72a1dad537bbb130ba4d47307ebe5170405280ed1aa31fa712718a400e" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -10124,7 +10241,8 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-xcm" version = "14.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b7b5f531c6bf9629514ef8e5fda0e9e80dd84516957f710940d0e01d3fb36c" dependencies = [ "array-bytes", "bounded-collections", @@ -10237,13 +10355,14 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca58ffd742f693dc13d69bdbb2e642ae239e0053f6aab3b104252892f856700a" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -10268,12 +10387,14 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b285e7d183a32732fdc119f3d81b7915790191fad602b7c709ef247073c77a2e" [[package]] name = "substrate-frame-rpc-system" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdf4468637471dd481811d0d1ffaf8e8a98165d9ad6b586bfb2911ca1cb081f5" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -10293,11 +10414,10 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8fe06b03b8a291c09507c42f92a2c2c10dd3d62975d02c7f64a92d87bfe09b" dependencies = [ - "http-body-util", - "hyper 1.4.1", - "hyper-util", + "hyper 0.14.30", "log", "prometheus", "thiserror", @@ -10307,7 +10427,6 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" dependencies = [ "array-bytes", "async-trait", @@ -10334,7 +10453,6 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" dependencies = [ "array-bytes", "frame-executive", @@ -10342,17 +10460,24 @@ dependencies = [ "frame-support", "frame-system", "frame-system-rpc-runtime-api", + "futures", "log", "pallet-babe", "pallet-balances", "pallet-timestamp", "parity-scale-codec", + "sc-block-builder", + "sc-chain-spec", + "sc-executor", + "sc-executor-common", "sc-service", "scale-info", + "serde", "serde_json", "sp-api", "sp-application-crypto", "sp-block-builder", + "sp-consensus", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-grandpa", @@ -10367,9 +10492,11 @@ dependencies = [ "sp-runtime", "sp-session", "sp-state-machine", + "sp-tracing", "sp-transaction-pool", "sp-trie", "sp-version", + "substrate-test-runtime-client", "substrate-wasm-builder", "tracing", "trie-db", @@ -10378,7 +10505,6 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" dependencies = [ "futures", "sc-block-builder", @@ -10396,7 +10522,8 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0104598a022d22430f27e535b7aed148af9dcd0a3eb23697c02168071a325e33" dependencies = [ "array-bytes", "build-helper", @@ -10446,9 +10573,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.65" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -10475,7 +10602,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -10565,7 +10692,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -10682,7 +10809,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -10854,7 +10981,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -10902,6 +11029,7 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", + "time", "tracing", "tracing-core", "tracing-log", @@ -11310,7 +11438,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -11344,7 +11472,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -12026,12 +12154,13 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "10.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#743dc632fd6115b408376a6e4efe815bd804cd52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87fb4f14094d65c500a59bcf540cf42b99ee82c706edd6226a92e769ad60563e" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -12090,7 +12219,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] @@ -12110,7 +12239,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.90", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 425dfa1228..8bef27591d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -84,79 +84,84 @@ tokio = "1.38.0" # Substrate Client sc-basic-authorship = { version = "0.44.0" } sc-block-builder = { version = "0.42.0" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-chain-spec = { version = "37.0.0" } +sc-cli = { version = "0.46.0", default-features = false } +sc-client-api = { version = "37.0.0" } +sc-client-db = { version = "0.44.0", default-features = false } +sc-consensus = { version = "0.43.0"} +sc-consensus-aura = { version = "0.44.0"} +sc-consensus-grandpa = { version = "0.29.1"} +sc-consensus-manual-seal = { version = "0.45.0"} +sc-executor = { version = "0.40.0"} +sc-keystore = { version = "33.0.0" } +sc-network = { version = "0.44.0" } +sc-network-common = { version = "0.43.0" } +sc-network-sync = { version = "0.43.0" } +sc-offchain = { version = "39.0.0" } +sc-rpc = { version = "39.0.0" } +sc-rpc-api = { version = "0.43.0" } +sc-service = { version = "0.45.0", default-features = false } +sc-telemetry = { version = "24.0.0" } +sc-transaction-pool = { version = "37.0.0" } +sc-transaction-pool-api = { version = "37.0.0" } +sc-utils = { version = "17.0.0" } # Substrate Primitive -sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-crypto-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-database = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-storage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-api = { version = "34.0.0", default-features = false } +sp-block-builder = { version = "34.0.0", default-features = false } +sp-blockchain = { version = "37.0.1" } +sp-consensus = { version = "0.40.0" } +sp-consensus-aura = { version = "0.40.0", default-features = false } +sp-consensus-grandpa = { version = "21.0.0", default-features = false } +sp-core = { version = "34.0.0", default-features = false } +sp-crypto-hashing = { version = "0.1.0", default-features = false } +sp-database = { version = "10.0.0" } +sp-externalities = { version = "0.29.0", default-features = false } +sp-genesis-builder = { version = "0.15.0", default-features = false } +sp-inherents = { version = "34.0.0", default-features = false } +sp-io = { version = "38.0.0", default-features = false } +sp-keyring = { version = "39.0.0" } +sp-keystore = { version = "0.40.0" } +sp-offchain = { version = "34.0.0", default-features = false } +sp-runtime = { version = "39.0.2", default-features = false } +sp-runtime-interface = { version = "28.0.0", default-features = false } +sp-session = { version = "35.0.0", default-features = false } +sp-state-machine = { version = "0.43.0", default-features = false } +sp-std = { version = "14.0.0", default-features = false } +sp-storage = { version = "21.0.0", default-features = false } +sp-timestamp = { version = "34.0.0", default-features = false } +sp-transaction-pool = { version = "34.0.0", default-features = false } +sp-version = { version = "37.0.0", default-features = false } +sp-weights = { version = "31.0.0", default-features = false } # Substrate FRAME -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-benchmarking = { version = "37.0.0", default-features = false } +frame-executive = { version = "37.0.0", default-features = false } +frame-support = { version = "37.0.1", default-features = false } +frame-system = { version = "37.1.0", default-features = false } +frame-system-benchmarking = { version = "37.0.0", default-features = false } +frame-system-rpc-runtime-api = { version = "34.0.0", default-features = false } +frame-metadata-hash-extension = { version = "0.5.0" } +pallet-aura = { version = "36.0.0", default-features = false } +pallet-balances = { version = "38.0.0", default-features = false } +pallet-grandpa = { version = "37.0.0", default-features = false } +pallet-sudo = { version = "37.0.0", default-features = false } +pallet-timestamp = { version = "36.0.1", default-features = false } +pallet-transaction-payment = { version = "37.0.0", default-features = false } +pallet-transaction-payment-rpc = { version = "40.0.0" } +pallet-transaction-payment-rpc-runtime-api = { version = "37.0.0", default-features = false } +pallet-utility = { version = "37.0.1", default-features = false } +pallet-babe = { version = "37.0.0" } # Substrate Utility -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -substrate-test-runtime-client = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +frame-benchmarking-cli = { version = "42.0.0" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.17.0" } +substrate-build-script-utils = { version = "11.0.0" } +substrate-frame-rpc-system = { version = "38.0.0" } +substrate-test-client = { path = "test-utils/client", version = "2.0.1" } +substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0" } +substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0" } +substrate-wasm-builder = { version = "24.0.0" } # XCM -xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm = { package = "staging-xcm", version = "14.1.0", default-features = false } # Arkworks ark-bls12-377 = { version = "0.4.0", default-features = false, features = ["curve"] } @@ -203,6 +208,17 @@ precompile-utils = { path = "precompiles", default-features = false } # Frontier Template frontier-template-runtime = { path = "template/runtime", default-features = false } +array-bytes = { version = "6.2.2", default-features = false } +codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } +sp-application-crypto = { version = "38.0.0" } +sp-consensus-babe = { version = "0.40.0" } +sp-trie = { version = "37.0.0" } +tracing = { version = "0.1.37", default-features = false } +trie-db = { version = "0.29.0", default-features = false } +sc-executor-common = { version = "0.35.0" } +sp-tracing = { version = "17.0.0" } + + [profile.release] # Substrate runtime requires unwinding. panic = "unwind" diff --git a/test-utils/client/Cargo.toml b/test-utils/client/Cargo.toml new file mode 100644 index 0000000000..c28e602b98 --- /dev/null +++ b/test-utils/client/Cargo.toml @@ -0,0 +1,46 @@ +[package] +name = "substrate-test-client" +description = "Client testing utilities (polkadot v1.15.0)" +version = "2.0.1" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +homepage = "https://substrate.io" +repository.workspace = true +publish = false + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +array-bytes = { workspace = true, default-features = true } +async-trait = { workspace = true } +codec = { workspace = true, default-features = true } +futures = { workspace = true } +serde = { workspace = true, default-features = true } +serde_json = { workspace = true, default-features = true } +sc-client-api.workspace = true +sc-client-api.default-features = true +sc-client-db = { features = ["test-helpers"], workspace = true } +sc-consensus.workspace = true +sc-consensus.default-features = true +sc-executor.workspace = true +sc-executor.default-features = true +sc-offchain.workspace = true +sc-offchain.default-features = true +sc-service = { features = ["test-helpers"], workspace = true } +sp-blockchain.workspace = true +sp-blockchain.default-features = true +sp-consensus.workspace = true +sp-consensus.default-features = true +sp-core.workspace = true +sp-core.default-features = true +sp-keyring.workspace = true +sp-keyring.default-features = true +sp-keystore.workspace = true +sp-keystore.default-features = true +sp-runtime.workspace = true +sp-runtime.default-features = true +sp-state-machine.workspace = true +sp-state-machine.default-features = true +tokio = { features = ["sync"], workspace = true, default-features = true } diff --git a/test-utils/client/README.md b/test-utils/client/README.md new file mode 100644 index 0000000000..317980bb85 --- /dev/null +++ b/test-utils/client/README.md @@ -0,0 +1,5 @@ + + +## Release + +polkadot v1.15.0 diff --git a/test-utils/client/src/client_ext.rs b/test-utils/client/src/client_ext.rs new file mode 100644 index 0000000000..9dc4739eb7 --- /dev/null +++ b/test-utils/client/src/client_ext.rs @@ -0,0 +1,209 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Client extension for tests. + +use sc_client_api::{backend::Finalizer, client::BlockBackend}; +use sc_consensus::{BlockImport, BlockImportParams, ForkChoiceStrategy}; +use sc_service::client::Client; +use sp_consensus::Error as ConsensusError; +use sp_runtime::{traits::Block as BlockT, Justification, Justifications}; + +pub use sp_consensus::BlockOrigin; + +/// Extension trait for a test client. +pub trait ClientExt: Sized { + /// Finalize a block. + fn finalize_block( + &self, + hash: Block::Hash, + justification: Option, + ) -> sp_blockchain::Result<()>; + + /// Returns hash of the genesis block. + fn genesis_hash(&self) -> ::Hash; +} + +/// Extension trait for a test client around block importing. +#[async_trait::async_trait] +pub trait ClientBlockImportExt: Sized { + /// Import block to the chain. No finality. + async fn import(&mut self, origin: BlockOrigin, block: Block) -> Result<(), ConsensusError>; + + /// Import a block and make it our best block if possible. + async fn import_as_best( + &mut self, + origin: BlockOrigin, + block: Block, + ) -> Result<(), ConsensusError>; + + /// Import a block and finalize it. + async fn import_as_final( + &mut self, + origin: BlockOrigin, + block: Block, + ) -> Result<(), ConsensusError>; + + /// Import block with justification(s), finalizes block. + async fn import_justified( + &mut self, + origin: BlockOrigin, + block: Block, + justifications: Justifications, + ) -> Result<(), ConsensusError>; +} + +impl ClientExt for Client +where + B: sc_client_api::backend::Backend, + E: sc_client_api::CallExecutor + sc_executor::RuntimeVersionOf + 'static, + Self: BlockImport, + Block: BlockT, +{ + fn finalize_block( + &self, + hash: Block::Hash, + justification: Option, + ) -> sp_blockchain::Result<()> { + Finalizer::finalize_block(self, hash, justification, true) + } + + fn genesis_hash(&self) -> ::Hash { + self.block_hash(0u32.into()).unwrap().unwrap() + } +} + +/// This implementation is required, because of the weird api requirements around `BlockImport`. +#[async_trait::async_trait] +impl ClientBlockImportExt for std::sync::Arc +where + for<'r> &'r T: BlockImport, + T: Send + Sync, +{ + async fn import(&mut self, origin: BlockOrigin, block: Block) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.body = Some(extrinsics); + import.fork_choice = Some(ForkChoiceStrategy::LongestChain); + + BlockImport::import_block(self, import).await.map(|_| ()) + } + + async fn import_as_best( + &mut self, + origin: BlockOrigin, + block: Block, + ) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.body = Some(extrinsics); + import.fork_choice = Some(ForkChoiceStrategy::Custom(true)); + + BlockImport::import_block(self, import).await.map(|_| ()) + } + + async fn import_as_final( + &mut self, + origin: BlockOrigin, + block: Block, + ) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.body = Some(extrinsics); + import.finalized = true; + import.fork_choice = Some(ForkChoiceStrategy::Custom(true)); + + BlockImport::import_block(self, import).await.map(|_| ()) + } + + async fn import_justified( + &mut self, + origin: BlockOrigin, + block: Block, + justifications: Justifications, + ) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.justifications = Some(justifications); + import.body = Some(extrinsics); + import.finalized = true; + import.fork_choice = Some(ForkChoiceStrategy::LongestChain); + + BlockImport::import_block(self, import).await.map(|_| ()) + } +} + +#[async_trait::async_trait] +impl ClientBlockImportExt for Client +where + Self: BlockImport, + RA: Send, + B: Send + Sync, + E: Send + Sync, +{ + async fn import(&mut self, origin: BlockOrigin, block: Block) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.body = Some(extrinsics); + import.fork_choice = Some(ForkChoiceStrategy::LongestChain); + + BlockImport::import_block(self, import).await.map(|_| ()) + } + + async fn import_as_best( + &mut self, + origin: BlockOrigin, + block: Block, + ) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.body = Some(extrinsics); + import.fork_choice = Some(ForkChoiceStrategy::Custom(true)); + + BlockImport::import_block(self, import).await.map(|_| ()) + } + + async fn import_as_final( + &mut self, + origin: BlockOrigin, + block: Block, + ) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.body = Some(extrinsics); + import.finalized = true; + import.fork_choice = Some(ForkChoiceStrategy::Custom(true)); + + BlockImport::import_block(self, import).await.map(|_| ()) + } + + async fn import_justified( + &mut self, + origin: BlockOrigin, + block: Block, + justifications: Justifications, + ) -> Result<(), ConsensusError> { + let (header, extrinsics) = block.deconstruct(); + let mut import = BlockImportParams::new(origin, header); + import.justifications = Some(justifications); + import.body = Some(extrinsics); + import.finalized = true; + import.fork_choice = Some(ForkChoiceStrategy::LongestChain); + + BlockImport::import_block(self, import).await.map(|_| ()) + } +} diff --git a/test-utils/client/src/lib.rs b/test-utils/client/src/lib.rs new file mode 100644 index 0000000000..2eefe1c577 --- /dev/null +++ b/test-utils/client/src/lib.rs @@ -0,0 +1,467 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Client testing utilities. + +#![warn(missing_docs)] + +pub mod client_ext; + +pub use self::client_ext::{BlockOrigin, ClientBlockImportExt, ClientExt}; +pub use sc_client_api::{execution_extensions::ExecutionExtensions, BadBlocks, ForkBlocks}; +pub use sc_client_db::{self, Backend, BlocksPruning}; +pub use sc_executor::{self, WasmExecutionMethod, WasmExecutor}; +pub use sc_service::{client, RpcHandlers}; +pub use sp_consensus; +pub use sp_keyring::{ + ed25519::Keyring as Ed25519Keyring, sr25519::Keyring as Sr25519Keyring, AccountKeyring, +}; +pub use sp_keystore::{Keystore, KeystorePtr}; +pub use sp_runtime::{Storage, StorageChild}; + +use futures::{future::Future, stream::StreamExt}; +use sc_client_api::BlockchainEvents; +use sc_service::client::{ClientConfig, LocalCallExecutor}; +use serde::Deserialize; +use sp_core::{storage::ChildInfo, testing::TaskExecutor}; +use sp_runtime::{ + codec::Encode, + traits::{Block as BlockT, Header}, + OpaqueExtrinsic, +}; +use std::{ + collections::{HashMap, HashSet}, + pin::Pin, + sync::Arc, +}; + +/// A genesis storage initialization trait. +pub trait GenesisInit: Default { + /// Construct genesis storage. + fn genesis_storage(&self) -> Storage; +} + +impl GenesisInit for () { + fn genesis_storage(&self) -> Storage { + Default::default() + } +} + +/// A builder for creating a test client instance. +pub struct TestClientBuilder { + genesis_init: G, + /// The key is an unprefixed storage key, this only contains + /// default child trie content. + child_storage_extension: HashMap, StorageChild>, + backend: Arc, + _executor: std::marker::PhantomData, + fork_blocks: ForkBlocks, + bad_blocks: BadBlocks, + enable_offchain_indexing_api: bool, + enable_import_proof_recording: bool, + no_genesis: bool, +} + +impl Default + for TestClientBuilder, G> +{ + fn default() -> Self { + Self::with_default_backend() + } +} + +impl + TestClientBuilder, G> +{ + /// Create new `TestClientBuilder` with default backend. + pub fn with_default_backend() -> Self { + let backend = Arc::new(Backend::new_test(std::u32::MAX, std::u64::MAX)); + Self::with_backend(backend) + } + + /// Create new `TestClientBuilder` with default backend and pruning window size + pub fn with_pruning_window(blocks_pruning: u32) -> Self { + let backend = Arc::new(Backend::new_test(blocks_pruning, 0)); + Self::with_backend(backend) + } + + /// Create new `TestClientBuilder` with default backend and storage chain mode + pub fn with_tx_storage(blocks_pruning: u32) -> Self { + let backend = Arc::new(Backend::new_test_with_tx_storage( + BlocksPruning::Some(blocks_pruning), + 0, + )); + Self::with_backend(backend) + } +} + +impl + TestClientBuilder +{ + /// Create a new instance of the test client builder. + pub fn with_backend(backend: Arc) -> Self { + TestClientBuilder { + backend, + child_storage_extension: Default::default(), + genesis_init: Default::default(), + _executor: Default::default(), + fork_blocks: None, + bad_blocks: None, + enable_offchain_indexing_api: false, + no_genesis: false, + enable_import_proof_recording: false, + } + } + + /// Alter the genesis storage parameters. + pub fn genesis_init_mut(&mut self) -> &mut G { + &mut self.genesis_init + } + + /// Give access to the underlying backend of these clients + pub fn backend(&self) -> Arc { + self.backend.clone() + } + + /// Extend child storage + pub fn add_child_storage( + mut self, + child_info: &ChildInfo, + key: impl AsRef<[u8]>, + value: impl AsRef<[u8]>, + ) -> Self { + let storage_key = child_info.storage_key(); + let entry = self + .child_storage_extension + .entry(storage_key.to_vec()) + .or_insert_with(|| StorageChild { + data: Default::default(), + child_info: child_info.clone(), + }); + entry + .data + .insert(key.as_ref().to_vec(), value.as_ref().to_vec()); + self + } + + /// Sets custom block rules. + pub fn set_block_rules( + mut self, + fork_blocks: ForkBlocks, + bad_blocks: BadBlocks, + ) -> Self { + self.fork_blocks = fork_blocks; + self.bad_blocks = bad_blocks; + self + } + + /// Enable the offchain indexing api. + pub fn enable_offchain_indexing_api(mut self) -> Self { + self.enable_offchain_indexing_api = true; + self + } + + /// Enable proof recording on import. + pub fn enable_import_proof_recording(mut self) -> Self { + self.enable_import_proof_recording = true; + self + } + + /// Disable writing genesis. + pub fn set_no_genesis(mut self) -> Self { + self.no_genesis = true; + self + } + + /// Build the test client with the given native executor. + pub fn build_with_executor( + self, + executor: ExecutorDispatch, + ) -> ( + client::Client, + sc_consensus::LongestChain, + ) + where + ExecutorDispatch: + sc_client_api::CallExecutor + sc_executor::RuntimeVersionOf + Clone + 'static, + Backend: sc_client_api::backend::Backend, + >::OffchainStorage: 'static, + { + let storage = { + let mut storage = self.genesis_init.genesis_storage(); + // Add some child storage keys. + for (key, child_content) in self.child_storage_extension { + storage.children_default.insert( + key, + StorageChild { + data: child_content.data.into_iter().collect(), + child_info: child_content.child_info, + }, + ); + } + + storage + }; + + let client_config = ClientConfig { + enable_import_proof_recording: self.enable_import_proof_recording, + offchain_indexing_api: self.enable_offchain_indexing_api, + no_genesis: self.no_genesis, + ..Default::default() + }; + + let genesis_block_builder = sc_service::GenesisBlockBuilder::new( + &storage, + !client_config.no_genesis, + self.backend.clone(), + executor.clone(), + ) + .expect("Creates genesis block builder"); + + let spawn_handle = Box::new(TaskExecutor::new()); + + let client = client::Client::new( + self.backend.clone(), + executor, + spawn_handle, + genesis_block_builder, + self.fork_blocks, + self.bad_blocks, + None, + None, + client_config, + ) + .expect("Creates new client"); + + let longest_chain = sc_consensus::LongestChain::new(self.backend); + + (client, longest_chain) + } +} + +impl + TestClientBuilder>, Backend, G> +{ + /// Build the test client with the given native executor. + pub fn build_with_native_executor( + self, + executor: I, + ) -> ( + client::Client< + Backend, + client::LocalCallExecutor>, + Block, + RuntimeApi, + >, + sc_consensus::LongestChain, + ) + where + I: Into>>, + Backend: sc_client_api::backend::Backend + 'static, + H: sc_executor::HostFunctions, + { + let executor = executor + .into() + .unwrap_or_else(|| WasmExecutor::::builder().build()); + let executor = LocalCallExecutor::new( + self.backend.clone(), + executor.clone(), + Default::default(), + ExecutionExtensions::new(None, Arc::new(executor)), + ) + .expect("Creates LocalCallExecutor"); + + self.build_with_executor(executor) + } +} + +/// The output of an RPC transaction. +pub struct RpcTransactionOutput { + /// The output string of the transaction if any. + pub result: String, + /// An async receiver if data will be returned via a callback. + pub receiver: tokio::sync::mpsc::Receiver, +} + +impl std::fmt::Debug for RpcTransactionOutput { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!( + f, + "RpcTransactionOutput {{ result: {:?}, receiver }}", + self.result + ) + } +} + +/// An error for when the RPC call fails. +#[derive(Deserialize, Debug)] +pub struct RpcTransactionError { + /// A Number that indicates the error type that occurred. + pub code: i64, + /// A String providing a short description of the error. + pub message: String, + /// A Primitive or Structured value that contains additional information about the error. + pub data: Option, +} + +impl std::fmt::Display for RpcTransactionError { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + std::fmt::Debug::fmt(self, f) + } +} + +/// An extension trait for `RpcHandlers`. +#[async_trait::async_trait] +pub trait RpcHandlersExt { + /// Send a transaction through the RpcHandlers. + async fn send_transaction( + &self, + extrinsic: OpaqueExtrinsic, + ) -> Result; +} + +#[async_trait::async_trait] +impl RpcHandlersExt for RpcHandlers { + async fn send_transaction( + &self, + extrinsic: OpaqueExtrinsic, + ) -> Result { + let (result, rx) = self + .rpc_query(&format!( + r#"{{ + "jsonrpc": "2.0", + "method": "author_submitExtrinsic", + "params": ["0x{}"], + "id": 0 + }}"#, + array_bytes::bytes2hex("", &extrinsic.encode()) + )) + .await + .expect("valid JSON-RPC request object; qed"); + parse_rpc_result(result, rx) + } +} + +pub(crate) fn parse_rpc_result( + result: String, + receiver: tokio::sync::mpsc::Receiver, +) -> Result { + let json: serde_json::Value = + serde_json::from_str(&result).expect("the result can only be a JSONRPC string; qed"); + let error = json + .as_object() + .expect("JSON result is always an object; qed") + .get("error"); + + if let Some(error) = error { + return Err(serde_json::from_value(error.clone()) + .expect("the JSONRPC result's error is always valid; qed")); + } + + Ok(RpcTransactionOutput { result, receiver }) +} + +/// An extension trait for `BlockchainEvents`. +pub trait BlockchainEventsExt +where + C: BlockchainEvents, + B: BlockT, +{ + /// Wait for `count` blocks to be imported in the node and then exit. This function will not + /// return if no blocks are ever created, thus you should restrict the maximum amount of time of + /// the test execution. + fn wait_for_blocks(&self, count: usize) -> Pin + Send>>; +} + +impl BlockchainEventsExt for C +where + C: BlockchainEvents, + B: BlockT, +{ + fn wait_for_blocks(&self, count: usize) -> Pin + Send>> { + assert!(count > 0, "'count' argument must be greater than 0"); + + let mut import_notification_stream = self.import_notification_stream(); + let mut blocks = HashSet::new(); + + Box::pin(async move { + while let Some(notification) = import_notification_stream.next().await { + if notification.is_new_best { + blocks.insert(*notification.header.number()); + if blocks.len() == count { + break; + } + } + } + }) + } +} + +#[cfg(test)] +mod tests { + #[test] + fn parses_error_properly() { + let (_, rx) = tokio::sync::mpsc::channel(1); + assert!(super::parse_rpc_result( + r#"{ + "jsonrpc": "2.0", + "result": 19, + "id": 1 + }"# + .to_string(), + rx + ) + .is_ok()); + + let (_, rx) = tokio::sync::mpsc::channel(1); + let error = super::parse_rpc_result( + r#"{ + "jsonrpc": "2.0", + "error": { + "code": -32601, + "message": "Method not found" + }, + "id": 1 + }"# + .to_string(), + rx, + ) + .unwrap_err(); + assert_eq!(error.code, -32601); + assert_eq!(error.message, "Method not found"); + assert!(error.data.is_none()); + + let (_, rx) = tokio::sync::mpsc::channel(1); + let error = super::parse_rpc_result( + r#"{ + "jsonrpc": "2.0", + "error": { + "code": -32601, + "message": "Method not found", + "data": 42 + }, + "id": 1 + }"# + .to_string(), + rx, + ) + .unwrap_err(); + assert_eq!(error.code, -32601); + assert_eq!(error.message, "Method not found"); + assert!(error.data.is_some()); + } +} diff --git a/test-utils/runtime/Cargo.toml b/test-utils/runtime/Cargo.toml new file mode 100644 index 0000000000..934d3363ab --- /dev/null +++ b/test-utils/runtime/Cargo.toml @@ -0,0 +1,115 @@ +[package] +name = "substrate-test-runtime" +version = "2.0.0" +authors.workspace = true +edition.workspace = true +build = "build.rs" +license = "Apache-2.0" +homepage = "https://substrate.io" +repository.workspace = true +publish = false +description = "substrate-test-runtime (polkadot v1.15.0)" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +sp-application-crypto = { features = ["serde"], workspace = true } +sp-consensus-aura = { features = ["serde"], workspace = true } +sp-consensus-babe = { features = ["serde"], workspace = true } +sp-genesis-builder.workspace = true +sp-block-builder.workspace = true +codec = { features = ["derive"], workspace = true } +scale-info = { features = ["derive"], workspace = true } +sp-inherents.workspace = true +sp-keyring.workspace = true +sp-offchain.workspace = true +sp-core = { features = ["serde"], workspace = true } +sp-crypto-hashing.workspace = true +sp-io.workspace = true +frame-support.workspace = true +sp-version.workspace = true +sp-session.workspace = true +sp-api.workspace = true +sp-runtime = { features = ["serde"], workspace = true } +pallet-babe.workspace = true +pallet-balances.workspace = true +frame-executive.workspace = true +frame-metadata-hash-extension.workspace = true +frame-system.workspace = true +frame-system-rpc-runtime-api.workspace = true +pallet-timestamp.workspace = true +sp-consensus-grandpa = { features = ["serde"], workspace = true } +sp-trie.workspace = true +sp-transaction-pool.workspace = true +trie-db = { workspace = true } +sc-service = { features = ["test-helpers"], optional = true, workspace = true } +sp-state-machine.workspace = true +sp-externalities.workspace = true + +# 3rd party +array-bytes = { optional = true, workspace = true, default-features = true } +serde_json = { workspace = true, features = ["alloc"] } +log = { workspace = true } +tracing = { workspace = true, default-features = false } + +[dev-dependencies] +futures = { workspace = true } +sc-block-builder = { default-features = true, workspace = true } +sc-chain-spec = { default-features = true, workspace = true } +sc-executor = { default-features = true, workspace = true } +sc-executor-common = { default-features = true, workspace = true } +sp-consensus = { default-features = true, workspace = true } +substrate-test-runtime-client = { path = "client" } +sp-tracing = { default-features = true, workspace = true } +serde = { features = ["alloc", "derive"], workspace = true } +serde_json = { features = ["alloc"], workspace = true } + +[build-dependencies] +substrate-wasm-builder = { optional = true, features = ["metadata-hash"], workspace = true, default-features = true } + +[features] +default = ["std"] + +std = [ + "array-bytes", + "codec/std", + "frame-executive/std", + "frame-metadata-hash-extension/std", + "frame-support/std", + "frame-system-rpc-runtime-api/std", + "frame-system/std", + "log/std", + "pallet-babe/std", + "pallet-balances/std", + "pallet-timestamp/std", + "sc-service", + "scale-info/std", + "serde_json/std", + "sp-api/std", + "sp-application-crypto/std", + "sp-block-builder/std", + "sp-consensus-aura/std", + "sp-consensus-babe/std", + "sp-consensus-grandpa/std", + "sp-core/std", + "sp-crypto-hashing/std", + "sp-externalities/std", + "sp-genesis-builder/std", + "sp-inherents/std", + "sp-io/std", + "sp-keyring/std", + "sp-offchain/std", + "sp-runtime/std", + "sp-session/std", + "sp-state-machine/std", + "sp-transaction-pool/std", + "sp-trie/std", + "sp-version/std", + "substrate-wasm-builder", + "tracing/std", + "trie-db/std", +] + +# Special feature to disable logging +disable-logging = ["sp-api/disable-logging"] diff --git a/test-utils/runtime/README.md b/test-utils/runtime/README.md new file mode 100644 index 0000000000..317980bb85 --- /dev/null +++ b/test-utils/runtime/README.md @@ -0,0 +1,5 @@ + + +## Release + +polkadot v1.15.0 diff --git a/test-utils/runtime/build.rs b/test-utils/runtime/build.rs new file mode 100644 index 0000000000..d38173fcfc --- /dev/null +++ b/test-utils/runtime/build.rs @@ -0,0 +1,43 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +fn main() { + #[cfg(feature = "std")] + { + substrate_wasm_builder::WasmBuilder::new() + .with_current_project() + .export_heap_base() + // Note that we set the stack-size to 1MB explicitly even though it is set + // to this value by default. This is because some of our tests + // (`restoration_of_globals`) depend on the stack-size. + .append_to_rust_flags("-Clink-arg=-zstack-size=1048576") + .enable_metadata_hash("TOKEN", 10) + .import_memory() + .build(); + } + + #[cfg(feature = "std")] + { + substrate_wasm_builder::WasmBuilder::new() + .with_current_project() + .export_heap_base() + .import_memory() + .set_file_name("wasm_binary_logging_disabled.rs") + .enable_feature("disable-logging") + .build(); + } +} diff --git a/test-utils/runtime/client/Cargo.toml b/test-utils/runtime/client/Cargo.toml new file mode 100644 index 0000000000..7a9cda38d9 --- /dev/null +++ b/test-utils/runtime/client/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "substrate-test-runtime-client" +version = "2.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +homepage = "https://substrate.io" +repository.workspace = true +publish = false +description = "substrate-test-runtime-client (polkadot v1.15.0)" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +futures = { workspace = true } +sc-block-builder.workspace = true +sc-block-builder.default-features = true +sc-client-api.workspace = true +sc-client-api.default-features = true +sc-consensus.workspace = true +sc-consensus.default-features = true +sp-api.workspace = true +sp-api.default-features = true +sp-blockchain.workspace = true +sp-blockchain.default-features = true +sp-consensus.workspace = true +sp-consensus.default-features = true +sp-core.workspace = true +sp-core.default-features = true +sp-runtime.workspace = true +sp-runtime.default-features = true +substrate-test-client.workspace = true +substrate-test-runtime.workspace = true diff --git a/test-utils/runtime/client/README.md b/test-utils/runtime/client/README.md new file mode 100644 index 0000000000..317980bb85 --- /dev/null +++ b/test-utils/runtime/client/README.md @@ -0,0 +1,5 @@ + + +## Release + +polkadot v1.15.0 diff --git a/test-utils/runtime/client/src/block_builder_ext.rs b/test-utils/runtime/client/src/block_builder_ext.rs new file mode 100644 index 0000000000..f7bf76b017 --- /dev/null +++ b/test-utils/runtime/client/src/block_builder_ext.rs @@ -0,0 +1,74 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Block Builder extensions for tests. + +use sc_block_builder::BlockBuilderApi; +use sp_api::{ApiExt, ProvideRuntimeApi}; +use substrate_test_runtime::*; + +/// Extension trait for test block builder. +pub trait BlockBuilderExt { + /// Add transfer extrinsic to the block. + fn push_transfer( + &mut self, + transfer: substrate_test_runtime::Transfer, + ) -> Result<(), sp_blockchain::Error>; + + /// Add unsigned storage change extrinsic to the block. + fn push_storage_change( + &mut self, + key: Vec, + value: Option>, + ) -> Result<(), sp_blockchain::Error>; + + /// Adds an extrinsic which pushes DigestItem to header's log + fn push_deposit_log_digest_item( + &mut self, + log: sp_runtime::generic::DigestItem, + ) -> Result<(), sp_blockchain::Error>; +} + +impl<'a, A> BlockBuilderExt for sc_block_builder::BlockBuilder<'a, substrate_test_runtime::Block, A> +where + A: ProvideRuntimeApi + + sp_api::CallApiAt + + 'a, + A::Api: BlockBuilderApi + ApiExt, +{ + fn push_transfer( + &mut self, + transfer: substrate_test_runtime::Transfer, + ) -> Result<(), sp_blockchain::Error> { + self.push(transfer.into_unchecked_extrinsic()) + } + + fn push_storage_change( + &mut self, + key: Vec, + value: Option>, + ) -> Result<(), sp_blockchain::Error> { + self.push(ExtrinsicBuilder::new_storage_change(key, value).build()) + } + + fn push_deposit_log_digest_item( + &mut self, + log: sp_runtime::generic::DigestItem, + ) -> Result<(), sp_blockchain::Error> { + self.push(ExtrinsicBuilder::new_deposit_log_digest_item(log).build()) + } +} diff --git a/test-utils/runtime/client/src/lib.rs b/test-utils/runtime/client/src/lib.rs new file mode 100644 index 0000000000..f6eb7a455d --- /dev/null +++ b/test-utils/runtime/client/src/lib.rs @@ -0,0 +1,223 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Client testing utilities. + +#![warn(missing_docs)] + +pub mod trait_tests; + +mod block_builder_ext; + +pub use sc_consensus::LongestChain; +use std::sync::Arc; +pub use substrate_test_client::*; +pub use substrate_test_runtime as runtime; + +pub use self::block_builder_ext::BlockBuilderExt; + +use sp_core::storage::ChildInfo; +use substrate_test_runtime::genesismap::GenesisStorageBuilder; + +/// A prelude to import in tests. +pub mod prelude { + // Trait extensions + pub use super::{ + BlockBuilderExt, ClientBlockImportExt, ClientExt, DefaultTestClientBuilderExt, + TestClientBuilderExt, + }; + // Client structs + pub use super::{ + Backend, ExecutorDispatch, TestClient, TestClientBuilder, WasmExecutionMethod, + }; + // Keyring + pub use super::{AccountKeyring, Sr25519Keyring}; +} + +/// Test client database backend. +pub type Backend = substrate_test_client::Backend; + +/// Test client executor. +pub type ExecutorDispatch = + client::LocalCallExecutor; + +/// Parameters of test-client builder with test-runtime. +#[derive(Default)] +pub struct GenesisParameters { + heap_pages_override: Option, + extra_storage: Storage, + wasm_code: Option>, +} + +impl GenesisParameters { + /// Set the wasm code that should be used at genesis. + pub fn set_wasm_code(&mut self, code: Vec) { + self.wasm_code = Some(code); + } + + /// Access extra genesis storage. + pub fn extra_storage(&mut self) -> &mut Storage { + &mut self.extra_storage + } +} + +impl GenesisInit for GenesisParameters { + fn genesis_storage(&self) -> Storage { + GenesisStorageBuilder::default() + .with_heap_pages(self.heap_pages_override) + .with_wasm_code(&self.wasm_code) + .with_extra_storage(self.extra_storage.clone()) + .build() + } +} + +/// A `TestClient` with `test-runtime` builder. +pub type TestClientBuilder = substrate_test_client::TestClientBuilder< + substrate_test_runtime::Block, + E, + B, + GenesisParameters, +>; + +/// Test client type with `WasmExecutor` and generic Backend. +pub type Client = client::Client< + B, + client::LocalCallExecutor, + substrate_test_runtime::Block, + substrate_test_runtime::RuntimeApi, +>; + +/// A test client with default backend. +pub type TestClient = Client; + +/// A `TestClientBuilder` with default backend and executor. +pub trait DefaultTestClientBuilderExt: Sized { + /// Create new `TestClientBuilder` + fn new() -> Self; +} + +impl DefaultTestClientBuilderExt for TestClientBuilder { + fn new() -> Self { + Self::with_default_backend() + } +} + +/// A `test-runtime` extensions to `TestClientBuilder`. +pub trait TestClientBuilderExt: Sized { + /// Returns a mutable reference to the genesis parameters. + fn genesis_init_mut(&mut self) -> &mut GenesisParameters; + + /// Override the default value for Wasm heap pages. + fn set_heap_pages(mut self, heap_pages: u64) -> Self { + self.genesis_init_mut().heap_pages_override = Some(heap_pages); + self + } + + /// Add an extra value into the genesis storage. + /// + /// # Panics + /// + /// Panics if the key is empty. + fn add_extra_child_storage>, V: Into>>( + mut self, + child_info: &ChildInfo, + key: K, + value: V, + ) -> Self { + let storage_key = child_info.storage_key().to_vec(); + let key = key.into(); + assert!(!storage_key.is_empty()); + assert!(!key.is_empty()); + self.genesis_init_mut() + .extra_storage + .children_default + .entry(storage_key) + .or_insert_with(|| StorageChild { + data: Default::default(), + child_info: child_info.clone(), + }) + .data + .insert(key, value.into()); + self + } + + /// Add an extra child value into the genesis storage. + /// + /// # Panics + /// + /// Panics if the key is empty. + fn add_extra_storage>, V: Into>>(mut self, key: K, value: V) -> Self { + let key = key.into(); + assert!(!key.is_empty()); + self.genesis_init_mut() + .extra_storage + .top + .insert(key, value.into()); + self + } + + /// Build the test client. + fn build(self) -> Client { + self.build_with_longest_chain().0 + } + + /// Build the test client and longest chain selector. + fn build_with_longest_chain( + self, + ) -> ( + Client, + sc_consensus::LongestChain, + ); + + /// Build the test client and the backend. + fn build_with_backend(self) -> (Client, Arc); +} + +impl TestClientBuilderExt + for TestClientBuilder, B> +where + B: sc_client_api::backend::Backend + 'static, +{ + fn genesis_init_mut(&mut self) -> &mut GenesisParameters { + Self::genesis_init_mut(self) + } + + fn build_with_longest_chain( + self, + ) -> ( + Client, + sc_consensus::LongestChain, + ) { + self.build_with_native_executor(None) + } + + fn build_with_backend(self) -> (Client, Arc) { + let backend = self.backend(); + (self.build_with_native_executor(None).0, backend) + } +} + +/// Creates new client instance used for tests. +pub fn new() -> Client { + TestClientBuilder::new().build() +} + +/// Create a new native executor. +#[deprecated(note = "Switch to `WasmExecutor:default()`.")] +pub fn new_native_or_wasm_executor() -> WasmExecutor { + WasmExecutor::default() +} diff --git a/test-utils/runtime/client/src/trait_tests.rs b/test-utils/runtime/client/src/trait_tests.rs new file mode 100644 index 0000000000..d27b608b17 --- /dev/null +++ b/test-utils/runtime/client/src/trait_tests.rs @@ -0,0 +1,552 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! tests that should hold for all implementations of certain traits. +//! to test implementations without duplication. + +#![allow(missing_docs)] + +use std::sync::Arc; + +use crate::{ + AccountKeyring, BlockBuilderExt, ClientBlockImportExt, TestClientBuilder, TestClientBuilderExt, +}; +use futures::executor::block_on; +use sc_block_builder::BlockBuilderBuilder; +use sc_client_api::{ + backend, + blockchain::{Backend as BlockChainBackendT, HeaderBackend}, +}; +use sp_consensus::BlockOrigin; +use sp_runtime::traits::Block as BlockT; +use substrate_test_runtime::Transfer; + +/// helper to test the `leaves` implementation for various backends +pub fn test_leaves_for_backend(backend: Arc) +where + B: backend::Backend, +{ + // block tree: + // G -> A1 -> A2 -> A3 -> A4 -> A5 + // A1 -> B2 -> B3 -> B4 + // B2 -> C3 + // A1 -> D2 + + let mut client = TestClientBuilder::with_backend(backend.clone()).build(); + let blockchain = backend.blockchain(); + + let genesis_hash = client.chain_info().genesis_hash; + + assert_eq!(blockchain.leaves().unwrap(), vec![genesis_hash]); + + // G -> A1 + let a1 = BlockBuilderBuilder::new(&client) + .on_parent_block(genesis_hash) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap(); + assert_eq!(blockchain.leaves().unwrap(), vec![a1.hash()]); + + // A1 -> A2 + let a2 = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a2.clone())).unwrap(); + + assert_eq!(blockchain.leaves().unwrap(), vec![a2.hash()]); + + // A2 -> A3 + let a3 = BlockBuilderBuilder::new(&client) + .on_parent_block(a2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a3.clone())).unwrap(); + + assert_eq!(blockchain.leaves().unwrap(), vec![a3.hash()]); + + // A3 -> A4 + let a4 = BlockBuilderBuilder::new(&client) + .on_parent_block(a3.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a4.clone())).unwrap(); + assert_eq!(blockchain.leaves().unwrap(), vec![a4.hash()]); + + // A4 -> A5 + let a5 = BlockBuilderBuilder::new(&client) + .on_parent_block(a4.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + + block_on(client.import(BlockOrigin::Own, a5.clone())).unwrap(); + assert_eq!(blockchain.leaves().unwrap(), vec![a5.hash()]); + + // A1 -> B2 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + + // this push is required as otherwise B2 has the same hash as A2 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 41, + nonce: 0, + }) + .unwrap(); + let b2 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, b2.clone())).unwrap(); + assert_eq!(blockchain.leaves().unwrap(), vec![a5.hash(), b2.hash()]); + + // B2 -> B3 + let b3 = BlockBuilderBuilder::new(&client) + .on_parent_block(b2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + + block_on(client.import(BlockOrigin::Own, b3.clone())).unwrap(); + assert_eq!(blockchain.leaves().unwrap(), vec![a5.hash(), b3.hash()]); + + // B3 -> B4 + let b4 = BlockBuilderBuilder::new(&client) + .on_parent_block(b3.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, b4.clone())).unwrap(); + assert_eq!(blockchain.leaves().unwrap(), vec![a5.hash(), b4.hash()]); + + // // B2 -> C3 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(b2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise C3 has the same hash as B3 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 1, + nonce: 1, + }) + .unwrap(); + let c3 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, c3.clone())).unwrap(); + assert_eq!( + blockchain.leaves().unwrap(), + vec![a5.hash(), b4.hash(), c3.hash()] + ); + + // A1 -> D2 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise D2 has the same hash as B2 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 1, + nonce: 0, + }) + .unwrap(); + let d2 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, d2.clone())).unwrap(); + assert_eq!( + blockchain.leaves().unwrap(), + vec![a5.hash(), b4.hash(), c3.hash(), d2.hash()] + ); +} + +/// helper to test the `children` implementation for various backends +pub fn test_children_for_backend(backend: Arc) +where + B: backend::LocalBackend, +{ + // block tree: + // G -> A1 -> A2 -> A3 -> A4 -> A5 + // A1 -> B2 -> B3 -> B4 + // B2 -> C3 + // A1 -> D2 + + let mut client = TestClientBuilder::with_backend(backend.clone()).build(); + let blockchain = backend.blockchain(); + let genesis_hash = client.chain_info().genesis_hash; + + // G -> A1 + let a1 = BlockBuilderBuilder::new(&client) + .on_parent_block(genesis_hash) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap(); + + // A1 -> A2 + let a2 = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a2.clone())).unwrap(); + + // A2 -> A3 + let a3 = BlockBuilderBuilder::new(&client) + .on_parent_block(a2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a3.clone())).unwrap(); + + // A3 -> A4 + let a4 = BlockBuilderBuilder::new(&client) + .on_parent_block(a3.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a4.clone())).unwrap(); + + // A4 -> A5 + let a5 = BlockBuilderBuilder::new(&client) + .on_parent_block(a4.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a5.clone())).unwrap(); + + // A1 -> B2 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise B2 has the same hash as A2 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 41, + nonce: 0, + }) + .unwrap(); + let b2 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, b2.clone())).unwrap(); + + // B2 -> B3 + let b3 = BlockBuilderBuilder::new(&client) + .on_parent_block(b2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, b3.clone())).unwrap(); + + // B3 -> B4 + let b4 = BlockBuilderBuilder::new(&client) + .on_parent_block(b3.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, b4)).unwrap(); + + // // B2 -> C3 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(b2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise C3 has the same hash as B3 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 1, + nonce: 1, + }) + .unwrap(); + let c3 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, c3.clone())).unwrap(); + + // A1 -> D2 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise D2 has the same hash as B2 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 1, + nonce: 0, + }) + .unwrap(); + let d2 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, d2.clone())).unwrap(); + + let genesis_hash = client.chain_info().genesis_hash; + + let children1 = blockchain.children(a4.hash()).unwrap(); + assert_eq!(vec![a5.hash()], children1); + + let children2 = blockchain.children(a1.hash()).unwrap(); + assert_eq!(vec![a2.hash(), b2.hash(), d2.hash()], children2); + + let children3 = blockchain.children(genesis_hash).unwrap(); + assert_eq!(vec![a1.hash()], children3); + + let children4 = blockchain.children(b2.hash()).unwrap(); + assert_eq!(vec![b3.hash(), c3.hash()], children4); +} + +pub fn test_blockchain_query_by_number_gets_canonical(backend: Arc) +where + B: backend::LocalBackend, +{ + // block tree: + // G -> A1 -> A2 -> A3 -> A4 -> A5 + // A1 -> B2 -> B3 -> B4 + // B2 -> C3 + // A1 -> D2 + let mut client = TestClientBuilder::with_backend(backend.clone()).build(); + let blockchain = backend.blockchain(); + let genesis_hash = client.chain_info().genesis_hash; + + // G -> A1 + let a1 = BlockBuilderBuilder::new(&client) + .on_parent_block(genesis_hash) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap(); + + // A1 -> A2 + let a2 = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a2.clone())).unwrap(); + + // A2 -> A3 + let a3 = BlockBuilderBuilder::new(&client) + .on_parent_block(a2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a3.clone())).unwrap(); + + // A3 -> A4 + let a4 = BlockBuilderBuilder::new(&client) + .on_parent_block(a3.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a4.clone())).unwrap(); + + // A4 -> A5 + let a5 = BlockBuilderBuilder::new(&client) + .on_parent_block(a4.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, a5.clone())).unwrap(); + + // A1 -> B2 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise B2 has the same hash as A2 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 41, + nonce: 0, + }) + .unwrap(); + let b2 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, b2.clone())).unwrap(); + + // B2 -> B3 + let b3 = BlockBuilderBuilder::new(&client) + .on_parent_block(b2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, b3.clone())).unwrap(); + + // B3 -> B4 + let b4 = BlockBuilderBuilder::new(&client) + .on_parent_block(b3.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap() + .build() + .unwrap() + .block; + block_on(client.import(BlockOrigin::Own, b4)).unwrap(); + + // // B2 -> C3 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(b2.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise C3 has the same hash as B3 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 1, + nonce: 1, + }) + .unwrap(); + let c3 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, c3)).unwrap(); + + // A1 -> D2 + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(a1.hash()) + .fetch_parent_block_number(&client) + .unwrap() + .build() + .unwrap(); + // this push is required as otherwise D2 has the same hash as B2 and won't get imported + builder + .push_transfer(Transfer { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Ferdie.into(), + amount: 1, + nonce: 0, + }) + .unwrap(); + let d2 = builder.build().unwrap().block; + block_on(client.import(BlockOrigin::Own, d2)).unwrap(); + + let genesis_hash = client.chain_info().genesis_hash; + + assert_eq!(blockchain.hash(0).unwrap().unwrap(), genesis_hash); + assert_eq!(blockchain.hash(1).unwrap().unwrap(), a1.hash()); + assert_eq!(blockchain.hash(2).unwrap().unwrap(), a2.hash()); + assert_eq!(blockchain.hash(3).unwrap().unwrap(), a3.hash()); + assert_eq!(blockchain.hash(4).unwrap().unwrap(), a4.hash()); + assert_eq!(blockchain.hash(5).unwrap().unwrap(), a5.hash()); +} diff --git a/test-utils/runtime/res/README.md b/test-utils/runtime/res/README.md new file mode 100644 index 0000000000..fdf94fd9d8 --- /dev/null +++ b/test-utils/runtime/res/README.md @@ -0,0 +1,24 @@ +`default_genesis_config.json` file has been generated by the following code: +``` + use crate::genesismap::GenesisStorageBuilder; + #[test] + fn write_default_config_to_tmp_file() { + let j = json::to_string(&GenesisStorageBuilder::default().genesis_config()).unwrap().into_bytes(); + let mut file = fs::OpenOptions::new() + .create(true) + .write(true) + .open("/tmp/default_genesis_config.json").unwrap(); + file.write_all(&j); + } +``` + +`:code` field has been manually truncated to reduce file size. Test is only +comparing keys, not the values. + +`default_genesis_config_invalid.json` is just a broken copy of +`default_genesis_config.json` with `authorities` field renamed to +`renamed_authorities`. + + +`default_genesis_config_invalid.json` is just an incomplete copy of +`default_genesis_config.json` with `babe::authorities` field removed. diff --git a/test-utils/runtime/res/default_genesis_config.json b/test-utils/runtime/res/default_genesis_config.json new file mode 100644 index 0000000000..95c7799a03 --- /dev/null +++ b/test-utils/runtime/res/default_genesis_config.json @@ -0,0 +1,113 @@ +{ + "system": {}, + "babe": { + "authorities": [ + [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + 1 + ], + [ + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + 1 + ], + [ + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + 1 + ] + ], + "epochConfig": { + "c": [ + 3, + 10 + ], + "allowed_slots": "PrimaryAndSecondaryPlainSlots" + } + }, + "substrateTest": { + "authorities": [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y" + ] + }, + "balances": { + "balances": [ + [ + "5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH", + 100000000000000000 + ], + [ + "5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o", + 100000000000000000 + ], + [ + "5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9", + 100000000000000000 + ], + [ + "5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK", + 100000000000000000 + ], + [ + "5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW", + 100000000000000000 + ], + [ + "5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR", + 100000000000000000 + ], + [ + "5DZLHESsfGrJ5YzT3HuRPXsSNb589xQ4Unubh1mYLodzKdVY", + 100000000000000000 + ], + [ + "5GHJzqvG6tXnngCpG7B12qjUvbo5e4e9z8Xjidk3CQZHxTPZ", + 100000000000000000 + ], + [ + "5CUnSsgAyLND3bxxnfNhgWXSe9Wn676JzLpGLgyJv858qhoX", + 100000000000000000 + ], + [ + "5CVKn7HAZW1Ky4r7Vkgsr7VEW88C2sHgUNDiwHY9Ct2hjU8q", + 100000000000000000 + ], + [ + "5H673aukQ4PeDe1U2nuv1bi32xDEziimh3PZz7hDdYUB7TNz", + 100000000000000000 + ], + [ + "5HTe9L15LJryjUAt1jZXZCBPnzbbGnpvFwbjE3NwCWaAqovf", + 100000000000000000 + ], + [ + "5D7LFzGpMwHPyDBavkRbWSKWTtJhCaPPZ379wWLT23bJwXJz", + 100000000000000000 + ], + [ + "5CLepMARnEgtVR1EkUuJVUvKh97gzergpSxUU3yKGx1v6EwC", + 100000000000000000 + ], + [ + "5Chb2UhfvZpmjjEziHbFbotM4quX32ZscRV6QJBt1rUKzz51", + 100000000000000000 + ], + [ + "5HmRp3i3ZZk7xsAvbi8hyXVP6whSMnBJGebVC4FsiZVhx52e", + 100000000000000000 + ], + [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + 100000000000000000 + ], + [ + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + 100000000000000000 + ], + [ + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + 100000000000000000 + ] + ] + } +} diff --git a/test-utils/runtime/res/default_genesis_config_incomplete.json b/test-utils/runtime/res/default_genesis_config_incomplete.json new file mode 100644 index 0000000000..510ed87c93 --- /dev/null +++ b/test-utils/runtime/res/default_genesis_config_incomplete.json @@ -0,0 +1,99 @@ +{ + "system": {}, + "babe": { + "epochConfig": { + "c": [ + 3, + 10 + ], + "allowed_slots": "PrimaryAndSecondaryPlainSlots" + } + }, + "substrateTest": { + "authorities": [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y" + ] + }, + "balances": { + "balances": [ + [ + "5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH", + 100000000000000000 + ], + [ + "5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o", + 100000000000000000 + ], + [ + "5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9", + 100000000000000000 + ], + [ + "5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK", + 100000000000000000 + ], + [ + "5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW", + 100000000000000000 + ], + [ + "5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR", + 100000000000000000 + ], + [ + "5DZLHESsfGrJ5YzT3HuRPXsSNb589xQ4Unubh1mYLodzKdVY", + 100000000000000000 + ], + [ + "5GHJzqvG6tXnngCpG7B12qjUvbo5e4e9z8Xjidk3CQZHxTPZ", + 100000000000000000 + ], + [ + "5CUnSsgAyLND3bxxnfNhgWXSe9Wn676JzLpGLgyJv858qhoX", + 100000000000000000 + ], + [ + "5CVKn7HAZW1Ky4r7Vkgsr7VEW88C2sHgUNDiwHY9Ct2hjU8q", + 100000000000000000 + ], + [ + "5H673aukQ4PeDe1U2nuv1bi32xDEziimh3PZz7hDdYUB7TNz", + 100000000000000000 + ], + [ + "5HTe9L15LJryjUAt1jZXZCBPnzbbGnpvFwbjE3NwCWaAqovf", + 100000000000000000 + ], + [ + "5D7LFzGpMwHPyDBavkRbWSKWTtJhCaPPZ379wWLT23bJwXJz", + 100000000000000000 + ], + [ + "5CLepMARnEgtVR1EkUuJVUvKh97gzergpSxUU3yKGx1v6EwC", + 100000000000000000 + ], + [ + "5Chb2UhfvZpmjjEziHbFbotM4quX32ZscRV6QJBt1rUKzz51", + 100000000000000000 + ], + [ + "5HmRp3i3ZZk7xsAvbi8hyXVP6whSMnBJGebVC4FsiZVhx52e", + 100000000000000000 + ], + [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + 100000000000000000 + ], + [ + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + 100000000000000000 + ], + [ + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + 100000000000000000 + ] + ] + } +} diff --git a/test-utils/runtime/res/default_genesis_config_invalid.json b/test-utils/runtime/res/default_genesis_config_invalid.json new file mode 100644 index 0000000000..f8e06f91d6 --- /dev/null +++ b/test-utils/runtime/res/default_genesis_config_invalid.json @@ -0,0 +1,113 @@ +{ + "system": {}, + "babe": { + "renamed_authorities": [ + [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + 1 + ], + [ + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + 1 + ], + [ + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + 1 + ] + ], + "epochConfig": { + "c": [ + 3, + 10 + ], + "allowed_slots": "PrimaryAndSecondaryPlainSlots" + } + }, + "substrateTest": { + "authorities": [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y" + ] + }, + "balances": { + "balances": [ + [ + "5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH", + 100000000000000000 + ], + [ + "5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o", + 100000000000000000 + ], + [ + "5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9", + 100000000000000000 + ], + [ + "5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK", + 100000000000000000 + ], + [ + "5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW", + 100000000000000000 + ], + [ + "5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR", + 100000000000000000 + ], + [ + "5DZLHESsfGrJ5YzT3HuRPXsSNb589xQ4Unubh1mYLodzKdVY", + 100000000000000000 + ], + [ + "5GHJzqvG6tXnngCpG7B12qjUvbo5e4e9z8Xjidk3CQZHxTPZ", + 100000000000000000 + ], + [ + "5CUnSsgAyLND3bxxnfNhgWXSe9Wn676JzLpGLgyJv858qhoX", + 100000000000000000 + ], + [ + "5CVKn7HAZW1Ky4r7Vkgsr7VEW88C2sHgUNDiwHY9Ct2hjU8q", + 100000000000000000 + ], + [ + "5H673aukQ4PeDe1U2nuv1bi32xDEziimh3PZz7hDdYUB7TNz", + 100000000000000000 + ], + [ + "5HTe9L15LJryjUAt1jZXZCBPnzbbGnpvFwbjE3NwCWaAqovf", + 100000000000000000 + ], + [ + "5D7LFzGpMwHPyDBavkRbWSKWTtJhCaPPZ379wWLT23bJwXJz", + 100000000000000000 + ], + [ + "5CLepMARnEgtVR1EkUuJVUvKh97gzergpSxUU3yKGx1v6EwC", + 100000000000000000 + ], + [ + "5Chb2UhfvZpmjjEziHbFbotM4quX32ZscRV6QJBt1rUKzz51", + 100000000000000000 + ], + [ + "5HmRp3i3ZZk7xsAvbi8hyXVP6whSMnBJGebVC4FsiZVhx52e", + 100000000000000000 + ], + [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + 100000000000000000 + ], + [ + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + 100000000000000000 + ], + [ + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + 100000000000000000 + ] + ] + } +} diff --git a/test-utils/runtime/res/default_genesis_config_invalid_2.json b/test-utils/runtime/res/default_genesis_config_invalid_2.json new file mode 100644 index 0000000000..a1345542bc --- /dev/null +++ b/test-utils/runtime/res/default_genesis_config_invalid_2.json @@ -0,0 +1,113 @@ +{ + "system": {}, + "babex": { + "authorities": [ + [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + 1 + ], + [ + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + 1 + ], + [ + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + 1 + ] + ], + "epochConfig": { + "c": [ + 3, + 10 + ], + "allowed_slots": "PrimaryAndSecondaryPlainSlots" + } + }, + "substrateTest": { + "authorities": [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y" + ] + }, + "balances": { + "balances": [ + [ + "5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH", + 100000000000000000 + ], + [ + "5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o", + 100000000000000000 + ], + [ + "5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9", + 100000000000000000 + ], + [ + "5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK", + 100000000000000000 + ], + [ + "5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW", + 100000000000000000 + ], + [ + "5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR", + 100000000000000000 + ], + [ + "5DZLHESsfGrJ5YzT3HuRPXsSNb589xQ4Unubh1mYLodzKdVY", + 100000000000000000 + ], + [ + "5GHJzqvG6tXnngCpG7B12qjUvbo5e4e9z8Xjidk3CQZHxTPZ", + 100000000000000000 + ], + [ + "5CUnSsgAyLND3bxxnfNhgWXSe9Wn676JzLpGLgyJv858qhoX", + 100000000000000000 + ], + [ + "5CVKn7HAZW1Ky4r7Vkgsr7VEW88C2sHgUNDiwHY9Ct2hjU8q", + 100000000000000000 + ], + [ + "5H673aukQ4PeDe1U2nuv1bi32xDEziimh3PZz7hDdYUB7TNz", + 100000000000000000 + ], + [ + "5HTe9L15LJryjUAt1jZXZCBPnzbbGnpvFwbjE3NwCWaAqovf", + 100000000000000000 + ], + [ + "5D7LFzGpMwHPyDBavkRbWSKWTtJhCaPPZ379wWLT23bJwXJz", + 100000000000000000 + ], + [ + "5CLepMARnEgtVR1EkUuJVUvKh97gzergpSxUU3yKGx1v6EwC", + 100000000000000000 + ], + [ + "5Chb2UhfvZpmjjEziHbFbotM4quX32ZscRV6QJBt1rUKzz51", + 100000000000000000 + ], + [ + "5HmRp3i3ZZk7xsAvbi8hyXVP6whSMnBJGebVC4FsiZVhx52e", + 100000000000000000 + ], + [ + "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + 100000000000000000 + ], + [ + "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + 100000000000000000 + ], + [ + "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + 100000000000000000 + ] + ] + } +} diff --git a/test-utils/runtime/src/extrinsic.rs b/test-utils/runtime/src/extrinsic.rs new file mode 100644 index 0000000000..ff46214e8b --- /dev/null +++ b/test-utils/runtime/src/extrinsic.rs @@ -0,0 +1,236 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Provides utils for building the `Extrinsic` instances used with `substrate-test-runtime`. + +use crate::{ + substrate_test_pallet::pallet::Call as PalletCall, AccountId, Balance, BalancesCall, + CheckSubstrateCall, Extrinsic, Nonce, Pair, RuntimeCall, SignedPayload, TransferData, +}; +use codec::Encode; +use frame_metadata_hash_extension::CheckMetadataHash; +use frame_system::{CheckNonce, CheckWeight}; +use sp_core::crypto::Pair as TraitPair; +use sp_keyring::AccountKeyring; +use sp_runtime::{traits::SignedExtension, transaction_validity::TransactionPriority, Perbill}; + +/// Transfer used in test substrate pallet. Extrinsic is created and signed using this data. +#[derive(Clone)] +pub struct Transfer { + /// Transfer sender and signer of created extrinsic + pub from: Pair, + /// The recipient of the transfer + pub to: AccountId, + /// Amount of transfer + pub amount: Balance, + /// Sender's account nonce at which transfer is valid + pub nonce: u64, +} + +impl Transfer { + /// Convert into a signed unchecked extrinsic. + pub fn into_unchecked_extrinsic(self) -> Extrinsic { + ExtrinsicBuilder::new_transfer(self).build() + } +} + +impl Default for TransferData { + fn default() -> Self { + Self { + from: AccountKeyring::Alice.into(), + to: AccountKeyring::Bob.into(), + amount: 0, + nonce: 0, + } + } +} + +/// If feasible converts given `Extrinsic` to `TransferData` +impl TryFrom<&Extrinsic> for TransferData { + type Error = (); + fn try_from(uxt: &Extrinsic) -> Result { + match uxt { + Extrinsic { + function: RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest, value }), + signature: Some((from, _, (CheckNonce(nonce), ..))), + } => Ok(TransferData { + from: *from, + to: *dest, + amount: *value, + nonce: *nonce, + }), + Extrinsic { + function: RuntimeCall::SubstrateTest(PalletCall::bench_call { transfer }), + signature: None, + } => Ok(transfer.clone()), + _ => Err(()), + } + } +} + +/// Generates `Extrinsic` +pub struct ExtrinsicBuilder { + function: RuntimeCall, + signer: Option, + nonce: Option, + metadata_hash: Option<[u8; 32]>, +} + +impl ExtrinsicBuilder { + /// Create builder for given `RuntimeCall`. By default `Extrinsic` will be signed by `Alice`. + pub fn new(function: impl Into) -> Self { + Self { + function: function.into(), + signer: Some(AccountKeyring::Alice.pair()), + nonce: None, + metadata_hash: None, + } + } + + /// Create builder for given `RuntimeCall`. `Extrinsic` will be unsigned. + pub fn new_unsigned(function: impl Into) -> Self { + Self { + function: function.into(), + signer: None, + nonce: None, + metadata_hash: None, + } + } + + /// Create builder for `pallet_call::bench_transfer` from given `TransferData`. + pub fn new_bench_call(transfer: TransferData) -> Self { + Self::new_unsigned(PalletCall::bench_call { transfer }) + } + + /// Create builder for given `Transfer`. Transfer `nonce` will be used as `Extrinsic` nonce. + /// Transfer `from` will be used as Extrinsic signer. + pub fn new_transfer(transfer: Transfer) -> Self { + Self { + nonce: Some(transfer.nonce), + signer: Some(transfer.from.clone()), + metadata_hash: None, + ..Self::new(BalancesCall::transfer_allow_death { + dest: transfer.to, + value: transfer.amount, + }) + } + } + + /// Create builder for `PalletCall::include_data` call using given parameters + pub fn new_include_data(data: Vec) -> Self { + Self::new(PalletCall::include_data { data }) + } + + /// Create builder for `PalletCall::storage_change` call using given parameters. Will + /// create unsigned Extrinsic. + pub fn new_storage_change(key: Vec, value: Option>) -> Self { + Self::new_unsigned(PalletCall::storage_change { key, value }) + } + + /// Create builder for `PalletCall::offchain_index_set` call using given parameters + pub fn new_offchain_index_set(key: Vec, value: Vec) -> Self { + Self::new(PalletCall::offchain_index_set { key, value }) + } + + /// Create builder for `PalletCall::offchain_index_clear` call using given parameters + pub fn new_offchain_index_clear(key: Vec) -> Self { + Self::new(PalletCall::offchain_index_clear { key }) + } + + /// Create builder for `PalletCall::indexed_call` call using given parameters + pub fn new_indexed_call(data: Vec) -> Self { + Self::new(PalletCall::indexed_call { data }) + } + + /// Create builder for `PalletCall::new_deposit_log_digest_item` call using given `log` + pub fn new_deposit_log_digest_item(log: sp_runtime::generic::DigestItem) -> Self { + Self::new_unsigned(PalletCall::deposit_log_digest_item { log }) + } + + /// Create builder for `PalletCall::Call::new_deposit_log_digest_item` + pub fn new_fill_block(ratio: Perbill) -> Self { + Self::new(PalletCall::fill_block { ratio }) + } + + /// Create builder for `PalletCall::call_do_not_propagate` call using given parameters + pub fn new_call_do_not_propagate() -> Self { + Self::new(PalletCall::call_do_not_propagate {}) + } + + /// Create builder for `PalletCall::call_with_priority` call using given parameters + pub fn new_call_with_priority(priority: TransactionPriority) -> Self { + Self::new(PalletCall::call_with_priority { priority }) + } + + /// Create builder for `PalletCall::read` call using given parameters + pub fn new_read(count: u32) -> Self { + Self::new_unsigned(PalletCall::read { count }) + } + + /// Create builder for `PalletCall::read` call using given parameters + pub fn new_read_and_panic(count: u32) -> Self { + Self::new_unsigned(PalletCall::read_and_panic { count }) + } + + /// Unsigned `Extrinsic` will be created + pub fn unsigned(mut self) -> Self { + self.signer = None; + self + } + + /// Given `nonce` will be set in `Extrinsic` + pub fn nonce(mut self, nonce: Nonce) -> Self { + self.nonce = Some(nonce); + self + } + + /// Extrinsic will be signed by `signer` + pub fn signer(mut self, signer: Pair) -> Self { + self.signer = Some(signer); + self + } + + /// Metadata hash to put into the signed data of the extrinsic. + pub fn metadata_hash(mut self, metadata_hash: [u8; 32]) -> Self { + self.metadata_hash = Some(metadata_hash); + self + } + + /// Build `Extrinsic` using embedded parameters + pub fn build(self) -> Extrinsic { + if let Some(signer) = self.signer { + let extra = ( + CheckNonce::from(self.nonce.unwrap_or(0)), + CheckWeight::new(), + CheckSubstrateCall {}, + self.metadata_hash + .map(CheckMetadataHash::new_with_custom_hash) + .unwrap_or_else(|| CheckMetadataHash::new(false)), + ); + let raw_payload = SignedPayload::from_raw( + self.function.clone(), + extra.clone(), + extra.additional_signed().unwrap(), + ); + let signature = raw_payload.using_encoded(|e| signer.sign(e)); + + Extrinsic::new_signed(self.function, signer.public(), signature, extra) + } else { + Extrinsic::new_unsigned(self.function) + } + } +} diff --git a/test-utils/runtime/src/genesismap.rs b/test-utils/runtime/src/genesismap.rs new file mode 100644 index 0000000000..a6cae054fb --- /dev/null +++ b/test-utils/runtime/src/genesismap.rs @@ -0,0 +1,187 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Tool for creating the genesis block. + +use super::{ + currency, substrate_test_pallet, wasm_binary_unwrap, AccountId, Balance, RuntimeGenesisConfig, +}; +use codec::Encode; +use sc_service::construct_genesis_block; +use sp_core::{ + sr25519, + storage::{well_known_keys, StateVersion, Storage}, + Pair, +}; +use sp_keyring::{AccountKeyring, Sr25519Keyring}; +use sp_runtime::{ + traits::{Block as BlockT, Hash as HashT, Header as HeaderT}, + BuildStorage, +}; + +/// Builder for generating storage from substrate-test-runtime genesis config. +/// +/// Default storage can be extended with additional key-value pairs. +pub struct GenesisStorageBuilder { + /// Authorities accounts used by any component requiring an authority set (e.g. babe). + authorities: Vec, + /// Accounts to be endowed with some funds. + balances: Vec<(AccountId, u64)>, + /// Override default number of heap pages. + heap_pages_override: Option, + /// Additional storage key pairs that will be added to the genesis map. + extra_storage: Storage, + /// Optional wasm code override. + wasm_code: Option>, +} + +impl Default for GenesisStorageBuilder { + /// Creates a builder with default settings for `substrate_test_runtime`. + fn default() -> Self { + Self::new( + vec![ + Sr25519Keyring::Alice.into(), + Sr25519Keyring::Bob.into(), + Sr25519Keyring::Charlie.into(), + ], + (0..16_usize) + .into_iter() + .map(|i| AccountKeyring::numeric(i).public()) + .chain(vec![ + AccountKeyring::Alice.into(), + AccountKeyring::Bob.into(), + AccountKeyring::Charlie.into(), + ]) + .collect(), + 1000 * currency::DOLLARS, + ) + } +} + +impl GenesisStorageBuilder { + /// Creates a storage builder for genesis config. `substrage test runtime` + /// [`RuntimeGenesisConfig`] is initialized with provided `authorities`, `endowed_accounts` with + /// given balance. Key-value pairs from `extra_storage` will be injected into built storage. + /// `HEAP_PAGES` key and value will also be placed into storage. + pub fn new( + authorities: Vec, + endowed_accounts: Vec, + balance: Balance, + ) -> Self { + GenesisStorageBuilder { + authorities, + balances: endowed_accounts.into_iter().map(|a| (a, balance)).collect(), + heap_pages_override: None, + extra_storage: Default::default(), + wasm_code: None, + } + } + + /// Override default wasm code to be placed into RuntimeGenesisConfig. + pub fn with_wasm_code(mut self, wasm_code: &Option>) -> Self { + self.wasm_code = wasm_code.clone(); + self + } + + pub fn with_heap_pages(mut self, heap_pages_override: Option) -> Self { + self.heap_pages_override = heap_pages_override; + self + } + + pub fn with_extra_storage(mut self, storage: Storage) -> Self { + self.extra_storage = storage; + self + } + + /// A `RuntimeGenesisConfig` from internal configuration + pub fn genesis_config(&self) -> RuntimeGenesisConfig { + let authorities_sr25519: Vec<_> = self + .authorities + .clone() + .into_iter() + .map(|id| sr25519::Public::from(id)) + .collect(); + + RuntimeGenesisConfig { + system: Default::default(), + babe: pallet_babe::GenesisConfig { + authorities: authorities_sr25519 + .clone() + .into_iter() + .map(|x| (x.into(), 1)) + .collect(), + ..Default::default() + }, + substrate_test: substrate_test_pallet::GenesisConfig { + authorities: authorities_sr25519.clone(), + ..Default::default() + }, + balances: pallet_balances::GenesisConfig { + balances: self.balances.clone(), + }, + } + } + + /// Builds the `RuntimeGenesisConfig` and returns its storage. + pub fn build(self) -> Storage { + let mut storage = self + .genesis_config() + .build_storage() + .expect("Build storage from substrate-test-runtime RuntimeGenesisConfig"); + + if let Some(heap_pages) = self.heap_pages_override { + storage + .top + .insert(well_known_keys::HEAP_PAGES.into(), heap_pages.encode()); + } + + storage.top.insert( + well_known_keys::CODE.into(), + self.wasm_code + .clone() + .unwrap_or(wasm_binary_unwrap().to_vec()), + ); + + storage.top.extend(self.extra_storage.top.clone()); + storage + .children_default + .extend(self.extra_storage.children_default.clone()); + + storage + } +} + +pub fn insert_genesis_block(storage: &mut Storage) -> sp_core::hash::H256 { + let child_roots = storage.children_default.iter().map(|(sk, child_content)| { + let state_root = + <<::Header as HeaderT>::Hashing as HashT>::trie_root( + child_content.data.clone().into_iter().collect(), + sp_runtime::StateVersion::V1, + ); + (sk.clone(), state_root.encode()) + }); + // add child roots to storage + storage.top.extend(child_roots); + let state_root = <<::Header as HeaderT>::Hashing as HashT>::trie_root( + storage.top.clone().into_iter().collect(), + sp_runtime::StateVersion::V1, + ); + let block: crate::Block = construct_genesis_block(state_root, StateVersion::V1); + let genesis_hash = block.header.hash(); + + genesis_hash +} diff --git a/test-utils/runtime/src/lib.rs b/test-utils/runtime/src/lib.rs new file mode 100644 index 0000000000..9680d73f76 --- /dev/null +++ b/test-utils/runtime/src/lib.rs @@ -0,0 +1,1608 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! The Substrate runtime. This can be compiled with `#[no_std]`, ready for Wasm. + +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; + +#[cfg(feature = "std")] +pub mod extrinsic; +#[cfg(feature = "std")] +pub mod genesismap; +pub mod substrate_test_pallet; + +#[cfg(not(feature = "std"))] +use alloc::{vec, vec::Vec}; +use codec::{Decode, Encode}; +use frame_support::{ + construct_runtime, derive_impl, + dispatch::DispatchClass, + genesis_builder_helper::{build_state, get_preset}, + parameter_types, + traits::{ConstU32, ConstU64}, + weights::{ + constants::{BlockExecutionWeight, ExtrinsicBaseWeight, WEIGHT_REF_TIME_PER_SECOND}, + Weight, + }, +}; +use frame_system::{ + limits::{BlockLength, BlockWeights}, + CheckNonce, CheckWeight, +}; +use scale_info::TypeInfo; +use sp_application_crypto::Ss58Codec; +use sp_keyring::AccountKeyring; + +use sp_application_crypto::{ecdsa, ed25519, sr25519, RuntimeAppPublic}; +use sp_core::{OpaqueMetadata, RuntimeDebug}; +use sp_trie::{ + trie_types::{TrieDBBuilder, TrieDBMutBuilderV1}, + PrefixedMemoryDB, StorageProof, +}; +use trie_db::{Trie, TrieMut}; + +use serde_json::json; +use sp_api::{decl_runtime_apis, impl_runtime_apis}; +pub use sp_core::hash::H256; +use sp_genesis_builder::PresetId; +use sp_inherents::{CheckInherentsResult, InherentData}; +use sp_runtime::{ + create_runtime_str, impl_opaque_keys, + traits::{BlakeTwo256, Block as BlockT, DispatchInfoOf, NumberFor, Verify}, + transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError}, + ApplyExtrinsicResult, ExtrinsicInclusionMode, Perbill, +}; +#[cfg(any(feature = "std", test))] +use sp_version::NativeVersion; +use sp_version::RuntimeVersion; + +pub use sp_consensus_babe::{AllowedSlots, BabeEpochConfiguration, Slot}; + +pub use pallet_balances::Call as BalancesCall; + +pub type AuraId = sp_consensus_aura::sr25519::AuthorityId; +#[cfg(feature = "std")] +pub use extrinsic::{ExtrinsicBuilder, Transfer}; + +const LOG_TARGET: &str = "substrate-test-runtime"; + +// Include the WASM binary +#[cfg(feature = "std")] +include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); + +#[cfg(feature = "std")] +pub mod wasm_binary_logging_disabled { + include!(concat!(env!("OUT_DIR"), "/wasm_binary_logging_disabled.rs")); +} + +/// Wasm binary unwrapped. If built with `SKIP_WASM_BUILD`, the function panics. +#[cfg(feature = "std")] +pub fn wasm_binary_unwrap() -> &'static [u8] { + WASM_BINARY.expect( + "Development wasm binary is not available. Testing is only supported with the flag + disabled.", + ) +} + +/// Wasm binary unwrapped. If built with `SKIP_WASM_BUILD`, the function panics. +#[cfg(feature = "std")] +pub fn wasm_binary_logging_disabled_unwrap() -> &'static [u8] { + wasm_binary_logging_disabled::WASM_BINARY.expect( + "Development wasm binary is not available. Testing is only supported with the flag + disabled.", + ) +} + +/// Test runtime version. +#[sp_version::runtime_version] +pub const VERSION: RuntimeVersion = RuntimeVersion { + spec_name: create_runtime_str!("test"), + impl_name: create_runtime_str!("parity-test"), + authoring_version: 1, + spec_version: 2, + impl_version: 2, + apis: RUNTIME_API_VERSIONS, + transaction_version: 1, + state_version: 1, +}; + +fn version() -> RuntimeVersion { + VERSION +} + +/// Native version. +#[cfg(any(feature = "std", test))] +pub fn native_version() -> NativeVersion { + NativeVersion { + runtime_version: VERSION, + can_author_with: Default::default(), + } +} + +/// Transfer data extracted from Extrinsic containing `Balances::transfer_allow_death`. +#[derive(Clone, PartialEq, Eq, Encode, Decode, RuntimeDebug, TypeInfo)] +pub struct TransferData { + pub from: AccountId, + pub to: AccountId, + pub amount: Balance, + pub nonce: Nonce, +} + +/// The address format for describing accounts. +pub type Address = sp_core::sr25519::Public; +pub type Signature = sr25519::Signature; +#[cfg(feature = "std")] +pub type Pair = sp_core::sr25519::Pair; + +/// The SignedExtension to the basic transaction logic. +pub type SignedExtra = ( + CheckNonce, + CheckWeight, + CheckSubstrateCall, + frame_metadata_hash_extension::CheckMetadataHash, +); +/// The payload being signed in transactions. +pub type SignedPayload = sp_runtime::generic::SignedPayload; +/// Unchecked extrinsic type as expected by this runtime. +pub type Extrinsic = + sp_runtime::generic::UncheckedExtrinsic; + +/// An identifier for an account on this system. +pub type AccountId = ::Signer; +/// A simple hash type for all our hashing. +pub type Hash = H256; +/// The hashing algorithm used. +pub type Hashing = BlakeTwo256; +/// The block number type used in this runtime. +pub type BlockNumber = u64; +/// Index of a transaction. +pub type Nonce = u64; +/// The item of a block digest. +pub type DigestItem = sp_runtime::generic::DigestItem; +/// The digest of a block. +pub type Digest = sp_runtime::generic::Digest; +/// A test block. +pub type Block = sp_runtime::generic::Block; +/// A test block's header. +pub type Header = sp_runtime::generic::Header; +/// Balance of an account. +pub type Balance = u64; + +decl_runtime_apis! { + #[api_version(2)] + pub trait TestAPI { + /// Return the balance of the given account id. + fn balance_of(id: AccountId) -> u64; + /// A benchmark function that adds one to the given value and returns the result. + fn benchmark_add_one(val: &u64) -> u64; + /// A benchmark function that adds one to each value in the given vector and returns the + /// result. + fn benchmark_vector_add_one(vec: &Vec) -> Vec; + /// A function for that the signature changed in version `2`. + #[changed_in(2)] + fn function_signature_changed() -> Vec; + /// The new signature. + fn function_signature_changed() -> u64; + /// trie no_std testing + fn use_trie() -> u64; + /// Calls function in the loop using never-inlined function pointer + fn benchmark_indirect_call() -> u64; + /// Calls function in the loop + fn benchmark_direct_call() -> u64; + /// Allocates vector with given capacity. + fn vec_with_capacity(size: u32) -> Vec; + /// Returns the initialized block number. + fn get_block_number() -> u64; + + /// Test that `ed25519` crypto works in the runtime. + /// + /// Returns the signature generated for the message `ed25519` and the public key. + fn test_ed25519_crypto() -> (ed25519::AppSignature, ed25519::AppPublic); + /// Test that `sr25519` crypto works in the runtime. + /// + /// Returns the signature generated for the message `sr25519`. + fn test_sr25519_crypto() -> (sr25519::AppSignature, sr25519::AppPublic); + /// Test that `ecdsa` crypto works in the runtime. + /// + /// Returns the signature generated for the message `ecdsa`. + fn test_ecdsa_crypto() -> (ecdsa::AppSignature, ecdsa::AppPublic); + /// Run various tests against storage. + fn test_storage(); + /// Check a witness. + fn test_witness(proof: StorageProof, root: crate::Hash); + /// Test that ensures that we can call a function that takes multiple + /// arguments. + fn test_multiple_arguments(data: Vec, other: Vec, num: u32); + /// Traces log "Hey I'm runtime." + fn do_trace_log(); + /// Verify the given signature, public & message bundle. + fn verify_ed25519(sig: ed25519::Signature, public: ed25519::Public, message: Vec) -> bool; + /// Write the given `value` under the given `key` into the storage and then optional panic. + fn write_key_value(key: Vec, value: Vec, panic: bool); + } +} + +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPalletsWithSystem, +>; + +#[derive(Copy, Clone, PartialEq, Eq, Encode, Decode, RuntimeDebug, TypeInfo)] +pub struct CheckSubstrateCall; + +impl sp_runtime::traits::Printable for CheckSubstrateCall { + fn print(&self) { + "CheckSubstrateCall".print() + } +} + +impl sp_runtime::traits::Dispatchable for CheckSubstrateCall { + type RuntimeOrigin = CheckSubstrateCall; + type Config = CheckSubstrateCall; + type Info = CheckSubstrateCall; + type PostInfo = CheckSubstrateCall; + + fn dispatch( + self, + _origin: Self::RuntimeOrigin, + ) -> sp_runtime::DispatchResultWithInfo { + panic!("This implementation should not be used for actual dispatch."); + } +} + +impl sp_runtime::traits::SignedExtension for CheckSubstrateCall { + type AccountId = AccountId; + type Call = RuntimeCall; + type AdditionalSigned = (); + type Pre = (); + const IDENTIFIER: &'static str = "CheckSubstrateCall"; + + fn additional_signed( + &self, + ) -> core::result::Result { + Ok(()) + } + + fn validate( + &self, + _who: &Self::AccountId, + call: &Self::Call, + _info: &DispatchInfoOf, + _len: usize, + ) -> TransactionValidity { + log::trace!(target: LOG_TARGET, "validate"); + match call { + RuntimeCall::SubstrateTest(ref substrate_test_call) => { + substrate_test_pallet::validate_runtime_call(substrate_test_call) + } + _ => Ok(Default::default()), + } + } + + fn pre_dispatch( + self, + who: &Self::AccountId, + call: &Self::Call, + info: &sp_runtime::traits::DispatchInfoOf, + len: usize, + ) -> Result { + self.validate(who, call, info, len).map(drop) + } +} + +construct_runtime!( + pub enum Runtime + { + System: frame_system, + Babe: pallet_babe, + SubstrateTest: substrate_test_pallet::pallet, + Balances: pallet_balances, + } +); + +/// We assume that ~10% of the block weight is consumed by `on_initialize` handlers. +/// This is used to limit the maximal weight of a single extrinsic. +const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); +/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be used +/// by Operational extrinsics. +const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); +/// Max weight, actual value does not matter for test runtime. +const MAXIMUM_BLOCK_WEIGHT: Weight = + Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2), u64::MAX); + +parameter_types! { + pub const BlockHashCount: BlockNumber = 2400; + pub const Version: RuntimeVersion = VERSION; + + pub RuntimeBlockLength: BlockLength = + BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); + + pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() + .base_block(BlockExecutionWeight::get()) + .for_class(DispatchClass::all(), |weights| { + weights.base_extrinsic = ExtrinsicBaseWeight::get(); + }) + .for_class(DispatchClass::Normal, |weights| { + weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + }) + .for_class(DispatchClass::Operational, |weights| { + weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); + // Operational transactions have some extra reserved space, so that they + // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. + weights.reserved = Some( + MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT + ); + }) + .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) + .build_or_panic(); +} + +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] +impl frame_system::pallet::Config for Runtime { + type BlockWeights = RuntimeBlockWeights; + type Nonce = Nonce; + type AccountId = AccountId; + type Lookup = sp_runtime::traits::IdentityLookup; + type Block = Block; + type AccountData = pallet_balances::AccountData; +} + +pub mod currency { + use crate::Balance; + const MILLICENTS: Balance = 1_000_000_000; + const CENTS: Balance = 1_000 * MILLICENTS; // assume this is worth about a cent. + pub const DOLLARS: Balance = 100 * CENTS; +} + +parameter_types! { + pub const ExistentialDeposit: Balance = 1 * currency::DOLLARS; + // For weight estimation, we assume that the most locks on an individual account will be 50. + // This number may need to be adjusted in the future if this assumption no longer holds true. + pub const MaxLocks: u32 = 50; + pub const MaxReserves: u32 = 50; +} + +impl pallet_balances::Config for Runtime { + type MaxLocks = MaxLocks; + type MaxReserves = MaxReserves; + type ReserveIdentifier = [u8; 8]; + type Balance = Balance; + type DustRemoval = (); + type RuntimeEvent = RuntimeEvent; + type ExistentialDeposit = ExistentialDeposit; + type AccountStore = System; + type WeightInfo = pallet_balances::weights::SubstrateWeight; + type FreezeIdentifier = (); + type MaxFreezes = (); + type RuntimeHoldReason = RuntimeHoldReason; + type RuntimeFreezeReason = RuntimeFreezeReason; +} + +impl substrate_test_pallet::Config for Runtime {} + +// Required for `pallet_babe::Config`. +impl pallet_timestamp::Config for Runtime { + type Moment = u64; + type OnTimestampSet = Babe; + type MinimumPeriod = ConstU64<500>; + type WeightInfo = pallet_timestamp::weights::SubstrateWeight; +} + +parameter_types! { + pub const EpochDuration: u64 = 6; +} + +impl pallet_babe::Config for Runtime { + type EpochDuration = EpochDuration; + type ExpectedBlockTime = ConstU64<10_000>; + type EpochChangeTrigger = pallet_babe::SameAuthoritiesForever; + type DisabledValidators = (); + type KeyOwnerProof = sp_core::Void; + type EquivocationReportSystem = (); + type WeightInfo = (); + type MaxAuthorities = ConstU32<10>; + type MaxNominators = ConstU32<100>; +} + +/// Adds one to the given input and returns the final result. +#[inline(never)] +fn benchmark_add_one(i: u64) -> u64 { + i + 1 +} + +fn code_using_trie() -> u64 { + let pairs = [ + (b"0103000000000000000464".to_vec(), b"0400000000".to_vec()), + (b"0103000000000000000469".to_vec(), b"0401000000".to_vec()), + ] + .to_vec(); + + let mut mdb = PrefixedMemoryDB::default(); + let mut root = core::default::Default::default(); + { + let mut t = TrieDBMutBuilderV1::::new(&mut mdb, &mut root).build(); + for (key, value) in &pairs { + if t.insert(key, value).is_err() { + return 101; + } + } + } + + let trie = TrieDBBuilder::::new(&mdb, &root).build(); + let res = if let Ok(iter) = trie.iter() { + iter.flatten().count() as u64 + } else { + 102 + }; + + res +} + +impl_opaque_keys! { + pub struct SessionKeys { + pub ed25519: ed25519::AppPublic, + pub sr25519: sr25519::AppPublic, + pub ecdsa: ecdsa::AppPublic, + } +} + +pub const TEST_RUNTIME_BABE_EPOCH_CONFIGURATION: BabeEpochConfiguration = BabeEpochConfiguration { + c: (3, 10), + allowed_slots: AllowedSlots::PrimaryAndSecondaryPlainSlots, +}; + +impl_runtime_apis! { + impl sp_api::Core for Runtime { + fn version() -> RuntimeVersion { + version() + } + + fn execute_block(block: Block) { + log::trace!(target: LOG_TARGET, "execute_block: {block:#?}"); + Executive::execute_block(block); + } + + fn initialize_block(header: &::Header) -> ExtrinsicInclusionMode { + log::trace!(target: LOG_TARGET, "initialize_block: {header:#?}"); + Executive::initialize_block(header) + } + } + + impl sp_api::Metadata for Runtime { + fn metadata() -> OpaqueMetadata { + OpaqueMetadata::new(Runtime::metadata().into()) + } + + fn metadata_at_version(version: u32) -> Option { + Runtime::metadata_at_version(version) + } + fn metadata_versions() -> alloc::vec::Vec { + Runtime::metadata_versions() + } + } + + impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { + fn validate_transaction( + source: TransactionSource, + utx: ::Extrinsic, + block_hash: ::Hash, + ) -> TransactionValidity { + let validity = Executive::validate_transaction(source, utx.clone(), block_hash); + log::trace!(target: LOG_TARGET, "validate_transaction {:?} {:?}", utx, validity); + validity + } + } + + impl sp_block_builder::BlockBuilder for Runtime { + fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + Executive::apply_extrinsic(extrinsic) + } + + fn finalize_block() -> ::Header { + log::trace!(target: LOG_TARGET, "finalize_block"); + Executive::finalize_block() + } + + fn inherent_extrinsics(_data: InherentData) -> Vec<::Extrinsic> { + vec![] + } + + fn check_inherents(_block: Block, _data: InherentData) -> CheckInherentsResult { + CheckInherentsResult::new() + } + } + + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { + fn account_nonce(account: AccountId) -> Nonce { + System::account_nonce(account) + } + } + + impl self::TestAPI for Runtime { + fn balance_of(id: AccountId) -> u64 { + Balances::free_balance(id) + } + + fn benchmark_add_one(val: &u64) -> u64 { + val + 1 + } + + fn benchmark_vector_add_one(vec: &Vec) -> Vec { + let mut vec = vec.clone(); + vec.iter_mut().for_each(|v| *v += 1); + vec + } + + fn function_signature_changed() -> u64 { + 1 + } + + fn use_trie() -> u64 { + code_using_trie() + } + + fn benchmark_indirect_call() -> u64 { + let function = benchmark_add_one; + (0..1000).fold(0, |p, i| p + function(i)) + } + fn benchmark_direct_call() -> u64 { + (0..1000).fold(0, |p, i| p + benchmark_add_one(i)) + } + + fn vec_with_capacity(size: u32) -> Vec { + Vec::with_capacity(size as usize) + } + + fn get_block_number() -> u64 { + System::block_number() + } + + fn test_ed25519_crypto() -> (ed25519::AppSignature, ed25519::AppPublic) { + test_ed25519_crypto() + } + + fn test_sr25519_crypto() -> (sr25519::AppSignature, sr25519::AppPublic) { + test_sr25519_crypto() + } + + fn test_ecdsa_crypto() -> (ecdsa::AppSignature, ecdsa::AppPublic) { + test_ecdsa_crypto() + } + + fn test_storage() { + test_read_storage(); + test_read_child_storage(); + } + + fn test_witness(proof: StorageProof, root: crate::Hash) { + test_witness(proof, root); + } + + fn test_multiple_arguments(data: Vec, other: Vec, num: u32) { + assert_eq!(&data[..], &other[..]); + assert_eq!(data.len(), num as usize); + } + + fn do_trace_log() { + log::trace!(target: "test", "Hey I'm runtime"); + + let data = "THIS IS TRACING"; + + tracing::trace!(target: "test", %data, "Hey, I'm tracing"); + } + + fn verify_ed25519(sig: ed25519::Signature, public: ed25519::Public, message: Vec) -> bool { + sp_io::crypto::ed25519_verify(&sig, &message, &public) + } + + fn write_key_value(key: Vec, value: Vec, panic: bool) { + sp_io::storage::set(&key, &value); + + if panic { + panic!("I'm just following my master"); + } + } + } + + impl sp_consensus_aura::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(1000) + } + + fn authorities() -> Vec { + SubstrateTest::authorities().into_iter().map(|auth| AuraId::from(auth)).collect() + } + } + + impl sp_consensus_babe::BabeApi for Runtime { + fn configuration() -> sp_consensus_babe::BabeConfiguration { + let epoch_config = Babe::epoch_config().unwrap_or(TEST_RUNTIME_BABE_EPOCH_CONFIGURATION); + sp_consensus_babe::BabeConfiguration { + slot_duration: Babe::slot_duration(), + epoch_length: EpochDuration::get(), + c: epoch_config.c, + authorities: Babe::authorities().to_vec(), + randomness: Babe::randomness(), + allowed_slots: epoch_config.allowed_slots, + } + } + + fn current_epoch_start() -> Slot { + Babe::current_epoch_start() + } + + fn current_epoch() -> sp_consensus_babe::Epoch { + Babe::current_epoch() + } + + fn next_epoch() -> sp_consensus_babe::Epoch { + Babe::next_epoch() + } + + fn submit_report_equivocation_unsigned_extrinsic( + _equivocation_proof: sp_consensus_babe::EquivocationProof< + ::Header, + >, + _key_owner_proof: sp_consensus_babe::OpaqueKeyOwnershipProof, + ) -> Option<()> { + None + } + + fn generate_key_ownership_proof( + _slot: sp_consensus_babe::Slot, + _authority_id: sp_consensus_babe::AuthorityId, + ) -> Option { + None + } + } + + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + let ext = Extrinsic::new_unsigned( + substrate_test_pallet::pallet::Call::storage_change{ + key:b"some_key".encode(), + value:Some(header.number.encode()) + }.into(), + ); + sp_io::offchain::submit_transaction(ext.encode()).unwrap(); + } + } + + impl sp_session::SessionKeys for Runtime { + fn generate_session_keys(_: Option>) -> Vec { + SessionKeys::generate(None) + } + + fn decode_session_keys( + encoded: Vec, + ) -> Option, sp_core::crypto::KeyTypeId)>> { + SessionKeys::decode_into_raw_public_keys(&encoded) + } + } + + impl sp_consensus_grandpa::GrandpaApi for Runtime { + fn grandpa_authorities() -> sp_consensus_grandpa::AuthorityList { + Vec::new() + } + + fn current_set_id() -> sp_consensus_grandpa::SetId { + 0 + } + + fn submit_report_equivocation_unsigned_extrinsic( + _equivocation_proof: sp_consensus_grandpa::EquivocationProof< + ::Hash, + NumberFor, + >, + _key_owner_proof: sp_consensus_grandpa::OpaqueKeyOwnershipProof, + ) -> Option<()> { + None + } + + fn generate_key_ownership_proof( + _set_id: sp_consensus_grandpa::SetId, + _authority_id: sp_consensus_grandpa::AuthorityId, + ) -> Option { + None + } + } + + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn build_state(config: Vec) -> sp_genesis_builder::Result { + build_state::(config) + } + + fn get_preset(name: &Option) -> Option> { + get_preset::(name, |name| { + let patch = match name.try_into() { + Ok("staging") => { + let endowed_accounts: Vec = vec![ + AccountKeyring::Bob.public().into(), + AccountKeyring::Charlie.public().into(), + ]; + + json!({ + "balances": { + "balances": endowed_accounts.into_iter().map(|k| (k, 10 * currency::DOLLARS)).collect::>(), + }, + "substrateTest": { + "authorities": [ + AccountKeyring::Alice.public().to_ss58check(), + AccountKeyring::Ferdie.public().to_ss58check() + ], + } + }) + }, + Ok("foobar") => json!({"foo":"bar"}), + _ => return None, + }; + Some(serde_json::to_string(&patch) + .expect("serialization to json is expected to work. qed.") + .into_bytes()) + }) + } + + fn preset_names() -> Vec { + vec![PresetId::from("foobar"), PresetId::from("staging")] + } + } +} + +fn test_ed25519_crypto() -> (ed25519::AppSignature, ed25519::AppPublic) { + let public0 = ed25519::AppPublic::generate_pair(None); + let public1 = ed25519::AppPublic::generate_pair(None); + let public2 = ed25519::AppPublic::generate_pair(None); + + let all = ed25519::AppPublic::all(); + assert!(all.contains(&public0)); + assert!(all.contains(&public1)); + assert!(all.contains(&public2)); + + let signature = public0 + .sign(&"ed25519") + .expect("Generates a valid `ed25519` signature."); + assert!(public0.verify(&"ed25519", &signature)); + (signature, public0) +} + +fn test_sr25519_crypto() -> (sr25519::AppSignature, sr25519::AppPublic) { + let public0 = sr25519::AppPublic::generate_pair(None); + let public1 = sr25519::AppPublic::generate_pair(None); + let public2 = sr25519::AppPublic::generate_pair(None); + + let all = sr25519::AppPublic::all(); + assert!(all.contains(&public0)); + assert!(all.contains(&public1)); + assert!(all.contains(&public2)); + + let signature = public0 + .sign(&"sr25519") + .expect("Generates a valid `sr25519` signature."); + assert!(public0.verify(&"sr25519", &signature)); + (signature, public0) +} + +fn test_ecdsa_crypto() -> (ecdsa::AppSignature, ecdsa::AppPublic) { + let public0 = ecdsa::AppPublic::generate_pair(None); + let public1 = ecdsa::AppPublic::generate_pair(None); + let public2 = ecdsa::AppPublic::generate_pair(None); + + let all = ecdsa::AppPublic::all(); + assert!(all.contains(&public0)); + assert!(all.contains(&public1)); + assert!(all.contains(&public2)); + + let signature = public0 + .sign(&"ecdsa") + .expect("Generates a valid `ecdsa` signature."); + + assert!(public0.verify(&"ecdsa", &signature)); + (signature, public0) +} + +fn test_read_storage() { + const KEY: &[u8] = b":read_storage"; + sp_io::storage::set(KEY, b"test"); + + let mut v = [0u8; 4]; + let r = sp_io::storage::read(KEY, &mut v, 0); + assert_eq!(r, Some(4)); + assert_eq!(&v, b"test"); + + let mut v = [0u8; 4]; + let r = sp_io::storage::read(KEY, &mut v, 4); + assert_eq!(r, Some(0)); + assert_eq!(&v, &[0, 0, 0, 0]); +} + +fn test_read_child_storage() { + const STORAGE_KEY: &[u8] = b"unique_id_1"; + const KEY: &[u8] = b":read_child_storage"; + sp_io::default_child_storage::set(STORAGE_KEY, KEY, b"test"); + + let mut v = [0u8; 4]; + let r = sp_io::default_child_storage::read(STORAGE_KEY, KEY, &mut v, 0); + assert_eq!(r, Some(4)); + assert_eq!(&v, b"test"); + + let mut v = [0u8; 4]; + let r = sp_io::default_child_storage::read(STORAGE_KEY, KEY, &mut v, 8); + assert_eq!(r, Some(0)); + assert_eq!(&v, &[0, 0, 0, 0]); +} + +fn test_witness(proof: StorageProof, root: crate::Hash) { + use sp_externalities::Externalities; + let db: sp_trie::MemoryDB = proof.into_memory_db(); + let backend = sp_state_machine::TrieBackendBuilder::<_, crate::Hashing>::new(db, root).build(); + let mut overlay = sp_state_machine::OverlayedChanges::default(); + let mut ext = sp_state_machine::Ext::new( + &mut overlay, + &backend, + #[cfg(feature = "std")] + None, + ); + assert!(ext.storage(b"value3").is_some()); + assert!(ext.storage_root(Default::default()).as_slice() == &root[..]); + ext.place_storage(vec![0], Some(vec![1])); + assert!(ext.storage_root(Default::default()).as_slice() != &root[..]); +} + +/// Some tests require the hashed keys of the storage. As the values of hashed keys are not trivial +/// to guess, this small module provides the values of the keys, and the code which is required to +/// generate the keys. +#[cfg(feature = "std")] +pub mod storage_key_generator { + use super::*; + use sp_core::Pair; + + /// Generate hex string without prefix + pub(super) fn hex(x: T) -> String + where + T: array_bytes::Hex, + { + x.hex(Default::default()) + } + + fn concat_hashes(input: &Vec<&[u8]>) -> String { + input + .iter() + .map(|s| sp_crypto_hashing::twox_128(s)) + .map(hex) + .collect() + } + + fn twox_64_concat(x: &[u8]) -> Vec { + sp_crypto_hashing::twox_64(x) + .iter() + .chain(x.iter()) + .cloned() + .collect() + } + + /// Generate the hashed storage keys from the raw literals. These keys are expected to be in + /// storage with given substrate-test runtime. + pub fn generate_expected_storage_hashed_keys(custom_heap_pages: bool) -> Vec { + let mut literals: Vec<&[u8]> = vec![b":code", b":extrinsic_index"]; + + if custom_heap_pages { + literals.push(b":heappages"); + } + + let keys: Vec> = vec![ + vec![b"Babe", b":__STORAGE_VERSION__:"], + vec![b"Babe", b"Authorities"], + vec![b"Babe", b"EpochConfig"], + vec![b"Babe", b"NextAuthorities"], + vec![b"Babe", b"SegmentIndex"], + vec![b"Balances", b":__STORAGE_VERSION__:"], + vec![b"Balances", b"TotalIssuance"], + vec![b"SubstrateTest", b":__STORAGE_VERSION__:"], + vec![b"SubstrateTest", b"Authorities"], + vec![b"System", b":__STORAGE_VERSION__:"], + vec![b"System", b"LastRuntimeUpgrade"], + vec![b"System", b"ParentHash"], + vec![b"System", b"UpgradedToTripleRefCount"], + vec![b"System", b"UpgradedToU32RefCount"], + ]; + + let mut expected_keys = keys.iter().map(concat_hashes).collect::>(); + expected_keys.extend(literals.into_iter().map(hex)); + + let balances_map_keys = (0..16_usize) + .into_iter() + .map(|i| AccountKeyring::numeric(i).public().to_vec()) + .chain(vec![ + AccountKeyring::Alice.public().to_vec(), + AccountKeyring::Bob.public().to_vec(), + AccountKeyring::Charlie.public().to_vec(), + ]) + .map(|pubkey| { + sp_crypto_hashing::blake2_128(&pubkey) + .iter() + .chain(pubkey.iter()) + .cloned() + .collect::>() + }) + .map(|hash_pubkey| { + [ + concat_hashes(&vec![b"System", b"Account"]), + hex(hash_pubkey), + ] + .concat() + }); + + expected_keys.extend(balances_map_keys); + + expected_keys.push( + [ + concat_hashes(&vec![b"System", b"BlockHash"]), + hex(0u64.using_encoded(twox_64_concat)), + ] + .concat(), + ); + + expected_keys.sort(); + expected_keys + } + + /// Provides the commented list of hashed keys. This contains a hard-coded list of hashed keys + /// that would be generated by `generate_expected_storage_hashed_keys`. This list is provided + /// for the debugging convenience only. Value of each hex-string is documented with the literal + /// origin. + /// + /// `custom_heap_pages`: Should be set to `true` when the state contains the `:heap_pages` key + /// aka when overriding the heap pages to be used by the executor. + pub fn get_expected_storage_hashed_keys(custom_heap_pages: bool) -> Vec<&'static str> { + let mut res = vec![ + //SubstrateTest|:__STORAGE_VERSION__: + "00771836bebdd29870ff246d305c578c4e7b9012096b41c4eb3aaf947f6ea429", + //SubstrateTest|Authorities + "00771836bebdd29870ff246d305c578c5e0621c4869aa60c02be9adcc98a0d1d", + //Babe|:__STORAGE_VERSION__: + "1cb6f36e027abb2091cfb5110ab5087f4e7b9012096b41c4eb3aaf947f6ea429", + //Babe|Authorities + "1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d", + //Babe|SegmentIndex + "1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4", + //Babe|NextAuthorities + "1cb6f36e027abb2091cfb5110ab5087faacf00b9b41fda7a9268821c2a2b3e4c", + //Babe|EpochConfig + "1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef", + //System|:__STORAGE_VERSION__: + "26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429", + //System|UpgradedToU32RefCount + "26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710", + //System|ParentHash + "26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc", + //System::BlockHash|0 + "26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746bb1bdbcacd6ac9340000000000000000", + //System|UpgradedToTripleRefCount + "26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439", + + // System|Account|blake2_128Concat("//11") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da901cae4e3edfbb32c91ed3f01ab964f4eeeab50338d8e5176d3141802d7b010a55dadcd5f23cf8aaafa724627e967e90e", + // System|Account|blake2_128Concat("//4") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da91b614bd4a126f2d5d294e9a8af9da25248d7e931307afb4b68d8d565d4c66e00d856c6d65f5fed6bb82dcfb60e936c67", + // System|Account|blake2_128Concat("//7") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94b21aff9fe1e8b2fc4b0775b8cbeff28ba8e2c7594dd74730f3ca835e95455d199261897edc9735d602ea29615e2b10b", + // System|Account|blake2_128Concat("//Bob") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94f9aea1afa791265fae359272badc1cf8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + // System|Account|blake2_128Concat("//3") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95786a2916fcb81e1bd5dcd81e0d2452884617f575372edb5a36d85c04cdf2e4699f96fe33eb5f94a28c041b88e398d0c", + // System|Account|blake2_128Concat("//14") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95b8542d9672c7b7e779cc7c1e6b605691c2115d06120ea2bee32dd601d02f36367564e7ddf84ae2717ca3f097459652e", + // System|Account|blake2_128Concat("//6") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da996c30bdbfab640838e6b6d3c33ab4adb4211b79e34ee8072eab506edd4b93a7b85a14c9a05e5cdd056d98e7dbca87730", + // System|Account|blake2_128Concat("//9") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da99dc65b1339ec388fbf2ca0cdef51253512c6cfd663203ea16968594f24690338befd906856c4d2f4ef32dad578dba20c", + // System|Account|blake2_128Concat("//8") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da99e6eb5abd62f5fd54793da91a47e6af6125d57171ff9241f07acaa1bb6a6103517965cf2cd00e643b27e7599ebccba70", + // System|Account|blake2_128Concat("//Charlie") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b0edae20838083f2cde1c4080db8cf8090b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22", + // System|Account|blake2_128Concat("//10") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9d0052993b6f3bd0544fd1f5e4125b9fbde3e789ecd53431fe5c06c12b72137153496dace35c695b5f4d7b41f7ed5763b", + // System|Account|blake2_128Concat("//1") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9d6b7e9a5f12bc571053265dade10d3b4b606fc73f57f03cdb4c932d475ab426043e429cecc2ffff0d2672b0df8398c48", + // System|Account|blake2_128Concat("//Alice") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9de1e86a9a8c739864cf3cc5ec2bea59fd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + // System|Account|blake2_128Concat("//2") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e1a35f56ee295d39287cbffcfc60c4b346f136b564e1fad55031404dd84e5cd3fa76bfe7cc7599b39d38fd06663bbc0a", + // System|Account|blake2_128Concat("//5") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e2c1dc507e2035edbbd8776c440d870460c57f0008067cc01c5ff9eb2e2f9b3a94299a915a91198bd1021a6c55596f57", + // System|Account|blake2_128Concat("//0") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9eca0e653a94f4080f6311b4e7b6934eb2afba9278e30ccf6a6ceb3a8b6e336b70068f045c666f2e7f4f9cc5f47db8972", + // System|Account|blake2_128Concat("//13") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9ee8bf7ef90fc56a8aa3b90b344c599550c29b161e27ff8ba45bf6bad4711f326fc506a8803453a4d7e3158e993495f10", + // System|Account|blake2_128Concat("//12") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f5d6f1c082fe63eec7a71fcad00f4a892e3d43b7b0d04e776e69e7be35247cecdac65504c579195731eaf64b7940966e", + // System|Account|blake2_128Concat("//15") + "26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9fbf0818841edf110e05228a6379763c4fc3c37459d9bdc61f58a5ebc01e9e2305a19d390c0543dc733861ec3cf1de01f", + // System|LastRuntimeUpgrade + "26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8", + // :code + "3a636f6465", + // :extrinsic_index + "3a65787472696e7369635f696e646578", + // Balances|:__STORAGE_VERSION__: + "c2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429", + // Balances|TotalIssuance + "c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80", + ]; + + if custom_heap_pages { + // :heappages + res.push("3a686561707061676573"); + } + + res + } + + #[test] + fn expected_keys_vec_are_matching() { + assert_eq!( + storage_key_generator::get_expected_storage_hashed_keys(false), + storage_key_generator::generate_expected_storage_hashed_keys(false), + ); + } +} + +#[cfg(test)] +mod tests { + use super::*; + use codec::Encode; + use frame_support::dispatch::DispatchInfo; + use sc_block_builder::BlockBuilderBuilder; + use sp_api::{ApiExt, ProvideRuntimeApi}; + use sp_consensus::BlockOrigin; + use sp_core::{storage::well_known_keys::HEAP_PAGES, traits::CallContext}; + use sp_runtime::{ + traits::{Hash as _, SignedExtension}, + transaction_validity::{InvalidTransaction, ValidTransaction}, + }; + use substrate_test_runtime_client::{ + prelude::*, runtime::TestAPI, DefaultTestClientBuilderExt, TestClientBuilder, + }; + + #[test] + fn heap_pages_is_respected() { + // This tests that the on-chain `HEAP_PAGES` parameter is respected. + + // Create a client devoting only 8 pages of wasm memory. This gives us ~512k of heap memory. + let mut client = TestClientBuilder::new().set_heap_pages(8).build(); + let best_hash = client.chain_info().best_hash; + + // Try to allocate 1024k of memory on heap. This is going to fail since it is twice larger + // than the heap. + let mut runtime_api = client.runtime_api(); + // This is currently required to allocate the 1024k of memory as configured above. + runtime_api.set_call_context(CallContext::Onchain); + let ret = runtime_api.vec_with_capacity(best_hash, 1048576); + assert!(ret.is_err()); + + // Create a block that sets the `:heap_pages` to 32 pages of memory which corresponds to + // ~2048k of heap memory. + let (new_at_hash, block) = { + let mut builder = BlockBuilderBuilder::new(&client) + .on_parent_block(best_hash) + .with_parent_block_number(0) + .build() + .unwrap(); + builder + .push_storage_change(HEAP_PAGES.to_vec(), Some(32u64.encode())) + .unwrap(); + let block = builder.build().unwrap().block; + let hash = block.header.hash(); + (hash, block) + }; + + futures::executor::block_on(client.import(BlockOrigin::Own, block)).unwrap(); + + // Allocation of 1024k while having ~2048k should succeed. + let ret = client.runtime_api().vec_with_capacity(new_at_hash, 1048576); + assert!(ret.is_ok()); + } + + #[test] + fn test_storage() { + let client = TestClientBuilder::new().build(); + let runtime_api = client.runtime_api(); + let best_hash = client.chain_info().best_hash; + + runtime_api.test_storage(best_hash).unwrap(); + } + + fn witness_backend() -> (sp_trie::MemoryDB, crate::Hash) { + let mut root = crate::Hash::default(); + let mut mdb = sp_trie::MemoryDB::::default(); + { + let mut trie = + sp_trie::trie_types::TrieDBMutBuilderV1::new(&mut mdb, &mut root).build(); + trie.insert(b"value3", &[142]).expect("insert failed"); + trie.insert(b"value4", &[124]).expect("insert failed"); + }; + (mdb, root) + } + + #[test] + fn witness_backend_works() { + let (db, root) = witness_backend(); + let backend = + sp_state_machine::TrieBackendBuilder::<_, crate::Hashing>::new(db, root).build(); + let proof = sp_state_machine::prove_read(backend, vec![b"value3"]).unwrap(); + let client = TestClientBuilder::new().build(); + let runtime_api = client.runtime_api(); + let best_hash = client.chain_info().best_hash; + + runtime_api.test_witness(best_hash, proof, root).unwrap(); + } + + pub fn new_test_ext() -> sp_io::TestExternalities { + genesismap::GenesisStorageBuilder::new( + vec![ + AccountKeyring::One.public().into(), + AccountKeyring::Two.public().into(), + ], + vec![AccountKeyring::One.into(), AccountKeyring::Two.into()], + 1000 * currency::DOLLARS, + ) + .build() + .into() + } + + #[test] + fn validate_storage_keys() { + assert_eq!( + genesismap::GenesisStorageBuilder::default() + .build() + .top + .keys() + .cloned() + .map(storage_key_generator::hex) + .collect::>(), + storage_key_generator::get_expected_storage_hashed_keys(false) + ); + } + + #[test] + fn validate_unsigned_works() { + sp_tracing::try_init_simple(); + new_test_ext().execute_with(|| { + let failing_calls = vec![ + substrate_test_pallet::Call::bench_call { + transfer: Default::default(), + }, + substrate_test_pallet::Call::include_data { data: vec![] }, + substrate_test_pallet::Call::fill_block { + ratio: Perbill::from_percent(50), + }, + ]; + let succeeding_calls = vec![ + substrate_test_pallet::Call::deposit_log_digest_item { + log: DigestItem::Other(vec![]), + }, + substrate_test_pallet::Call::storage_change { + key: vec![], + value: None, + }, + substrate_test_pallet::Call::read { count: 0 }, + substrate_test_pallet::Call::read_and_panic { count: 0 }, + ]; + + for call in failing_calls { + assert_eq!( + ::validate_unsigned( + TransactionSource::External, + &call, + ), + InvalidTransaction::Call.into(), + ); + } + + for call in succeeding_calls { + assert_eq!( + ::validate_unsigned( + TransactionSource::External, + &call, + ), + Ok(ValidTransaction { + provides: vec![BlakeTwo256::hash_of(&call).encode()], + ..Default::default() + }) + ); + } + }); + } + + #[test] + fn check_substrate_check_signed_extension_works() { + sp_tracing::try_init_simple(); + new_test_ext().execute_with(|| { + let x = AccountKeyring::Alice.into(); + let info = DispatchInfo::default(); + let len = 0_usize; + assert_eq!( + CheckSubstrateCall {} + .validate( + &x, + &ExtrinsicBuilder::new_call_with_priority(16) + .build() + .function, + &info, + len + ) + .unwrap() + .priority, + 16 + ); + + assert_eq!( + CheckSubstrateCall {} + .validate( + &x, + &ExtrinsicBuilder::new_call_do_not_propagate() + .build() + .function, + &info, + len + ) + .unwrap() + .propagate, + false + ); + }) + } + + mod genesis_builder_tests { + use super::*; + use crate::genesismap::GenesisStorageBuilder; + use sc_executor::{error::Result, WasmExecutor}; + use sc_executor_common::runtime_blob::RuntimeBlob; + use serde_json::json; + use sp_application_crypto::Ss58Codec; + use sp_core::traits::Externalities; + use sp_genesis_builder::Result as BuildResult; + use sp_state_machine::BasicExternalities; + use std::{fs, io::Write}; + use storage_key_generator::hex; + + pub fn executor_call( + ext: &mut dyn Externalities, + method: &str, + data: &[u8], + ) -> Result> { + let executor = WasmExecutor::::builder().build(); + executor.uncached_call( + RuntimeBlob::uncompress_if_needed(wasm_binary_unwrap()).unwrap(), + ext, + true, + method, + data, + ) + } + + #[test] + fn build_minimal_genesis_config_works() { + sp_tracing::try_init_simple(); + let default_minimal_json = r#"{"system":{},"babe":{"authorities":[],"epochConfig":{"c": [ 3, 10 ],"allowed_slots":"PrimaryAndSecondaryPlainSlots"}},"substrateTest":{"authorities":[]},"balances":{"balances":[]}}"#; + let mut t = BasicExternalities::new_empty(); + + executor_call( + &mut t, + "GenesisBuilder_build_state", + &default_minimal_json.encode(), + ) + .unwrap(); + + let mut keys = t + .into_storages() + .top + .keys() + .cloned() + .map(hex) + .collect::>(); + keys.sort(); + + let mut expected = [ + //SubstrateTest|Authorities + "00771836bebdd29870ff246d305c578c5e0621c4869aa60c02be9adcc98a0d1d", + //Babe|SegmentIndex + "1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4", + //Babe|EpochConfig + "1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef", + //System|UpgradedToU32RefCount + "26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710", + //System|ParentHash + "26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc", + //System::BlockHash|0 + "26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746bb1bdbcacd6ac9340000000000000000", + //System|UpgradedToTripleRefCount + "26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439", + + // System|LastRuntimeUpgrade + "26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8", + // :extrinsic_index + "3a65787472696e7369635f696e646578", + // Balances|TotalIssuance + "c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80", + + // added by on_genesis: + // Balances|:__STORAGE_VERSION__: + "c2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429", + //System|:__STORAGE_VERSION__: + "26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429", + //Babe|:__STORAGE_VERSION__: + "1cb6f36e027abb2091cfb5110ab5087f4e7b9012096b41c4eb3aaf947f6ea429", + //SubstrateTest|:__STORAGE_VERSION__: + "00771836bebdd29870ff246d305c578c4e7b9012096b41c4eb3aaf947f6ea429", + ].into_iter().map(String::from).collect::>(); + expected.sort(); + + assert_eq!(keys, expected); + } + + #[test] + fn default_config_as_json_works() { + sp_tracing::try_init_simple(); + let mut t = BasicExternalities::new_empty(); + let r = executor_call( + &mut t, + "GenesisBuilder_get_preset", + &None::<&PresetId>.encode(), + ) + .unwrap(); + let r = Option::>::decode(&mut &r[..]) + .unwrap() + .expect("default config is there"); + let json = String::from_utf8(r.into()).expect("returned value is json. qed."); + + let expected = r#"{"system":{},"babe":{"authorities":[],"epochConfig":{"c":[1,4],"allowed_slots":"PrimaryAndSecondaryVRFSlots"}},"substrateTest":{"authorities":[]},"balances":{"balances":[]}}"#; + assert_eq!(expected.to_string(), json); + } + + #[test] + fn preset_names_listing_works() { + sp_tracing::try_init_simple(); + let mut t = BasicExternalities::new_empty(); + let r = executor_call(&mut t, "GenesisBuilder_preset_names", &vec![]).unwrap(); + let r = Vec::::decode(&mut &r[..]).unwrap(); + assert_eq!( + r, + vec![PresetId::from("foobar"), PresetId::from("staging"),] + ); + log::info!("r: {:#?}", r); + } + + #[test] + fn named_config_works() { + sp_tracing::try_init_simple(); + let f = |cfg_name: &str, expected: &str| { + let mut t = BasicExternalities::new_empty(); + let name = cfg_name.to_string(); + let r = executor_call( + &mut t, + "GenesisBuilder_get_preset", + &Some(name.as_bytes()).encode(), + ) + .unwrap(); + let r = Option::>::decode(&mut &r[..]).unwrap(); + let json = + String::from_utf8(r.unwrap().into()).expect("returned value is json. qed."); + log::info!("json: {:#?}", json); + assert_eq!(expected.to_string(), json); + }; + + f("foobar", r#"{"foo":"bar"}"#); + f( + "staging", + r#"{"balances":{"balances":[["5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty",1000000000000000],["5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y",1000000000000000]]},"substrateTest":{"authorities":["5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY","5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL"]}}"#, + ); + } + + #[test] + fn build_config_from_json_works() { + sp_tracing::try_init_simple(); + let j = include_str!("../res/default_genesis_config.json"); + + let mut t = BasicExternalities::new_empty(); + let r = executor_call(&mut t, "GenesisBuilder_build_state", &j.encode()).unwrap(); + let r = BuildResult::decode(&mut &r[..]); + assert!(r.is_ok()); + + let mut keys = t + .into_storages() + .top + .keys() + .cloned() + .map(hex) + .collect::>(); + + // following keys are not placed during `::build` + // process, add them `keys` to assert against known keys. + keys.push(hex(b":code")); + keys.sort(); + + assert_eq!( + keys, + storage_key_generator::get_expected_storage_hashed_keys(false) + ); + } + + #[test] + fn build_config_from_invalid_json_fails() { + sp_tracing::try_init_simple(); + let j = include_str!("../res/default_genesis_config_invalid.json"); + let mut t = BasicExternalities::new_empty(); + let r = executor_call(&mut t, "GenesisBuilder_build_state", &j.encode()).unwrap(); + let r = BuildResult::decode(&mut &r[..]).unwrap(); + log::info!("result: {:#?}", r); + assert_eq!(r, Err( + sp_runtime::RuntimeString::Owned( + "Invalid JSON blob: unknown field `renamed_authorities`, expected `authorities` or `epochConfig` at line 4 column 25".to_string(), + )) + ); + } + + #[test] + fn build_config_from_invalid_json_fails_2() { + sp_tracing::try_init_simple(); + let j = include_str!("../res/default_genesis_config_invalid_2.json"); + let mut t = BasicExternalities::new_empty(); + let r = executor_call(&mut t, "GenesisBuilder_build_state", &j.encode()).unwrap(); + let r = BuildResult::decode(&mut &r[..]).unwrap(); + assert_eq!(r, Err( + sp_runtime::RuntimeString::Owned( + "Invalid JSON blob: unknown field `babex`, expected one of `system`, `babe`, `substrateTest`, `balances` at line 3 column 9".to_string(), + )) + ); + } + + #[test] + fn build_config_from_incomplete_json_fails() { + sp_tracing::try_init_simple(); + let j = include_str!("../res/default_genesis_config_incomplete.json"); + + let mut t = BasicExternalities::new_empty(); + let r = executor_call(&mut t, "GenesisBuilder_build_state", &j.encode()).unwrap(); + let r = + core::result::Result::<(), sp_runtime::RuntimeString>::decode(&mut &r[..]).unwrap(); + assert_eq!( + r, + Err(sp_runtime::RuntimeString::Owned( + "Invalid JSON blob: missing field `authorities` at line 11 column 3" + .to_string() + )) + ); + } + + #[test] + fn write_default_config_to_tmp_file() { + if std::env::var("WRITE_DEFAULT_JSON_FOR_STR_GC").is_ok() { + sp_tracing::try_init_simple(); + let mut file = fs::OpenOptions::new() + .create(true) + .write(true) + .open("/tmp/default_genesis_config.json") + .unwrap(); + + let j = serde_json::to_string(&GenesisStorageBuilder::default().genesis_config()) + .unwrap() + .into_bytes(); + file.write_all(&j).unwrap(); + } + } + + #[test] + fn build_genesis_config_with_patch_json_works() { + //this tests shows how to do patching on native side + sp_tracing::try_init_simple(); + + let mut t = BasicExternalities::new_empty(); + let r = executor_call( + &mut t, + "GenesisBuilder_get_preset", + &None::<&PresetId>.encode(), + ) + .unwrap(); + let r = Option::>::decode(&mut &r[..]) + .unwrap() + .expect("default config is there"); + let mut default_config: serde_json::Value = + serde_json::from_slice(&r[..]).expect("returned value is json. qed."); + + // Patch default json with some custom values: + let patch = json!({ + "babe": { + "epochConfig": { + "c": [ + 7, + 10 + ], + "allowed_slots": "PrimaryAndSecondaryPlainSlots" + } + }, + "substrateTest": { + "authorities": [ + AccountKeyring::Ferdie.public().to_ss58check(), + AccountKeyring::Alice.public().to_ss58check() + ], + } + }); + + sc_chain_spec::json_merge(&mut default_config, patch); + + // Build genesis config using custom json: + let mut t = BasicExternalities::new_empty(); + executor_call( + &mut t, + "GenesisBuilder_build_state", + &default_config.to_string().encode(), + ) + .unwrap(); + + // Ensure that custom values are in the genesis storage: + let storage = t.into_storages(); + let get_from_storage = |key: &str| -> Vec { + storage + .top + .get(&array_bytes::hex2bytes(key).unwrap()) + .unwrap() + .clone() + }; + + //SubstrateTest|Authorities + let value: Vec = get_from_storage( + "00771836bebdd29870ff246d305c578c5e0621c4869aa60c02be9adcc98a0d1d", + ); + let authority_key_vec = + Vec::::decode(&mut &value[..]).unwrap(); + assert_eq!(authority_key_vec.len(), 2); + assert_eq!(authority_key_vec[0], AccountKeyring::Ferdie.public()); + assert_eq!(authority_key_vec[1], AccountKeyring::Alice.public()); + + //Babe|Authorities + let value: Vec = get_from_storage( + "1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef", + ); + assert_eq!( + BabeEpochConfiguration::decode(&mut &value[..]).unwrap(), + BabeEpochConfiguration { + c: (7, 10), + allowed_slots: AllowedSlots::PrimaryAndSecondaryPlainSlots + } + ); + + // Ensure that some values are default ones: + // Balances|TotalIssuance + let value: Vec = get_from_storage( + "c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80", + ); + assert_eq!(u64::decode(&mut &value[..]).unwrap(), 0); + + //System|ParentHash + let value: Vec = get_from_storage( + "26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc", + ); + assert_eq!(H256::decode(&mut &value[..]).unwrap(), [69u8; 32].into()); + } + } +} diff --git a/test-utils/runtime/src/substrate_test_pallet.rs b/test-utils/runtime/src/substrate_test_pallet.rs new file mode 100644 index 0000000000..1d361258de --- /dev/null +++ b/test-utils/runtime/src/substrate_test_pallet.rs @@ -0,0 +1,256 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! # substrate-test pallet +//! +//! Provides functionality used in unit-tests of numerous modules across substrate that require +//! functioning runtime. Some calls are allowed to be submitted as unsigned extrinsics, however most +//! of them requires signing. Refer to `pallet::Call` for further details. + +use alloc::{vec, vec::Vec}; +use frame_support::{pallet_prelude::*, storage}; +use sp_core::sr25519::Public; +use sp_runtime::{ + traits::Hash, + transaction_validity::{ + InvalidTransaction, TransactionSource, TransactionValidity, ValidTransaction, + }, +}; + +pub use self::pallet::*; + +const LOG_TARGET: &str = "substrate_test_pallet"; + +#[frame_support::pallet(dev_mode)] +pub mod pallet { + use super::*; + use crate::TransferData; + use frame_system::pallet_prelude::*; + use sp_core::storage::well_known_keys; + use sp_runtime::{traits::BlakeTwo256, transaction_validity::TransactionPriority, Perbill}; + + #[pallet::pallet] + #[pallet::without_storage_info] + pub struct Pallet(_); + + #[pallet::config] + pub trait Config: frame_system::Config {} + + #[pallet::storage] + #[pallet::getter(fn authorities)] + pub type Authorities = StorageValue<_, Vec, ValueQuery>; + + #[pallet::genesis_config] + #[derive(frame_support::DefaultNoBound)] + pub struct GenesisConfig { + pub authorities: Vec, + #[serde(skip)] + pub _config: core::marker::PhantomData, + } + + #[pallet::genesis_build] + impl BuildGenesisConfig for GenesisConfig { + fn build(&self) { + >::put(self.authorities.clone()); + } + } + + #[pallet::call] + impl Pallet { + /// Legacy call used in transaction pool benchmarks. + #[pallet::call_index(0)] + #[pallet::weight(100)] + pub fn bench_call(_origin: OriginFor, _transfer: TransferData) -> DispatchResult { + Ok(()) + } + + /// Implicitly fill a block body with some data. + #[pallet::call_index(1)] + #[pallet::weight(100)] + pub fn include_data(origin: OriginFor, _data: Vec) -> DispatchResult { + frame_system::ensure_signed(origin)?; + Ok(()) + } + + /// Put/delete some data from storage. Intended to use as an unsigned extrinsic. + #[pallet::call_index(2)] + #[pallet::weight(100)] + pub fn storage_change( + _origin: OriginFor, + key: Vec, + value: Option>, + ) -> DispatchResult { + match value { + Some(value) => storage::unhashed::put_raw(&key, &value), + None => storage::unhashed::kill(&key), + } + Ok(()) + } + + /// Write a key value pair to the offchain database. + #[pallet::call_index(3)] + #[pallet::weight(100)] + pub fn offchain_index_set( + origin: OriginFor, + key: Vec, + value: Vec, + ) -> DispatchResult { + frame_system::ensure_signed(origin)?; + sp_io::offchain_index::set(&key, &value); + Ok(()) + } + + /// Remove a key and an associated value from the offchain database. + #[pallet::call_index(4)] + #[pallet::weight(100)] + pub fn offchain_index_clear(origin: OriginFor, key: Vec) -> DispatchResult { + frame_system::ensure_signed(origin)?; + sp_io::offchain_index::clear(&key); + Ok(()) + } + + /// Create an index for this call. + #[pallet::call_index(5)] + #[pallet::weight(100)] + pub fn indexed_call(origin: OriginFor, data: Vec) -> DispatchResult { + frame_system::ensure_signed(origin)?; + let content_hash = sp_io::hashing::blake2_256(&data); + let extrinsic_index: u32 = + storage::unhashed::get(well_known_keys::EXTRINSIC_INDEX).unwrap(); + sp_io::transaction_index::index(extrinsic_index, data.len() as u32, content_hash); + Ok(()) + } + + /// Deposit given digest items into the system storage. They will be included in a header + /// during finalization. + #[pallet::call_index(6)] + #[pallet::weight(100)] + pub fn deposit_log_digest_item( + _origin: OriginFor, + log: sp_runtime::generic::DigestItem, + ) -> DispatchResult { + >::deposit_log(log); + Ok(()) + } + + /// This call is validated as `ValidTransaction` with given priority. + #[pallet::call_index(7)] + #[pallet::weight(100)] + pub fn call_with_priority( + _origin: OriginFor, + _priority: TransactionPriority, + ) -> DispatchResult { + Ok(()) + } + + /// This call is validated as non-propagable `ValidTransaction`. + #[pallet::call_index(8)] + #[pallet::weight(100)] + pub fn call_do_not_propagate(_origin: OriginFor) -> DispatchResult { + Ok(()) + } + + /// Fill the block weight up to the given ratio. + #[pallet::call_index(9)] + #[pallet::weight(*_ratio * T::BlockWeights::get().max_block)] + pub fn fill_block(origin: OriginFor, _ratio: Perbill) -> DispatchResult { + ensure_signed(origin)?; + Ok(()) + } + + /// Read X times from the state some data. + /// + /// Panics if it can not read `X` times. + #[pallet::call_index(10)] + #[pallet::weight(100)] + pub fn read(_origin: OriginFor, count: u32) -> DispatchResult { + Self::execute_read(count, false) + } + + /// Read X times from the state some data and then panic! + /// + /// Returns `Ok` if it didn't read anything. + #[pallet::call_index(11)] + #[pallet::weight(100)] + pub fn read_and_panic(_origin: OriginFor, count: u32) -> DispatchResult { + Self::execute_read(count, true) + } + } + + impl Pallet { + fn execute_read(read: u32, panic_at_end: bool) -> DispatchResult { + let mut next_key = vec![]; + for _ in 0..(read as usize) { + if let Some(next) = sp_io::storage::next_key(&next_key) { + // Read the value + sp_io::storage::get(&next); + + next_key = next; + } else { + if panic_at_end { + return Ok(()); + } else { + panic!("Could not read {read} times from the state"); + } + } + } + + if panic_at_end { + panic!("BYE") + } else { + Ok(()) + } + } + } + + #[pallet::validate_unsigned] + impl ValidateUnsigned for Pallet { + type Call = Call; + + fn validate_unsigned(_source: TransactionSource, call: &Self::Call) -> TransactionValidity { + log::trace!(target: LOG_TARGET, "validate_unsigned {call:?}"); + match call { + // Some tests do not need to be complicated with signer and nonce, some need + // reproducible block hash (call signature can't be there). + // Offchain testing requires storage_change. + Call::deposit_log_digest_item { .. } + | Call::storage_change { .. } + | Call::read { .. } + | Call::read_and_panic { .. } => Ok(ValidTransaction { + provides: vec![BlakeTwo256::hash_of(&call).encode()], + ..Default::default() + }), + _ => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)), + } + } + } +} + +pub fn validate_runtime_call(call: &pallet::Call) -> TransactionValidity { + log::trace!(target: LOG_TARGET, "validate_runtime_call {call:?}"); + match call { + Call::call_do_not_propagate {} => Ok(ValidTransaction { + propagate: false, + ..Default::default() + }), + Call::call_with_priority { priority } => Ok(ValidTransaction { + priority: *priority, + ..Default::default() + }), + _ => Ok(Default::default()), + } +} diff --git a/test-utils/runtime/transaction-pool/Cargo.toml b/test-utils/runtime/transaction-pool/Cargo.toml new file mode 100644 index 0000000000..0083bc8235 --- /dev/null +++ b/test-utils/runtime/transaction-pool/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "substrate-test-runtime-transaction-pool" +version = "2.0.0" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +homepage = "https://substrate.io" +repository.workspace = true +publish = false +description = "substrate-test-runtime-transaction-pool (polkadot v1.15.0)" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +codec = { workspace = true, default-features = true } +futures = { workspace = true } +parking_lot = { workspace = true, default-features = true } +thiserror = { workspace = true } +sc-transaction-pool.workspace = true +sc-transaction-pool.default-features = true +sc-transaction-pool-api.workspace = true +sc-transaction-pool-api.default-features = true +sp-blockchain.workspace = true +sp-blockchain.default-features = true +sp-runtime.workspace = true +sp-runtime.default-features = true +substrate-test-runtime-client.workspace = true diff --git a/test-utils/runtime/transaction-pool/README.md b/test-utils/runtime/transaction-pool/README.md new file mode 100644 index 0000000000..317980bb85 --- /dev/null +++ b/test-utils/runtime/transaction-pool/README.md @@ -0,0 +1,5 @@ + + +## Release + +polkadot v1.15.0 diff --git a/test-utils/runtime/transaction-pool/src/lib.rs b/test-utils/runtime/transaction-pool/src/lib.rs new file mode 100644 index 0000000000..5202e6e651 --- /dev/null +++ b/test-utils/runtime/transaction-pool/src/lib.rs @@ -0,0 +1,413 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Test utils for the transaction pool together with the test runtime. +//! +//! See [`TestApi`] for more information. + +use codec::Encode; +use futures::future::ready; +use parking_lot::RwLock; +use sc_transaction_pool::ChainApi; +use sp_blockchain::{CachedHeaderMetadata, TreeRoute}; +use sp_runtime::{ + generic::{self, BlockId}, + traits::{ + BlakeTwo256, Block as BlockT, Hash as HashT, Header as _, NumberFor, TrailingZeroInput, + }, + transaction_validity::{ + InvalidTransaction, TransactionSource, TransactionValidity, TransactionValidityError, + ValidTransaction, + }, +}; +use std::collections::{BTreeMap, HashMap, HashSet}; +use substrate_test_runtime_client::{ + runtime::{ + AccountId, Block, BlockNumber, Extrinsic, ExtrinsicBuilder, Hash, Header, Nonce, Transfer, + TransferData, + }, + AccountKeyring::{self, *}, +}; + +/// Error type used by [`TestApi`]. +#[derive(Debug, thiserror::Error)] +#[error(transparent)] +pub struct Error(#[from] sc_transaction_pool_api::error::Error); + +impl sc_transaction_pool_api::error::IntoPoolError for Error { + fn into_pool_error(self) -> Result { + Ok(self.0) + } +} + +pub enum IsBestBlock { + Yes, + No, +} + +impl IsBestBlock { + pub fn is_best(&self) -> bool { + matches!(self, Self::Yes) + } +} + +impl From for IsBestBlock { + fn from(is_best: bool) -> Self { + if is_best { + Self::Yes + } else { + Self::No + } + } +} + +#[derive(Default)] +pub struct ChainState { + pub block_by_number: BTreeMap>, + pub block_by_hash: HashMap, + pub nonces: HashMap, + pub invalid_hashes: HashSet, + pub priorities: HashMap, +} + +/// Test Api for transaction pool. +pub struct TestApi { + valid_modifier: RwLock>, + chain: RwLock, + validation_requests: RwLock>, +} + +impl TestApi { + /// Test Api with Alice nonce set initially. + pub fn with_alice_nonce(nonce: u64) -> Self { + let api = Self::empty(); + + api.chain.write().nonces.insert(Alice.into(), nonce); + + api + } + + /// Default Test Api + pub fn empty() -> Self { + let api = TestApi { + valid_modifier: RwLock::new(Box::new(|_| {})), + chain: Default::default(), + validation_requests: RwLock::new(Default::default()), + }; + + // Push genesis block + api.push_block(0, Vec::new(), true); + + api + } + + /// Set hook on modify valid result of transaction. + pub fn set_valid_modifier(&self, modifier: Box) { + *self.valid_modifier.write() = modifier; + } + + /// Push block under given number. + pub fn push_block( + &self, + block_number: BlockNumber, + xts: Vec, + is_best_block: bool, + ) -> Header { + let parent_hash = { + let chain = self.chain.read(); + block_number + .checked_sub(1) + .and_then(|num| { + chain.block_by_number.get(&num).map(|blocks| blocks[0].0.header.hash()) + }) + .unwrap_or_default() + }; + + self.push_block_with_parent(parent_hash, xts, is_best_block) + } + + /// Push a block using the given `parent`. + /// + /// Panics if `parent` does not exists. + pub fn push_block_with_parent( + &self, + parent: Hash, + xts: Vec, + is_best_block: bool, + ) -> Header { + // `Hash::default()` is the genesis parent hash + let block_number = if parent == Hash::default() { + 0 + } else { + *self + .chain + .read() + .block_by_hash + .get(&parent) + .expect("`parent` exists") + .header() + .number() + 1 + }; + + let header = Header { + number: block_number, + digest: Default::default(), + extrinsics_root: Hash::random(), + parent_hash: parent, + state_root: Default::default(), + }; + + self.add_block(Block::new(header.clone(), xts), is_best_block); + + header + } + + /// Add a block to the internal state. + pub fn add_block(&self, block: Block, is_best_block: bool) { + let hash = block.header.hash(); + let block_number = block.header.number(); + + let mut chain = self.chain.write(); + chain.block_by_hash.insert(hash, block.clone()); + + if is_best_block { + chain + .block_by_number + .entry(*block_number) + .or_default() + .iter_mut() + .for_each(|x| { + x.1 = IsBestBlock::No; + }); + } + + chain + .block_by_number + .entry(*block_number) + .or_default() + .push((block, is_best_block.into())); + } + + fn hash_and_length_inner(ex: &Extrinsic) -> (Hash, usize) { + let encoded = ex.encode(); + (BlakeTwo256::hash(&encoded), encoded.len()) + } + + /// Mark some transaction is invalid. + /// + /// Next time transaction pool will try to validate this + /// extrinsic, api will return invalid result. + pub fn add_invalid(&self, xts: &Extrinsic) { + self.chain.write().invalid_hashes.insert(Self::hash_and_length_inner(xts).0); + } + + /// Remove a transaction that was previously declared as invalid via `[Self::add_invalid]`. + /// + /// Next time transaction pool will try to validate this + /// extrinsic, api will succeed. + pub fn remove_invalid(&self, xts: &Extrinsic) { + self.chain.write().invalid_hashes.remove(&Self::hash_and_length_inner(xts).0); + } + + /// Set a transaction priority. + pub fn set_priority(&self, xts: &Extrinsic, priority: u64) { + self.chain + .write() + .priorities + .insert(Self::hash_and_length_inner(xts).0, priority); + } + + /// Query validation requests received. + pub fn validation_requests(&self) -> Vec { + self.validation_requests.read().clone() + } + + /// get a reference to the chain state + pub fn chain(&self) -> &RwLock { + &self.chain + } + + /// Increment nonce in the inner state. + pub fn increment_nonce(&self, account: AccountId) { + let mut chain = self.chain.write(); + chain.nonces.entry(account).and_modify(|n| *n += 1).or_insert(1); + } + + /// Calculate a tree route between the two given blocks. + pub fn tree_route( + &self, + from: Hash, + to: Hash, + ) -> Result, Error> { + sp_blockchain::tree_route(self, from, to) + } + + /// Helper function for mapping block number to hash. Use if mapping shall not fail. + pub fn expect_hash_from_number(&self, n: BlockNumber) -> Hash { + self.block_id_to_hash(&BlockId::Number(n)).unwrap().unwrap() + } +} + +impl ChainApi for TestApi { + type Block = Block; + type Error = Error; + type ValidationFuture = futures::future::Ready>; + type BodyFuture = futures::future::Ready>, Error>>; + + fn validate_transaction( + &self, + at: ::Hash, + _source: TransactionSource, + uxt: ::Extrinsic, + ) -> Self::ValidationFuture { + self.validation_requests.write().push(uxt.clone()); + + match self.block_id_to_number(&BlockId::Hash(at)) { + Ok(Some(number)) => { + let found_best = self + .chain + .read() + .block_by_number + .get(&number) + .map(|blocks| blocks.iter().any(|b| b.1.is_best())) + .unwrap_or(false); + + // If there is no best block, we don't know based on which block we should validate + // the transaction. (This is not required for this test function, but in real + // environment it would fail because of this). + if !found_best { + return ready(Ok(Err(TransactionValidityError::Invalid( + InvalidTransaction::Custom(1), + )))) + } + }, + Ok(None) => + return ready(Ok(Err(TransactionValidityError::Invalid( + InvalidTransaction::Custom(2), + )))), + Err(e) => return ready(Err(e)), + } + + let (requires, provides) = if let Ok(transfer) = TransferData::try_from(&uxt) { + let chain_nonce = self.chain.read().nonces.get(&transfer.from).cloned().unwrap_or(0); + let requires = + if chain_nonce == transfer.nonce { vec![] } else { vec![vec![chain_nonce as u8]] }; + let provides = vec![vec![transfer.nonce as u8]]; + + (requires, provides) + } else { + (Vec::new(), vec![uxt.encode()]) + }; + + if self.chain.read().invalid_hashes.contains(&self.hash_and_length(&uxt).0) { + return ready(Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom(0))))) + } + + let priority = self.chain.read().priorities.get(&self.hash_and_length(&uxt).0).cloned(); + let mut validity = ValidTransaction { + priority: priority.unwrap_or(1), + requires, + provides, + longevity: 64, + propagate: true, + }; + + (self.valid_modifier.read())(&mut validity); + + ready(Ok(Ok(validity))) + } + + fn block_id_to_number( + &self, + at: &BlockId, + ) -> Result>, Error> { + Ok(match at { + generic::BlockId::Hash(x) => + self.chain.read().block_by_hash.get(x).map(|b| *b.header.number()), + generic::BlockId::Number(num) => Some(*num), + }) + } + + fn block_id_to_hash( + &self, + at: &BlockId, + ) -> Result::Hash>, Error> { + Ok(match at { + generic::BlockId::Hash(x) => Some(*x), + generic::BlockId::Number(num) => + self.chain.read().block_by_number.get(num).and_then(|blocks| { + blocks.iter().find(|b| b.1.is_best()).map(|b| b.0.header().hash()) + }), + }) + } + + fn hash_and_length(&self, ex: &::Extrinsic) -> (Hash, usize) { + Self::hash_and_length_inner(ex) + } + + fn block_body(&self, hash: ::Hash) -> Self::BodyFuture { + futures::future::ready(Ok(self + .chain + .read() + .block_by_hash + .get(&hash) + .map(|b| b.extrinsics().to_vec()))) + } + + fn block_header( + &self, + hash: ::Hash, + ) -> Result::Header>, Self::Error> { + Ok(self.chain.read().block_by_hash.get(&hash).map(|b| b.header().clone())) + } + + fn tree_route( + &self, + from: ::Hash, + to: ::Hash, + ) -> Result, Self::Error> { + sp_blockchain::tree_route::(self, from, to).map_err(Into::into) + } +} + +impl sp_blockchain::HeaderMetadata for TestApi { + type Error = Error; + + fn header_metadata(&self, hash: Hash) -> Result, Self::Error> { + let chain = self.chain.read(); + let block = chain.block_by_hash.get(&hash).expect("Hash exists"); + + Ok(block.header().into()) + } + + fn insert_header_metadata(&self, _: Hash, _: CachedHeaderMetadata) { + unimplemented!("Not implemented for tests") + } + + fn remove_header_metadata(&self, _: Hash) { + unimplemented!("Not implemented for tests") + } +} + +/// Generate transfer extrinsic with a given nonce. +/// +/// Part of the test api. +pub fn uxt(who: AccountKeyring, nonce: Nonce) -> Extrinsic { + let dummy = codec::Decode::decode(&mut TrailingZeroInput::zeroes()).unwrap(); + let transfer = Transfer { from: who.into(), to: dummy, nonce, amount: 1 }; + ExtrinsicBuilder::new_transfer(transfer).build() +} From a097938baed3ab2bde3d41b14b189e7ffb59103b Mon Sep 17 00:00:00 2001 From: magecnion Date: Mon, 9 Dec 2024 14:23:54 +0100 Subject: [PATCH 04/15] bump to stable2409 --- Cargo.lock | 448 ++++++++++++++++++++++++++++++++--------------------- Cargo.toml | 84 +++++----- 2 files changed, 315 insertions(+), 217 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e8c3a9e4bd..3aa3caee5d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -149,15 +149,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" version = "0.6.11" @@ -681,7 +672,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", "syn 2.0.90", ] @@ -820,9 +811,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bs58" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ "tinyvec", ] @@ -1859,7 +1850,7 @@ dependencies = [ "regex", "syn 2.0.90", "termcolor", - "toml 0.8.10", + "toml 0.8.12", "walkdir", ] @@ -2368,7 +2359,7 @@ dependencies = [ "fp-storage", "futures", "hex", - "jsonrpsee", + "jsonrpsee 0.23.2", "libsecp256k1", "log", "pallet-evm", @@ -2415,7 +2406,7 @@ version = "1.1.0-dev" dependencies = [ "ethereum", "ethereum-types", - "jsonrpsee", + "jsonrpsee 0.23.2", "rlp", "rustc-hex", "serde", @@ -2433,7 +2424,7 @@ version = "0.1.0" dependencies = [ "ethereum-types", "fc-rpc-v2-types", - "jsonrpsee", + "jsonrpsee 0.23.2", ] [[package]] @@ -2717,9 +2708,9 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48554572bd164ee905a6ff3378e46c2101610fd2ffe3110875a6503a240fb3d7" +checksum = "a01bdd47c2d541b38bd892da647d1e972c9d85b4ecd7094ad64f7600175da54d" dependencies = [ "frame-support", "frame-support-procedural", @@ -2742,9 +2733,9 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" -version = "42.0.0" +version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa62cef9f98e81ae37ab965604bdc2ed5e67be6d4e05b04bc5782494b890e5b1" +checksum = "c9767c33709062605ba6876fcc3e5f31fb37da393c1ab384813614870209dd94" dependencies = [ "Inflector", "array-bytes", @@ -2793,9 +2784,9 @@ dependencies = [ [[package]] name = "frame-executive" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dfc9b1cdc305826ef1196675a53ef7f2db8967a6cf5632775119c41d6f4e299" +checksum = "c365bf3879de25bbee28e9584096955a02fbe8d7e7624e10675800317f1cee5b" dependencies = [ "aquamarine", "frame-support", @@ -2824,9 +2815,9 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4033a2b473472e7ad29ff501d3cedff36f8eaa26f61654d19b6b5cf3e1885296" +checksum = "56ac71dbd97039c49fdd69f416a4dd5d8da3652fdcafc3738b45772ad79eb4ec" dependencies = [ "array-bytes", "docify", @@ -2840,9 +2831,9 @@ dependencies = [ [[package]] name = "frame-support" -version = "37.0.1" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847939177e3637c1ec2f78eecf0755910763b8d6c3dfc04aea2efec33823b3af" +checksum = "1e44af69fa61bc5005ffe0339e198957e77f0f255704a9bee720da18a733e3dc" dependencies = [ "aquamarine", "array-bytes", @@ -2926,9 +2917,9 @@ dependencies = [ [[package]] name = "frame-system" -version = "37.1.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043790fff021477061b207fd6b33743793b63fc64a583358956787229d039717" +checksum = "e3c7fa02f8c305496d2ae52edaecdb9d165f11afa965e05686d7d7dd1ce93611" dependencies = [ "cfg-if", "docify", @@ -2947,9 +2938,9 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10fb34e948ce86f8e2ceb04d25a0edaa26e308150b6b7c8ce0cbb0e4cd814131" +checksum = "9693b2a736beb076e673520e1e8dee4fc128b8d35b020ef3e8a4b1b5ad63d9f2" dependencies = [ "frame-benchmarking", "frame-support", @@ -2973,9 +2964,9 @@ dependencies = [ [[package]] name = "frame-try-runtime" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec60be1ddc39bd312496e58b2dd82e5f3d1e0609b69f9586ba6967a36453e495" +checksum = "83c811a5a1f5429c7fb5ebbf6cf9502d8f9b673fd395c12cf46c44a30a7daf0e" dependencies = [ "frame-support", "parity-scale-codec", @@ -3008,7 +2999,7 @@ dependencies = [ "frontier-template-runtime", "futures", "hex-literal", - "jsonrpsee", + "jsonrpsee 0.23.2", "log", "pallet-transaction-payment", "pallet-transaction-payment-rpc", @@ -3539,9 +3530,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hkdf" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac 0.12.1", ] @@ -4039,10 +4030,24 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" dependencies = [ - "jsonrpsee-core", - "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types", + "jsonrpsee-core 0.23.2", + "jsonrpsee-proc-macros 0.23.2", + "jsonrpsee-server 0.23.2", + "jsonrpsee-types 0.23.2", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843" +dependencies = [ + "jsonrpsee-core 0.24.7", + "jsonrpsee-proc-macros 0.24.7", + "jsonrpsee-server 0.24.7", + "jsonrpsee-types 0.24.7", "tokio", "tracing", ] @@ -4061,10 +4066,33 @@ dependencies = [ "http 1.1.0", "http-body 1.0.1", "http-body-util", - "jsonrpsee-types", + "jsonrpsee-types 0.23.2", + "parking_lot 0.12.3", + "rand", + "rustc-hash 1.1.0", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types 0.24.7", "parking_lot 0.12.3", "rand", - "rustc-hash", + "rustc-hash 2.1.0", "serde", "serde_json", "thiserror", @@ -4085,6 +4113,19 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d" +dependencies = [ + "heck 0.5.0", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "jsonrpsee-server" version = "0.23.2" @@ -4098,8 +4139,35 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.23.2", + "jsonrpsee-types 0.23.2", + "pin-project", + "route-recognizer", + "serde", + "serde_json", + "soketto", + "thiserror", + "tokio", + "tokio-stream", + "tokio-util", + "tower", + "tracing", +] + +[[package]] +name = "jsonrpsee-server" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c" +dependencies = [ + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "jsonrpsee-core 0.24.7", + "jsonrpsee-types 0.24.7", "pin-project", "route-recognizer", "serde", @@ -4126,6 +4194,18 @@ dependencies = [ "thiserror", ] +[[package]] +name = "jsonrpsee-types" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1" +dependencies = [ + "http 1.1.0", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "k256" version = "0.13.3" @@ -4355,11 +4435,11 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "999ec70441b2fb35355076726a6bc466c932e9bdc66f6a11c6c0aa17c7ab9be0" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ - "bs58 0.5.0", + "bs58 0.5.1", "ed25519-dalek", "hkdf", "multihash 0.19.1", @@ -4868,9 +4948,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" @@ -5780,9 +5860,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-aura" -version = "36.0.0" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b4c3fc3c5af69af275ee8f1fc70aa73d0633b0cd818c603a2e8b483d4a9ccb" +checksum = "b31da6e794d655d1f9c4da6557a57399538d75905a7862a2ed3f7e5fb711d7e4" dependencies = [ "frame-support", "frame-system", @@ -5797,9 +5877,9 @@ dependencies = [ [[package]] name = "pallet-authorship" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ddfa02ecfdd0bfa4841dc16ebd3bdd0d1918751b845f4b36b29c01bfaf75b5b" +checksum = "625d47577cabbe1318ccec5d612e2379002d1b6af1ab6edcef3243c66ec246df" dependencies = [ "frame-support", "frame-system", @@ -5811,9 +5891,9 @@ dependencies = [ [[package]] name = "pallet-babe" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4cee370246a2a8fa7d62b02b96febde7c8b09d18c9b8ce3a35c20a142379c8" +checksum = "4ee096c0def13832475b340d00121025e0225de29604d44bc6dfcaa294c995b4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5835,9 +5915,9 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "38.0.0" +version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267f2b4c64e06d340fab1e48267e815dc2afaf8e6da16369b26b5c9e1e65f1aa" +checksum = "5c6945b078919acb14d126490e4b0973a688568b30142476ca69c6df2bed27ad" dependencies = [ "docify", "frame-benchmarking", @@ -6094,9 +6174,9 @@ dependencies = [ [[package]] name = "pallet-grandpa" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78a9db737c0ad83212dd874658194b1be7d9cb3c093599aa02573645f9b991f4" +checksum = "6d3a570a4aac3173ea46b600408183ca2bcfdaadc077f802f11e6055963e2449" dependencies = [ "frame-benchmarking", "frame-support", @@ -6132,9 +6212,9 @@ dependencies = [ [[package]] name = "pallet-session" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84da59cf6db5db9a4424a5967787bf4ea20bfa903988a2438429c09a48365acf" +checksum = "8474b62b6b7622f891e83d922a589e2ad5be5471f5ca47d45831a797dba0b3f4" dependencies = [ "frame-support", "frame-system", @@ -6154,9 +6234,9 @@ dependencies = [ [[package]] name = "pallet-sudo" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82e375c0a4c4ed079ae49bd2693548bd57178273b37631bcd7e817242d0f2b0" +checksum = "1574fe2aed3d52db4a389b77b53d8c9758257b121e3e7bbe24c4904e11681e0e" dependencies = [ "docify", "frame-benchmarking", @@ -6170,9 +6250,9 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "36.0.1" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f264c80bef4ac3180e5cba619f319d7855cc89ba91b28b3f752620d9425b88" +checksum = "a9ba9b71bbfd33ae672f23ba7efaeed2755fdac37b8f946cb7474fc37841b7e1" dependencies = [ "docify", "frame-benchmarking", @@ -6190,9 +6270,9 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d6b4889a0a8565cf0d6ecf3feef787c18ad2c529add4d90ec896873cd422eec" +checksum = "47b1aa3498107a30237f941b0f02180db3b79012c3488878ff01a4ac3e8ee04e" dependencies = [ "frame-support", "frame-system", @@ -6206,11 +6286,11 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" -version = "40.0.0" +version = "41.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2496ae1bdf86dd0aeb213d33dccd0edb4abfcead660ada070c81b254ea2cbf75" +checksum = "291a021e6828d43b5165042d31691c5c20b5748ea8d5fc51e0359752482a04c2" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.7", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", "sp-api", @@ -6223,9 +6303,9 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1879d1f608f565d590fc7520a8d9977b868a412910f6381a5ebfa45acf8abcfb" +checksum = "49fdf5ab71e9dbcadcf7139736b6ea6bac8ec4a83985d46cbd130e1eec770e41" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6236,9 +6316,9 @@ dependencies = [ [[package]] name = "pallet-utility" -version = "37.0.1" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fe3943d5d0ed2acc047c6825fa68e7bfa5a9313942474214e3e16e4e3f77a5" +checksum = "2fdcade6efc0b66fc7fc4138964802c02d0ffb7380d894e26b9dd5073727d2b3" dependencies = [ "frame-benchmarking", "frame-support", @@ -6390,9 +6470,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" @@ -7112,7 +7192,7 @@ dependencies = [ "pin-project-lite", "quinn-proto 0.9.5", "quinn-udp 0.3.2", - "rustc-hash", + "rustc-hash 1.1.0", "rustls 0.20.8", "thiserror", "tokio", @@ -7131,7 +7211,7 @@ dependencies = [ "pin-project-lite", "quinn-proto 0.10.6", "quinn-udp 0.4.1", - "rustc-hash", + "rustc-hash 1.1.0", "rustls 0.21.7", "thiserror", "tokio", @@ -7147,7 +7227,7 @@ dependencies = [ "bytes", "rand", "ring 0.16.20", - "rustc-hash", + "rustc-hash 1.1.0", "rustls 0.20.8", "slab", "thiserror", @@ -7165,7 +7245,7 @@ dependencies = [ "bytes", "rand", "ring 0.16.20", - "rustc-hash", + "rustc-hash 1.1.0", "rustls 0.21.7", "slab", "thiserror", @@ -7390,7 +7470,7 @@ checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" dependencies = [ "hashbrown 0.13.2", "log", - "rustc-hash", + "rustc-hash 1.1.0", "slice-group-by", "smallvec", ] @@ -7583,6 +7663,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -7743,9 +7829,9 @@ dependencies = [ [[package]] name = "sc-basic-authorship" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdef7ee4dd39a41957eeafb99c55749f8065a72f46c12e209ed15f4669360a6e" +checksum = "2d3f4152eda19b140abc876a3b7434fce27c4c8cd47eff4095af0398d82f8141" dependencies = [ "futures", "futures-timer", @@ -7782,9 +7868,9 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9149a7ee8a4a799feb3ed581a288a0ce6ede42fb8b1997806f6a29997cdbd9be" +checksum = "3534c5dc910e6c9e0f25871948e7bb683852d1aef44b8b7753062feef4235e7c" dependencies = [ "array-bytes", "docify", @@ -7822,9 +7908,9 @@ dependencies = [ [[package]] name = "sc-cli" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b37e08bde78fa7bdf3e30682a6840236de49d2c11960535eb9a9a1a87a0fd3ab" +checksum = "55a161ee7bf9d571c567f208b89ef4f2fd3c082180a54399403f7fdc44e94da5" dependencies = [ "array-bytes", "chrono", @@ -7892,9 +7978,9 @@ dependencies = [ [[package]] name = "sc-client-db" -version = "0.44.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b3a8a704ef66326a1f95ae17fe42a10ef55158c738bd904fbc6d4a0e7f9eb29" +checksum = "5517718f03357325c6f51a780710fac652f125316f3577d1a25a7fbdc1816db2" dependencies = [ "hash-db", "kvdb", @@ -7919,9 +8005,9 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502b55375db80dea8be1336b203eb96c1e22e7c4fa7782dc775bad71688bb91c" +checksum = "f64e538ab9edefbf0ddc105ff5b088344c88bc86f21650a2d2020be04a957730" dependencies = [ "async-trait", "futures", @@ -7944,9 +8030,9 @@ dependencies = [ [[package]] name = "sc-consensus-aura" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cde090c64dfcab34347bd5472b40cc608b7395ef2dd1a8403c6c13dbec74c80" +checksum = "067552bcf461c0089272b2575b2ac512fd8ca7a7bd7098aee49ccc4d67041787" dependencies = [ "async-trait", "futures", @@ -7974,9 +8060,9 @@ dependencies = [ [[package]] name = "sc-consensus-babe" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4aea13d44497edd2c240c85a3722c2431eaabf7f6d172891d12908504cab1f" +checksum = "39a6aecbb63f5e046c83055d656cf9f203715b38e000ae0df157461582c90eba" dependencies = [ "async-trait", "fork-tree", @@ -8011,9 +8097,9 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7258d517642944d4e39d11f77a413825349089e01b6f27819f4349932ff07ec" +checksum = "3634e8f5dfc397e0d3fc8e3a714c21338eacb3ed276089a6df47e7aa926d51d4" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8025,9 +8111,9 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.29.1" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197e67ed725bcad27563c4418254e89e56eb79491cebb278e9926760a1fc16d4" +checksum = "a3aaab70cf6f93ceea829ef0a4980ce95d84d5c7f4b5419b29bbed17fa04e1a6" dependencies = [ "ahash", "array-bytes", @@ -8070,15 +8156,15 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" -version = "0.45.0" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc77a432b7bdd979c9f72820d214efd0eb0cac102a7dd9e23a4e0e77e5737171" +checksum = "98b4b6feaedf2f6e7b05f27a8add78f5835f026d642e387ef379a48baf9a96e9" dependencies = [ "assert_matches", "async-trait", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.24.7", "log", "parity-scale-codec", "sc-client-api", @@ -8106,9 +8192,9 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f4aab75d55fbeee7437ed6a127a749014f831f12a0b409a71cfc3a42453ccd" +checksum = "30fcce6ff513c2479c57eac880ba8d4254c146b678a0072d90f81796d47091df" dependencies = [ "async-trait", "futures", @@ -8130,9 +8216,9 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.40.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963c1ebaf6bd0bc4ab0603c3cd7200ed25230a897a3217928a559fedce6019df" +checksum = "3f0cc0a3728fd033589183460c5a49b2e7545d09dc89a098216ef9e9aadcd9dc" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -8199,11 +8285,11 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6dcfaffeeb2d662a26f84706132dcfd294ffd71c4077d0b4f92a6f54db184f6" +checksum = "3c24f636bccd2df534d75b75bd61d96d8abb68a5fe6f6c427e9faee7d7a07a96" dependencies = [ - "ansi_term", + "console", "futures", "futures-timer", "log", @@ -8232,9 +8318,9 @@ dependencies = [ [[package]] name = "sc-mixnet" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ac673840824d0357dedee5b952440b469d11f48314ff52ae59049aee7e376d" +checksum = "781a1ffd953074e060a5f9e253f7a029bedd935fe9621bb7483cc2d442a6b1d1" dependencies = [ "array-bytes", "arrayvec", @@ -8262,9 +8348,9 @@ dependencies = [ [[package]] name = "sc-network" -version = "0.44.0" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4923392c50d67849efca43d1a2601f6150c79fb8ada3383c26ce1b4f28d1af" +checksum = "e729c49834b3c5cfd514cdd1209ad7ae9707abebef92c991b2d41db5a0191396" dependencies = [ "array-bytes", "async-channel", @@ -8314,9 +8400,9 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a8bbc9d2600f34d021796bdffbb20bdf4723f98ff3126c765b4c9363bef564" +checksum = "dbff059c0ca497757f633cfa13625fbaa3028f23a77a9696e94e700008f8dd5a" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -8333,9 +8419,9 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc2ff366c09b8aba9b0bfd04b991508788203a28da0c66a32625cda7ae8015d" +checksum = "d4086f4ac6b94ff2efd24f1776280c580454c5990b8665aa9f293fcd33c80630" dependencies = [ "ahash", "futures", @@ -8353,9 +8439,9 @@ dependencies = [ [[package]] name = "sc-network-light" -version = "0.43.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18efef00b71e1a7060fb92dcc433ed4bed625a803b074e0bf4b4cf6e1d90384e" +checksum = "8150e7a09695c60b09939a7815be4cc3fb48592779c197ba9442d29c0a98f8ad" dependencies = [ "array-bytes", "async-channel", @@ -8375,9 +8461,9 @@ dependencies = [ [[package]] name = "sc-network-sync" -version = "0.43.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628881aacdd36235d2725a7ecb13d6445c76ad470ed6e6473fc58c6b98a2417d" +checksum = "82cb3b9939d57083495b3ed1304094b939c99ebdc651fb779ab6d2c83428679e" dependencies = [ "array-bytes", "async-channel", @@ -8413,9 +8499,9 @@ dependencies = [ [[package]] name = "sc-network-transactions" -version = "0.43.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8661c677deb9159c291a4dccbdfeba3e1fe5106caea0936fb70d3765a163aa8e" +checksum = "67c5bcf5f5437194d5fa9277fd4b832e187a595798f08b8df154bc62d88bbae2" dependencies = [ "array-bytes", "futures", @@ -8437,7 +8523,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c372dbda66644a1df0daa8c0d99c36b6f74db7dca213d2416cd84f507125224" dependencies = [ - "bs58 0.5.0", + "bs58 0.5.1", "ed25519-dalek", "libp2p-identity", "litep2p", @@ -8451,9 +8537,9 @@ dependencies = [ [[package]] name = "sc-offchain" -version = "39.0.0" +version = "40.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0fce257906e8a6f2ffbabe64ce9739ef0e18f272f61e759c975446c752cd74" +checksum = "9185b82ad10f21f3eb977a079f772219bd216bf4eafedad7d5e4a0ff32383c75" dependencies = [ "array-bytes", "bytes", @@ -8496,12 +8582,12 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "39.0.0" +version = "40.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ccc910a40803287c65194e232d99bf6e1f9200b04f8dd91433f298687b8bf3f" +checksum = "7137ecfd837c9b6e57244b59a99320a53c7e31f160b5581a325734f3c169aaba" dependencies = [ "futures", - "jsonrpsee", + "jsonrpsee 0.24.7", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -8529,11 +8615,11 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575a098a1c59d15bec2df388437474334b76c512e9dd92b0f275801906303354" +checksum = "147274633577e55db73dbdc64168c25b54cca6cac4fcde118bd9946cf7b24838" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.7", "parity-scale-codec", "sc-chain-spec", "sc-mixnet", @@ -8550,10 +8636,11 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "16.0.2" +version = "17.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c14c236a01e03f55f16b92d89fd902cf2e4e9887357a3c36827a1e39b799c6b" +checksum = "fee63231ff7955b0639ec0a72b85a50c64b06d6e8910130b7777e08bf76525b5" dependencies = [ + "dyn-clone", "forwarded-header-value", "futures", "governor", @@ -8561,8 +8648,9 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "ip_network", - "jsonrpsee", + "jsonrpsee 0.24.7", "log", + "sc-rpc-api", "serde", "serde_json", "substrate-prometheus-endpoint", @@ -8573,15 +8661,15 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934087c0aae2642327e07070ae3739ae82bbadaf876fadcff0c9b19c37a87ada" +checksum = "6ca6bcb95e13ca0d87bd2b2e23dcc4040b671b467f5cc647169fc9c37b0ce1f7" dependencies = [ "array-bytes", "futures", "futures-util", "hex", - "jsonrpsee", + "jsonrpsee 0.24.7", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -8606,16 +8694,16 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.45.0" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd9eb103478c93e3a9325fb9c07d2c6a507cd04934954c930fc33a1e0791010b" +checksum = "f438103f736c3fb4baddd3e40122191c878496671c76ca968a9fad9fcc107a28" dependencies = [ "async-trait", "directories", "exit-future", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.24.7", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -8683,9 +8771,9 @@ dependencies = [ [[package]] name = "sc-sysinfo" -version = "37.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ce11152bd7a2b01713e71de71a5610067bd1b3509aa207e3d87f5ee53dd328" +checksum = "d78810e8fd4a91716eff951f2e80744a08efcc34f53446e60ca055d2cef2e0aa" dependencies = [ "derive_more", "futures", @@ -8705,9 +8793,9 @@ dependencies = [ [[package]] name = "sc-telemetry" -version = "24.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b59589eadf05088221cc60b6d9f68f89208262ae9b1e4fb8704eefe7de48845" +checksum = "e9e28cab12625bcdb8828f9a1177b8d061972f90fda89a70c10763da50e0aaa5" dependencies = [ "chrono", "futures", @@ -8726,20 +8814,19 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "37.0.0" +version = "37.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bbb3394a7ebed811150ebc00e371af9436b43dc214b97e79e3839ae987953bf" +checksum = "2604130246c4f6c2a2633f320bde95e7122383385c779b263eb03b714d92758a" dependencies = [ - "ansi_term", "chrono", + "console", "is-terminal", "lazy_static", "libc", "log", "parity-scale-codec", "parking_lot 0.12.3", - "regex", - "rustc-hash", + "rustc-hash 1.1.0", "sc-client-api", "sc-tracing-proc-macro", "serde", @@ -9538,7 +9625,7 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "bounded-collections", - "bs58 0.5.0", + "bs58 0.5.1", "dyn-clonable", "ed25519-zebra", "futures", @@ -9770,7 +9857,7 @@ version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45458f0955870a92b3969098d4f1f4e9b55b4282d9f1dc112a51bb5bb6584900" dependencies = [ - "rustc-hash", + "rustc-hash 1.1.0", "serde", "sp-core", ] @@ -9838,9 +9925,9 @@ dependencies = [ [[package]] name = "sp-session" -version = "35.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04fcd2d1270038be94d00103e8e95f7fbab9075dcc78096b91d8931ee970d73" +checksum = "00a3a307fedc423fb8cd2a7726a3bbb99014f1b4b52f26153993e2aae3338fe6" dependencies = [ "parity-scale-codec", "scale-info", @@ -9853,9 +9940,9 @@ dependencies = [ [[package]] name = "sp-staking" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143a764cacbab58347d8b2fd4c8909031fb0888d7b02a0ec9fa44f81f780d732" +checksum = "2a73eedb4b85f4cd420d31764827546aa22f82ce1646d0fd258993d051de7a90" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10036,9 +10123,9 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "21.0.0" +version = "21.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b04b919e150b4736d85089d49327eab65507deb1485eec929af69daa2278eb3" +checksum = "b066baa6d57951600b14ffe1243f54c47f9c23dd89c262e17ca00ae8dca58be9" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -10240,9 +10327,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-xcm" -version = "14.1.0" +version = "14.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b7b5f531c6bf9629514ef8e5fda0e9e80dd84516957f710940d0e01d3fb36c" +checksum = "96bee7cd999e9cdf10f8db72342070d456e21e82a0f5962ff3b87edbd5f2b20e" dependencies = [ "array-bytes", "bounded-collections", @@ -10253,6 +10340,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-runtime", "sp-weights", "xcm-procedural", ] @@ -10392,14 +10480,14 @@ checksum = "b285e7d183a32732fdc119f3d81b7915790191fad602b7c709ef247073c77a2e" [[package]] name = "substrate-frame-rpc-system" -version = "38.0.0" +version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf4468637471dd481811d0d1ffaf8e8a98165d9ad6b586bfb2911ca1cb081f5" +checksum = "d071d325decc80d906afd957ee83673d1cbd27b7b421a7f1c9f6132a437e17fd" dependencies = [ "docify", "frame-system-rpc-runtime-api", "futures", - "jsonrpsee", + "jsonrpsee 0.24.7", "log", "parity-scale-codec", "sc-rpc-api", @@ -10521,9 +10609,9 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "24.0.0" +version = "24.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0104598a022d22430f27e535b7aed148af9dcd0a3eb23697c02168071a325e33" +checksum = "cf035ffe7335fb24053edfe4d0a5780250eda772082a1b80ae25835dd4c09265" dependencies = [ "array-bytes", "build-helper", @@ -10531,6 +10619,7 @@ dependencies = [ "console", "filetime", "frame-metadata", + "jobserver", "merkleized-metadata", "parity-scale-codec", "parity-wasm", @@ -10543,7 +10632,7 @@ dependencies = [ "sp-version", "strum 0.26.2", "tempfile", - "toml 0.8.10", + "toml 0.8.12", "walkdir", "wasm-opt", ] @@ -10874,14 +10963,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.10" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.4", + "toml_edit 0.22.12", ] [[package]] @@ -10901,20 +10990,20 @@ checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ "indexmap 2.0.0", "toml_datetime", - "winnow", + "winnow 0.5.7", ] [[package]] name = "toml_edit" -version = "0.22.4" +version = "0.22.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951" +checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" dependencies = [ "indexmap 2.0.0", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.20", ] [[package]] @@ -11145,7 +11234,7 @@ dependencies = [ "serde_derive", "serde_json", "termcolor", - "toml 0.8.10", + "toml 0.8.12", ] [[package]] @@ -11394,9 +11483,9 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -12086,6 +12175,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" diff --git a/Cargo.toml b/Cargo.toml index 8bef27591d..8007640629 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -82,26 +82,26 @@ thiserror = "1.0" tokio = "1.38.0" # Substrate Client -sc-basic-authorship = { version = "0.44.0" } +sc-basic-authorship = { version = "0.45.0" } sc-block-builder = { version = "0.42.0" } -sc-chain-spec = { version = "37.0.0" } -sc-cli = { version = "0.46.0", default-features = false } +sc-chain-spec = { version = "38.0.0" } +sc-cli = { version = "0.47.0", default-features = false } sc-client-api = { version = "37.0.0" } sc-client-db = { version = "0.44.0", default-features = false } -sc-consensus = { version = "0.43.0"} -sc-consensus-aura = { version = "0.44.0"} -sc-consensus-grandpa = { version = "0.29.1"} -sc-consensus-manual-seal = { version = "0.45.0"} -sc-executor = { version = "0.40.0"} +sc-consensus = { version = "0.44.0" } +sc-consensus-aura = { version = "0.45.0" } +sc-consensus-grandpa = { version = "0.30.0" } +sc-consensus-manual-seal = { version = "0.46.0" } +sc-executor = { version = "0.40.1" } sc-keystore = { version = "33.0.0" } -sc-network = { version = "0.44.0" } -sc-network-common = { version = "0.43.0" } -sc-network-sync = { version = "0.43.0" } -sc-offchain = { version = "39.0.0" } -sc-rpc = { version = "39.0.0" } -sc-rpc-api = { version = "0.43.0" } -sc-service = { version = "0.45.0", default-features = false } -sc-telemetry = { version = "24.0.0" } +sc-network = { version = "0.45.0" } +sc-network-common = { version = "0.44.0" } +sc-network-sync = { version = "0.44.0" } +sc-offchain = { version = "40.0.0" } +sc-rpc = { version = "40.0.0" } +sc-rpc-api = { version = "0.44.0" } +sc-service = { version = "0.46.0", default-features = false } +sc-telemetry = { version = "25.0.0" } sc-transaction-pool = { version = "37.0.0" } sc-transaction-pool-api = { version = "37.0.0" } sc-utils = { version = "17.0.0" } @@ -116,15 +116,15 @@ sp-core = { version = "34.0.0", default-features = false } sp-crypto-hashing = { version = "0.1.0", default-features = false } sp-database = { version = "10.0.0" } sp-externalities = { version = "0.29.0", default-features = false } -sp-genesis-builder = { version = "0.15.0", default-features = false } +sp-genesis-builder = { version = "0.15.1", default-features = false } sp-inherents = { version = "34.0.0", default-features = false } sp-io = { version = "38.0.0", default-features = false } sp-keyring = { version = "39.0.0" } sp-keystore = { version = "0.40.0" } sp-offchain = { version = "34.0.0", default-features = false } -sp-runtime = { version = "39.0.2", default-features = false } +sp-runtime = { version = "39.0.1", default-features = false } sp-runtime-interface = { version = "28.0.0", default-features = false } -sp-session = { version = "35.0.0", default-features = false } +sp-session = { version = "36.0.0", default-features = false } sp-state-machine = { version = "0.43.0", default-features = false } sp-std = { version = "14.0.0", default-features = false } sp-storage = { version = "21.0.0", default-features = false } @@ -133,35 +133,35 @@ sp-transaction-pool = { version = "34.0.0", default-features = false } sp-version = { version = "37.0.0", default-features = false } sp-weights = { version = "31.0.0", default-features = false } # Substrate FRAME -frame-benchmarking = { version = "37.0.0", default-features = false } -frame-executive = { version = "37.0.0", default-features = false } -frame-support = { version = "37.0.1", default-features = false } -frame-system = { version = "37.1.0", default-features = false } -frame-system-benchmarking = { version = "37.0.0", default-features = false } +frame-benchmarking = { version = "38.0.0", default-features = false } +frame-executive = { version = "38.0.0", default-features = false } +frame-support = { version = "38.0.0", default-features = false } +frame-system = { version = "38.0.0", default-features = false } +frame-system-benchmarking = { version = "38.0.0", default-features = false } frame-system-rpc-runtime-api = { version = "34.0.0", default-features = false } -frame-metadata-hash-extension = { version = "0.5.0" } -pallet-aura = { version = "36.0.0", default-features = false } -pallet-balances = { version = "38.0.0", default-features = false } -pallet-grandpa = { version = "37.0.0", default-features = false } -pallet-sudo = { version = "37.0.0", default-features = false } -pallet-timestamp = { version = "36.0.1", default-features = false } -pallet-transaction-payment = { version = "37.0.0", default-features = false } -pallet-transaction-payment-rpc = { version = "40.0.0" } -pallet-transaction-payment-rpc-runtime-api = { version = "37.0.0", default-features = false } -pallet-utility = { version = "37.0.1", default-features = false } -pallet-babe = { version = "37.0.0" } +frame-metadata-hash-extension = { version = "0.6.0" } +pallet-aura = { version = "37.0.0", default-features = false } +pallet-balances = { version = "39.0.0", default-features = false } +pallet-grandpa = { version = "38.0.0", default-features = false } +pallet-sudo = { version = "38.0.0", default-features = false } +pallet-timestamp = { version = "37.0.0", default-features = false } +pallet-transaction-payment = { version = "38.0.0", default-features = false } +pallet-transaction-payment-rpc = { version = "41.0.0" } +pallet-transaction-payment-rpc-runtime-api = { version = "38.0.0", default-features = false } +pallet-utility = { version = "38.0.0", default-features = false } +pallet-babe = { version = "38.0.0" } # Substrate Utility -frame-benchmarking-cli = { version = "42.0.0" } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.17.0" } +frame-benchmarking-cli = { version = "43.0.0" } +prometheus-endpoint = { version = "0.17.0", package = "substrate-prometheus-endpoint" } substrate-build-script-utils = { version = "11.0.0" } -substrate-frame-rpc-system = { version = "38.0.0" } +substrate-frame-rpc-system = { version = "39.0.0" } substrate-test-client = { path = "test-utils/client", version = "2.0.1" } substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0" } substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0" } -substrate-wasm-builder = { version = "24.0.0" } +substrate-wasm-builder = { version = "24.0.1" } # XCM -xcm = { package = "staging-xcm", version = "14.1.0", default-features = false } +xcm = { version = "14.2.0", package = "staging-xcm", default-features = false } # Arkworks ark-bls12-377 = { version = "0.4.0", default-features = false, features = ["curve"] } @@ -210,13 +210,13 @@ frontier-template-runtime = { path = "template/runtime", default-features = fals array-bytes = { version = "6.2.2", default-features = false } codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } -sp-application-crypto = { version = "38.0.0" } +sp-application-crypto = { version = "38.0.0" } sp-consensus-babe = { version = "0.40.0" } sp-trie = { version = "37.0.0" } tracing = { version = "0.1.37", default-features = false } trie-db = { version = "0.29.0", default-features = false } sc-executor-common = { version = "0.35.0" } -sp-tracing = { version = "17.0.0" } +sp-tracing = { version = "17.0.1" } [profile.release] From d897facb2cd548b60e82aff957611dc59641655d Mon Sep 17 00:00:00 2001 From: magecnion Date: Tue, 17 Dec 2024 11:51:58 +0100 Subject: [PATCH 05/15] build works --- Cargo.lock | 7037 ++++++++++++-------------- Cargo.toml | 241 +- client/cli/Cargo.toml | 3 +- client/db/Cargo.toml | 2 +- client/mapping-sync/Cargo.toml | 2 +- client/rpc/Cargo.toml | 2 +- frame/dynamic-fee/Cargo.toml | 2 +- rust-toolchain.toml | 13 +- test-utils/Cargo.toml | 22 + test-utils/client/Cargo.toml | 3 + test-utils/runtime/Cargo.toml | 2 + test-utils/runtime/client/Cargo.toml | 9 +- test-utils/src/lib.rs | 57 + 13 files changed, 3548 insertions(+), 3847 deletions(-) create mode 100644 test-utils/Cargo.toml create mode 100644 test-utils/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 60ab589dab..ebe1a0e686 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -23,27 +23,18 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli 0.28.1", + "gimli 0.31.1", ] [[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aead" -version = "0.4.3" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array 0.14.7", -] +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aead" @@ -57,21 +48,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher 0.3.0", - "cpufeatures", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher 0.4.4", @@ -80,40 +59,37 @@ dependencies = [ [[package]] name = "aes-gcm" -version = "0.9.4" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "cipher 0.3.0", - "ctr 0.8.0", - "ghash 0.4.4", - "subtle 2.4.1", + "aead", + "aes", + "cipher 0.4.4", + "ctr", + "ghash", + "subtle 2.6.1", ] [[package]] -name = "aes-gcm" -version = "0.10.2" +name = "ahash" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "aead 0.5.2", - "aes 0.8.3", - "cipher 0.4.4", - "ctr 0.9.2", - "ghash 0.5.0", - "subtle 2.4.1", + "getrandom 0.2.15", + "once_cell", + "version_check", ] [[package]] name = "ahash" -version = "0.8.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -121,18 +97,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.3" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "android-tzdata" @@ -149,59 +125,17 @@ dependencies = [ "libc", ] -[[package]] -name = "anstream" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "utf8parse", -] - [[package]] name = "anstyle" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" - -[[package]] -name = "anstyle-parse" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.2" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" [[package]] name = "approx" @@ -223,7 +157,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -249,18 +183,6 @@ dependencies = [ "ark-std", ] -[[package]] -name = "ark-bw6-761" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-std", -] - [[package]] name = "ark-ec" version = "0.4.2" @@ -364,7 +286,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -375,15 +297,15 @@ checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "asn1-rs" @@ -437,7 +359,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", "synstructure 0.13.1", ] @@ -460,15 +382,9 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - [[package]] name = "async-channel" version = "1.9.0" @@ -482,9 +398,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" dependencies = [ "async-lock", "cfg-if", @@ -493,32 +409,32 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 0.38.31", + "rustix 0.38.42", "slab", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", + "event-listener 5.3.1", "event-listener-strategy", - "pin-project-lite", + "pin-project-lite 0.2.15", ] [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -531,16 +447,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite", -] - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", + "pin-project-lite 0.2.15", ] [[package]] @@ -555,42 +462,30 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" dependencies = [ - "http 0.2.9", + "http 0.2.12", "log", "url", ] -[[package]] -name = "auto_impl" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.21.0", - "cc", + "addr2line 0.24.2", "cfg-if", "libc", "miniz_oxide", - "object 0.32.2", + "object 0.36.5", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -613,9 +508,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" @@ -629,15 +524,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "basic-toml" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8" -dependencies = [ - "serde", -] - [[package]] name = "bincode" version = "1.3.3" @@ -659,13 +545,13 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.24", + "prettyplease 0.2.25", "proc-macro2", "quote", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -692,9 +578,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bitvec" @@ -737,31 +623,31 @@ checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] name = "blake2s_simd" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.2.6", + "constant_time_eq", ] [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -784,9 +670,9 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32385ecb91a31bddaf908e8dcf4a15aef1bcd3913cc03ebfad02ff6d568abc1" +checksum = "3d077619e9c237a5d1875166f5e8033e8f6bff0c96f8caf81e1c2d7738c431bf" dependencies = [ "log", "parity-scale-codec", @@ -809,17 +695,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "bstr" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" -dependencies = [ - "lazy_static", - "memchr", - "regex-automata 0.1.10", -] - [[package]] name = "build-helper" version = "0.1.1" @@ -831,9 +706,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byte-slice-cast" @@ -849,21 +724,21 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca2be1d5c43812bae364ee3f30b3afcb7877cf59f4aeb94c66f313a41d2fac9" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "bzip2-sys" @@ -888,18 +763,18 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.6" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.3" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -912,26 +787,21 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.18", + "semver 1.0.24", "serde", "serde_json", "thiserror", ] -[[package]] -name = "case" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" - [[package]] name = "cc" -version = "1.0.94" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" +checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -945,9 +815,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.5" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", ] @@ -976,41 +846,40 @@ dependencies = [ [[package]] name = "chacha20" -version = "0.8.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher 0.4.4", "cpufeatures", - "zeroize", ] [[package]] name = "chacha20poly1305" -version = "0.9.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ - "aead 0.4.3", + "aead", "chacha20", - "cipher 0.3.0", + "cipher 0.4.4", "poly1305", "zeroize", ] [[package]] name = "chrono" -version = "0.4.32" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41daef31d7a747c5c847246f36de49ced6f7403b4cdabc807a97b5cc184cda7a" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -1048,15 +917,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array 0.14.7", -] - [[package]] name = "cipher" version = "0.4.4" @@ -1065,13 +925,14 @@ checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ "crypto-common", "inout", + "zeroize", ] [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -1080,44 +941,29 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.13" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", - "clap_derive", ] [[package]] name = "clap_builder" -version = "4.5.13" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ - "anstream", "anstyle", "clap_lex", "strsim", - "terminal_size", -] - -[[package]] -name = "clap_derive" -version = "4.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.82", ] [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "codespan-reporting" @@ -1129,12 +975,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "colorchoice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" - [[package]] name = "combine" version = "4.6.7" @@ -1145,17 +985,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "comfy-table" -version = "7.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" -dependencies = [ - "strum 0.26.2", - "strum_macros 0.26.2", - "unicode-width", -] - [[package]] name = "common-path" version = "1.0.0" @@ -1164,9 +993,9 @@ checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" [[package]] name = "concurrent-queue" -version = "2.2.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -1184,58 +1013,37 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "const-hex" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" -dependencies = [ - "cfg-if", - "cpufeatures", - "hex", - "proptest", - "serde", -] - [[package]] name = "const-oid" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-random" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ "const-random-macro", - "proc-macro-hack", ] [[package]] name = "const-random-macro" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", - "proc-macro-hack", "tiny-keccak", ] [[package]] name = "constant_time_eq" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" - -[[package]] -name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "constcat" @@ -1251,9 +1059,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1261,9 +1069,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -1285,9 +1093,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -1392,80 +1200,52 @@ dependencies = [ [[package]] name = "crc" -version = "3.0.1" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" dependencies = [ "crc-catalog", ] [[package]] name = "crc-catalog" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", - "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" -dependencies = [ - "autocfg", - "cfg-if", - "crossbeam-utils", - "memoffset 0.9.0", - "scopeguard", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.8" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1475,13 +1255,13 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.2" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core", - "subtle 2.4.1", + "rand_core 0.6.4", + "subtle 2.6.1", "zeroize", ] @@ -1492,7 +1272,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "typenum", ] @@ -1513,25 +1293,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.3.0", + "cipher 0.4.4", ] [[package]] -name = "ctr" -version = "0.9.2" +name = "curve25519-dalek" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ - "cipher 0.4.4", + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle 2.6.1", + "zeroize", ] [[package]] @@ -1546,63 +1330,78 @@ dependencies = [ "digest 0.10.7", "fiat-crypto", "rustc_version", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "cxx" -version = "1.0.104" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ba0a82363c553ecb7b4cd58ba6e1c017baef8e3cca4e7d66ca17879201144" +checksum = "a5a32d755fe20281b46118ee4b507233311fb7a48a0cfd42f554b93640521a2f" dependencies = [ "cc", + "cxxbridge-cmd", "cxxbridge-flags", "cxxbridge-macro", + "foldhash", "link-cplusplus", ] [[package]] name = "cxx-build" -version = "1.0.104" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9ec8372f860c6ee7c6463b96a26d08dd590bcbcd9bf2d1894db09ae81410d3" +checksum = "11645536ada5d1c8804312cbffc9ab950f2216154de431de930da47ca6955199" dependencies = [ "cc", "codespan-reporting", - "once_cell", "proc-macro2", "quote", "scratch", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] -name = "cxxbridge-flags" -version = "1.0.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "409667bbb937bae87f7cfa91ca29e1415bb92d415371e3344b5269c10d90d595" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.104" +name = "cxxbridge-cmd" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb2a9757fb085d6d97856b28d4f049141ca4a61a64c697f4426433b5f6caa1f" +checksum = "ebcc9c78e3c7289665aab921a2b394eaffe8bdb369aa18d81ffc0f534fd49385" dependencies = [ - "proc-macro2", + "clap", + "codespan-reporting", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.134" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a22a87bd9e78d7204d793261470a4c9d585154fddd251828d8aefbb5f74c3bf" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.134" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dfdb020ff8787c5daf6e0dca743005cc8782868faeadfbabb8824ede5cb1c72" +dependencies = [ + "proc-macro2", "quote", - "syn 2.0.82", + "rustversion", + "syn 2.0.90", ] [[package]] @@ -1612,23 +1411,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] name = "data-encoding" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.13" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1636,9 +1435,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fdf3fce3ce863539ec1d7fd1b6dcc3c645663376b43ed376bbf887733e4f772" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", "syn 1.0.109", @@ -1646,9 +1445,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "zeroize", @@ -1684,9 +1483,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.7" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] [[package]] name = "derivative" @@ -1707,7 +1509,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -1720,14 +1522,28 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] -name = "diff" -version = "0.1.13" +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] [[package]] name = "difflib" @@ -1762,7 +1578,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -1809,29 +1625,35 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] +[[package]] +name = "dissimilar" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f8e79d1fbf76bdfbde321e902714bf6c49df88a7dda6fc682fc2979226962d" + [[package]] name = "docify" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2f138ad521dc4a2ced1a4576148a6a610b4c5923933b062a263130a6802ce" +checksum = "a772b62b1837c8f060432ddcc10b17aae1453ef17617a99bc07789252d2a5896" dependencies = [ "docify_macros", ] [[package]] name = "docify_macros" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad" +checksum = "60e6be249b0a462a14784a99b19bf35a667bb5e09de611738bb7362fa4c95ff7" dependencies = [ "common-path", "derive-syn-parse", @@ -1839,18 +1661,12 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.82", + "syn 2.0.90", "termcolor", - "toml 0.8.12", + "toml 0.8.19", "walkdir", ] -[[package]] -name = "dotenvy" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" - [[package]] name = "downcast" version = "0.11.0" @@ -1892,27 +1708,50 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecdsa" -version = "0.16.8" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", "digest 0.10.7", "elliptic-curve", "rfc6979", "serdect", - "signature", + "signature 2.2.0", "spki", ] [[package]] name = "ed25519" -version = "2.2.2" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature 1.6.4", +] + +[[package]] +name = "ed25519" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", - "signature", + "signature 2.2.0", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519 1.5.3", + "rand 0.7.3", + "serde", + "sha2 0.9.9", + "zeroize", ] [[package]] @@ -1921,12 +1760,26 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core", + "curve25519-dalek 4.1.3", + "ed25519 2.2.3", + "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown 0.12.3", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", "zeroize", ] @@ -1936,23 +1789,20 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek", - "ed25519", - "hashbrown 0.14.3", + "curve25519-dalek 4.1.3", + "ed25519 2.2.3", + "hashbrown 0.14.5", "hex", - "rand_core", + "rand_core 0.6.4", "sha2 0.10.8", "zeroize", ] [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" -dependencies = [ - "serde", -] +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -1967,10 +1817,10 @@ dependencies = [ "generic-array 0.14.7", "group", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "serdect", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] @@ -1994,21 +1844,21 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", @@ -2031,61 +1881,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "ethbloom" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "tiny-keccak", -] - -[[package]] -name = "ethereum" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e04d24d20b8ff2235cffbf242d5092de3aa45f77c5270ddbfadd2778ca13fea" -dependencies = [ - "bytes", - "ethereum-types", - "hash-db", - "hash256-std-hasher", - "parity-scale-codec", - "rlp", - "scale-info", - "serde", - "sha3", - "trie-root", -] - -[[package]] -name = "ethereum-types" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" -dependencies = [ - "ethbloom", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "primitive-types", - "scale-info", - "uint", + "windows-sys 0.59.0", ] [[package]] @@ -2096,81 +1897,23 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "4.0.3" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite", + "pin-project-lite 0.2.15", ] [[package]] name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - -[[package]] -name = "evm" -version = "0.41.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767f43e9630cc36cf8ff2777cbb0121b055f0d1fd6eaaa13b46a1808f0d0e7e9" -dependencies = [ - "auto_impl", - "environmental", - "ethereum", - "evm-core", - "evm-gasometer", - "evm-runtime", - "log", - "parity-scale-codec", - "primitive-types", - "rlp", - "scale-info", - "serde", - "sha3", -] - -[[package]] -name = "evm-core" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1da6cedc5cedb4208e59467106db0d1f50db01b920920589f8e672c02fdc04f" -dependencies = [ - "parity-scale-codec", - "primitive-types", - "scale-info", - "serde", -] - -[[package]] -name = "evm-gasometer" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dc0eb591abc5cd7b05bef6a036c2bb6c66ab6c5e0c5ce94bfe377ab670b1fd7" -dependencies = [ - "environmental", - "evm-core", - "evm-runtime", - "primitive-types", -] - -[[package]] -name = "evm-runtime" -version = "0.41.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84bbe09b64ae13a29514048c1bb6fda6374ac0b4f6a1f15a443348ab88ef42cd" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "auto_impl", - "environmental", - "evm-core", - "primitive-types", - "sha3", + "event-listener 5.3.1", + "pin-project-lite 0.2.15", ] [[package]] @@ -2184,15 +1927,17 @@ dependencies = [ [[package]] name = "expander" -version = "2.0.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7" +checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" dependencies = [ "blake2 0.10.6", + "file-guard", "fs-err", + "prettyplease 0.2.25", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -2209,313 +1954,82 @@ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.0.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] -name = "fc-api" -version = "1.0.0-dev" +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "async-trait", - "fp-storage", - "parity-scale-codec", - "sp-core", - "sp-runtime", + "rand_core 0.6.4", + "subtle 2.6.1", ] [[package]] -name = "fc-cli" -version = "1.0.0-dev" +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "file-guard" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" dependencies = [ - "clap", - "ethereum-types", - "fc-api", - "fc-db", - "fp-rpc", - "fp-storage", - "frontier-template-runtime", - "futures", - "parity-scale-codec", - "sc-block-builder", - "sc-cli", - "sc-client-db", - "serde", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-io", - "sp-runtime", - "substrate-test-runtime-client", - "tempfile", + "libc", + "winapi", ] [[package]] -name = "fc-consensus" -version = "2.0.0-dev" +name = "file-per-thread-logger" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "async-trait", - "fp-consensus", - "fp-rpc", - "sc-consensus", - "sp-api", - "sp-block-builder", - "sp-consensus", - "sp-runtime", - "thiserror", + "env_logger", + "log", ] [[package]] -name = "fc-db" -version = "2.0.0-dev" +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ - "async-trait", - "ethereum", - "fc-api", - "fc-storage", - "fp-consensus", - "fp-rpc", - "fp-storage", - "futures", - "kvdb-rocksdb", - "log", - "maplit", - "parity-db", - "parity-scale-codec", - "parking_lot 0.12.3", - "sc-block-builder", - "sc-client-api", - "sc-client-db", - "smallvec", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-runtime", - "sqlx", - "substrate-test-runtime-client", - "tempfile", - "tokio", + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", ] [[package]] -name = "fc-mapping-sync" -version = "2.0.0-dev" +name = "finality-grandpa" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" dependencies = [ - "ethereum", - "ethereum-types", - "fc-db", - "fc-storage", - "fp-consensus", - "fp-rpc", - "fp-storage", - "frontier-template-runtime", + "either", "futures", "futures-timer", "log", + "num-traits", "parity-scale-codec", "parking_lot 0.12.3", - "sc-block-builder", - "sc-client-api", - "sc-client-db", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-io", - "sp-runtime", - "sqlx", - "substrate-test-runtime-client", - "tempfile", - "tokio", + "scale-info", ] [[package]] -name = "fc-rpc" -version = "2.0.0-dev" -dependencies = [ - "ethereum", - "ethereum-types", - "evm", - "fc-api", - "fc-db", - "fc-mapping-sync", - "fc-rpc-core", - "fc-storage", - "fp-evm", - "fp-rpc", - "fp-storage", - "futures", - "hex", - "jsonrpsee", - "libsecp256k1", - "log", - "pallet-evm", - "parity-scale-codec", - "prometheus", - "rand", - "rlp", - "sc-block-builder", - "sc-client-api", - "sc-client-db", - "sc-consensus-aura", - "sc-network", - "sc-network-sync", - "sc-rpc", - "sc-service", - "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", - "schnellru", - "serde", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-core", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-timestamp", - "substrate-prometheus-endpoint", - "substrate-test-runtime-client", - "tempfile", - "thiserror", - "tokio", -] - -[[package]] -name = "fc-rpc-core" -version = "1.1.0-dev" -dependencies = [ - "ethereum", - "ethereum-types", - "jsonrpsee", - "rlp", - "rustc-hex", - "serde", - "serde_json", - "sp-crypto-hashing", -] - -[[package]] -name = "fc-rpc-v2" -version = "2.0.0-dev" - -[[package]] -name = "fc-rpc-v2-api" -version = "0.1.0" -dependencies = [ - "ethereum-types", - "fc-rpc-v2-types", - "jsonrpsee", -] - -[[package]] -name = "fc-rpc-v2-types" -version = "0.1.0" -dependencies = [ - "const-hex", - "ethereum-types", - "serde", - "serde_json", -] - -[[package]] -name = "fc-storage" -version = "1.0.0-dev" -dependencies = [ - "ethereum", - "ethereum-types", - "fp-rpc", - "fp-storage", - "parity-scale-codec", - "sc-client-api", - "sp-api", - "sp-io", - "sp-runtime", - "sp-storage", -] - -[[package]] -name = "fdlimit" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" -dependencies = [ - "libc", - "thiserror", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "rand_core", - "subtle 2.4.1", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" - -[[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", - "log", -] - -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", -] - -[[package]] -name = "finality-grandpa" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" -dependencies = [ - "either", - "futures", - "futures-timer", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.12.3", - "scale-info", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -2527,23 +2041,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] -name = "float-cmp" -version = "0.9.0" +name = "flate2" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ - "num-traits", + "crc32fast", + "libz-sys", + "miniz_oxide", ] [[package]] -name = "flume" -version = "0.11.0" +name = "float-cmp" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" dependencies = [ - "futures-core", - "futures-sink", - "spin 0.9.8", + "num-traits", ] [[package]] @@ -2552,6 +2066,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -2595,102 +2115,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "fp-account" -version = "1.0.0-dev" -dependencies = [ - "hex", - "impl-serde", - "libsecp256k1", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "staging-xcm", -] - -[[package]] -name = "fp-consensus" -version = "2.0.0-dev" -dependencies = [ - "ethereum", - "parity-scale-codec", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "fp-dynamic-fee" -version = "1.0.0" -dependencies = [ - "async-trait", - "sp-core", - "sp-inherents", -] - -[[package]] -name = "fp-ethereum" -version = "1.0.0-dev" -dependencies = [ - "ethereum", - "ethereum-types", - "fp-evm", - "frame-support", - "parity-scale-codec", -] - -[[package]] -name = "fp-evm" -version = "3.0.0-dev" -dependencies = [ - "evm", - "frame-support", - "num_enum", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "fp-rpc" -version = "3.0.0-dev" -dependencies = [ - "ethereum", - "ethereum-types", - "fp-evm", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-core", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "fp-self-contained" -version = "1.0.0-dev" -dependencies = [ - "frame-support", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime", -] - -[[package]] -name = "fp-storage" -version = "2.0.0" -dependencies = [ - "parity-scale-codec", - "serde", -] - [[package]] name = "fragile" version = "2.0.0" @@ -2712,67 +2136,16 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-runtime-interface", + "sp-api 34.0.0", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.3", + "sp-runtime-interface 28.0.0", "sp-storage", "static_assertions", ] -[[package]] -name = "frame-benchmarking-cli" -version = "43.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9767c33709062605ba6876fcc3e5f31fb37da393c1ab384813614870209dd94" -dependencies = [ - "Inflector", - "array-bytes", - "chrono", - "clap", - "comfy-table", - "frame-benchmarking", - "frame-support", - "frame-system", - "gethostname", - "handlebars", - "itertools 0.11.0", - "lazy_static", - "linked-hash-map", - "log", - "parity-scale-codec", - "rand", - "rand_pcg", - "sc-block-builder", - "sc-chain-spec", - "sc-cli", - "sc-client-api", - "sc-client-db", - "sc-executor", - "sc-service", - "sc-sysinfo", - "serde", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-database", - "sp-externalities", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-trie", - "sp-wasm-interface", - "thiserror", - "thousands", -] - [[package]] name = "frame-executive" version = "38.0.0" @@ -2786,9 +2159,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.3", "sp-tracing", ] @@ -2817,7 +2190,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 39.0.3", ] [[package]] @@ -2843,18 +2216,18 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-api", + "sp-api 34.0.0", "sp-arithmetic", - "sp-core", + "sp-core 34.0.0", "sp-crypto-hashing-proc-macro", "sp-debug-derive", "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-inherents 34.0.0", + "sp-io 38.0.0", "sp-metadata-ir", - "sp-runtime", + "sp-runtime 39.0.3", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.43.0", "sp-std", "sp-tracing", "sp-weights", @@ -2879,7 +2252,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -2889,10 +2262,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bead15a320be1764cdd50458c4cfacb23e0cee65f64f500f8e34136a94c7eeca" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -2903,7 +2276,7 @@ checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -2919,29 +2292,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.3", "sp-std", - "sp-version", + "sp-version 37.0.0", "sp-weights", ] -[[package]] -name = "frame-system-benchmarking" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9693b2a736beb076e673520e1e8dee4fc128b8d35b020ef3e8a4b1b5ad63d9f2" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-runtime", -] - [[package]] name = "frame-system-rpc-runtime-api" version = "34.0.0" @@ -2950,7 +2308,7 @@ checksum = "475c4f8604ba7e4f05cd2c881ba71105093e638b9591ec71a8db14a64b3b4ec3" dependencies = [ "docify", "parity-scale-codec", - "sp-api", + "sp-api 34.0.0", ] [[package]] @@ -2961,134 +2319,24 @@ checksum = "83c811a5a1f5429c7fb5ebbf6cf9502d8f9b673fd395c12cf46c44a30a7daf0e" dependencies = [ "frame-support", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 34.0.0", + "sp-runtime 39.0.3", ] [[package]] -name = "frontier-template-node" -version = "0.0.0" +name = "fs-err" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" dependencies = [ - "async-trait", - "clap", - "fc-api", - "fc-cli", - "fc-consensus", - "fc-db", - "fc-mapping-sync", - "fc-rpc", - "fc-rpc-core", - "fc-storage", - "fp-account", - "fp-dynamic-fee", - "fp-evm", - "fp-rpc", - "frame-benchmarking", - "frame-benchmarking-cli", - "frame-system", - "frame-system-rpc-runtime-api", - "frontier-template-runtime", - "futures", - "hex-literal", - "jsonrpsee", - "log", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "sc-basic-authorship", - "sc-chain-spec", - "sc-cli", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-grandpa", - "sc-consensus-manual-seal", - "sc-executor", - "sc-network", - "sc-network-sync", - "sc-offchain", - "sc-rpc", - "sc-service", - "sc-telemetry", - "sc-transaction-pool", - "sc-transaction-pool-api", - "serde_json", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-timestamp", - "sp-transaction-pool", - "substrate-build-script-utils", - "substrate-frame-rpc-system", - "substrate-prometheus-endpoint", + "autocfg", ] [[package]] -name = "frontier-template-runtime" -version = "0.0.0" -dependencies = [ - "fp-account", - "fp-evm", - "fp-rpc", - "fp-self-contained", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "pallet-aura", - "pallet-balances", - "pallet-base-fee", - "pallet-dynamic-fee", - "pallet-ethereum", - "pallet-evm", - "pallet-evm-chain-id", - "pallet-evm-precompile-modexp", - "pallet-evm-precompile-sha3fips", - "pallet-evm-precompile-simple", - "pallet-grandpa", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", -] - -[[package]] -name = "fs-err" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" - -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" dependencies = [ "libc", "winapi", @@ -3102,9 +2350,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -3127,9 +2375,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -3137,15 +2385,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -3153,42 +2401,42 @@ dependencies = [ "num_cpus", ] -[[package]] -name = "futures-intrusive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" -dependencies = [ - "futures-core", - "lock_api", - "parking_lot 0.12.3", -] - [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.2.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "futures-core", - "pin-project-lite", + "pin-project-lite 0.2.15", ] [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", +] + +[[package]] +name = "futures-rustls" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" +dependencies = [ + "futures-io", + "rustls 0.20.9", + "webpki", ] [[package]] @@ -3198,20 +2446,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" dependencies = [ "futures-io", - "rustls 0.21.7", + "rustls 0.21.12", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -3221,9 +2469,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3232,7 +2480,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite", + "pin-project-lite 0.2.15", "pin-utils", "slab", ] @@ -3267,24 +2515,25 @@ dependencies = [ ] [[package]] -name = "gethostname" -version = "0.2.3" +name = "getrandom" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ + "cfg-if", "libc", - "winapi", + "wasi 0.9.0+wasi-snapshot-preview1", ] [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", ] [[package]] @@ -3293,28 +2542,18 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "rand", - "rand_core", -] - -[[package]] -name = "ghash" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" -dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.5.3", + "rand 0.8.5", + "rand_core 0.6.4", ] [[package]] name = "ghash" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.6.1", + "opaque-debug 0.3.1", + "polyval", ] [[package]] @@ -3338,6 +2577,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + [[package]] name = "glob" version = "0.3.1" @@ -3359,7 +2604,7 @@ dependencies = [ "parking_lot 0.12.3", "portable-atomic", "quanta", - "rand", + "rand 0.8.5", "smallvec", "spinning_top", ] @@ -3371,8 +2616,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", - "subtle 2.4.1", + "rand_core 0.6.4", + "subtle 2.6.1", ] [[package]] @@ -3386,8 +2631,8 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.9", - "indexmap 2.0.0", + "http 0.2.12", + "indexmap 2.7.0", "slab", "tokio", "tokio-util", @@ -3396,37 +2641,23 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.1.0", - "indexmap 2.0.0", + "http 1.2.0", + "indexmap 2.7.0", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "handlebars" -version = "5.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab283476b99e66691dee3f1640fea91487a8d81f50fb5ecc75538f8f8879a1e4" -dependencies = [ - "log", - "pest", - "pest_derive", - "serde", - "serde_json", - "thiserror", -] - [[package]] name = "hash-db" version = "0.16.0" @@ -3447,6 +2678,9 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] [[package]] name = "hashbrown" @@ -3454,26 +2688,37 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.11", ] [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash 0.8.11", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ - "ahash", "allocator-api2", + "equivalent", + "foldhash", ] [[package]] name = "hashlink" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -3481,9 +2726,6 @@ name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -dependencies = [ - "unicode-segmentation", -] [[package]] name = "heck" @@ -3497,20 +2739,23 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -dependencies = [ - "serde", -] [[package]] name = "hex-conservative" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" [[package]] name = "hex-literal" @@ -3557,6 +2802,15 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "hostname" version = "0.3.1" @@ -3570,9 +2824,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -3581,9 +2835,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -3592,13 +2846,13 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http 0.2.9", - "pin-project-lite", + "http 0.2.12", + "pin-project-lite 0.2.15", ] [[package]] @@ -3608,7 +2862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.2.0", ] [[package]] @@ -3619,22 +2873,22 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", - "pin-project-lite", + "pin-project-lite 0.2.15", ] [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -3644,22 +2898,22 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", "h2 0.3.26", - "http 0.2.9", - "http-body 0.4.5", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", "itoa", - "pin-project-lite", - "socket2 0.5.7", + "pin-project-lite 0.2.15", + "socket2 0.5.8", "tokio", "tower-service", "tracing", @@ -3668,20 +2922,20 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", - "http 1.1.0", + "h2 0.4.7", + "http 1.2.0", "http-body 1.0.1", "httparse", "httpdate", "itoa", - "pin-project-lite", + "pin-project-lite 0.2.15", "smallvec", "tokio", ] @@ -3693,10 +2947,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http 0.2.9", - "hyper 0.14.30", + "http 0.2.12", + "hyper 0.14.31", "log", - "rustls 0.21.7", + "rustls 0.21.12", "rustls-native-certs", "tokio", "tokio-rustls", @@ -3704,33 +2958,32 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", - "hyper 1.4.1", - "pin-project-lite", + "hyper 1.5.1", + "pin-project-lite 0.2.15", "tokio", - "tower", "tower-service", ] [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows 0.48.0", + "windows-core 0.52.0", ] [[package]] @@ -3742,6 +2995,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "idna" version = "0.2.3" @@ -3765,12 +3136,23 @@ dependencies = [ [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -3785,9 +3167,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "3.2.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" +checksum = "cdf9d64cfcf380606e64f9a0bcf493616b65331199f984151a6fa11a7b3cde38" dependencies = [ "async-io", "core-foundation", @@ -3796,10 +3178,14 @@ dependencies = [ "if-addrs", "ipnet", "log", + "netlink-packet-core", + "netlink-packet-route", + "netlink-proto", + "netlink-sys", "rtnetlink", "system-configuration", "tokio", - "windows 0.51.1", + "windows", ] [[package]] @@ -3812,10 +3198,10 @@ dependencies = [ "attohttpc", "bytes", "futures", - "http 0.2.9", - "hyper 0.14.30", + "http 0.2.12", + "hyper 0.14.31", "log", - "rand", + "rand 0.8.5", "tokio", "url", "xmltree", @@ -3830,15 +3216,6 @@ dependencies = [ "parity-scale-codec", ] -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp", -] - [[package]] name = "impl-serde" version = "0.4.0" @@ -3850,29 +3227,29 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] name = "include_dir" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ "include_dir_macros", ] [[package]] name = "include_dir_macros" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ "proc-macro2", "quote", @@ -3891,12 +3268,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.15.2", ] [[package]] @@ -3910,9 +3287,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -3932,7 +3309,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -3949,7 +3326,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.7", + "socket2 0.5.8", "widestring", "windows-sys 0.48.0", "winreg", @@ -3957,19 +3334,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.8.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi", - "rustix 0.38.31", - "windows-sys 0.48.0", + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.52.0", ] [[package]] @@ -3990,35 +3367,45 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ + "once_cell", "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.24.4" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd1ead9fb95614e8dc5556d12a8681c2f6d352d0c1d3efc8708c7ccbba47bc6" +checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843" dependencies = [ "jsonrpsee-core", "jsonrpsee-proc-macros", @@ -4030,20 +3417,20 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.24.4" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff79651479f69ada7bda604ef2acf3f1aa50755d97cc36d25ff04c2664f9d96f" +checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280" dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", "jsonrpsee-types", "parking_lot 0.12.3", - "rand", - "rustc-hash 2.0.0", + "rand 0.8.5", + "rustc-hash 2.1.0", "serde", "serde_json", "thiserror", @@ -4053,28 +3440,28 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.24.4" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d4c6bec4909c966f59f52db3655c0e9d4685faae8b49185973d9d7389bb884" +checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d" dependencies = [ "heck 0.5.0", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "jsonrpsee-server" -version = "0.24.4" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe2198e5fd96cf2153ecc123364f699b6e2151317ea09c7bf799c43c2fe1415" +checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c" dependencies = [ "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.1", "hyper-util", "jsonrpsee-core", "jsonrpsee-types", @@ -4082,7 +3469,7 @@ dependencies = [ "route-recognizer", "serde", "serde_json", - "soketto", + "soketto 0.8.1", "thiserror", "tokio", "tokio-stream", @@ -4093,11 +3480,11 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.24.4" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531e386460425e49679587871a056f2895a47dade21457324ad1262cd78ef6d9" +checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1" dependencies = [ - "http 1.1.0", + "http 1.2.0", "serde", "serde_json", "thiserror", @@ -4105,9 +3492,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -4119,9 +3506,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -4167,12 +3554,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -dependencies = [ - "spin 0.5.2", -] +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lazycell" @@ -4182,25 +3566,57 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.168" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "winapi", + "windows-targets 0.52.6", ] [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "libp2p" +version = "0.51.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "getrandom 0.2.15", + "instant", + "libp2p-allow-block-list 0.1.1", + "libp2p-connection-limits 0.1.0", + "libp2p-core 0.39.2", + "libp2p-dns 0.39.0", + "libp2p-identify 0.42.2", + "libp2p-identity 0.1.3", + "libp2p-kad 0.43.3", + "libp2p-mdns 0.43.1", + "libp2p-metrics 0.12.0", + "libp2p-noise 0.42.2", + "libp2p-ping 0.42.0", + "libp2p-quic 0.7.0-alpha.3", + "libp2p-request-response 0.24.1", + "libp2p-swarm 0.42.2", + "libp2p-tcp 0.39.0", + "libp2p-websocket 0.41.0", + "libp2p-yamux 0.43.1", + "multiaddr 0.17.1", + "pin-project", +] [[package]] name = "libp2p" @@ -4212,54 +3628,106 @@ dependencies = [ "either", "futures", "futures-timer", - "getrandom", + "getrandom 0.2.15", "instant", - "libp2p-allow-block-list", - "libp2p-connection-limits", - "libp2p-core", - "libp2p-dns", - "libp2p-identify", - "libp2p-identity", - "libp2p-kad", - "libp2p-mdns", - "libp2p-metrics", - "libp2p-noise", - "libp2p-ping", - "libp2p-quic", - "libp2p-request-response", - "libp2p-swarm", - "libp2p-tcp", + "libp2p-allow-block-list 0.2.0", + "libp2p-connection-limits 0.2.1", + "libp2p-core 0.40.1", + "libp2p-dns 0.40.1", + "libp2p-identify 0.43.1", + "libp2p-identity 0.2.10", + "libp2p-kad 0.44.6", + "libp2p-mdns 0.44.0", + "libp2p-metrics 0.13.1", + "libp2p-noise 0.43.2", + "libp2p-ping 0.43.1", + "libp2p-quic 0.9.3", + "libp2p-request-response 0.25.3", + "libp2p-swarm 0.43.7", + "libp2p-tcp 0.40.1", "libp2p-upnp", "libp2p-wasm-ext", - "libp2p-websocket", - "libp2p-yamux", - "multiaddr 0.18.1", + "libp2p-websocket 0.42.2", + "libp2p-yamux 0.44.1", + "multiaddr 0.18.2", "pin-project", - "rw-stream-sink", + "rw-stream-sink 0.4.0", "thiserror", ] +[[package]] +name = "libp2p-allow-block-list" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" +dependencies = [ + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-swarm 0.42.2", + "void", +] + [[package]] name = "libp2p-allow-block-list" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" dependencies = [ - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm 0.43.7", "void", ] [[package]] name = "libp2p-connection-limits" -version = "0.2.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" +checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" dependencies = [ - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-swarm 0.42.2", + "void", +] + +[[package]] +name = "libp2p-connection-limits" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" +dependencies = [ + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm 0.43.7", + "void", +] + +[[package]] +name = "libp2p-core" +version = "0.39.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-identity 0.1.3", + "log", + "multiaddr 0.17.1", + "multihash 0.17.0", + "multistream-select 0.12.1", + "once_cell", + "parking_lot 0.12.3", + "pin-project", + "quick-protobuf", + "rand 0.8.5", + "rw-stream-sink 0.3.0", + "smallvec", + "thiserror", + "unsigned-varint 0.7.2", "void", ] @@ -4274,23 +3742,37 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-identity", + "libp2p-identity 0.2.10", "log", - "multiaddr 0.18.1", - "multihash 0.19.1", - "multistream-select", + "multiaddr 0.18.2", + "multihash 0.19.3", + "multistream-select 0.13.0", "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand", - "rw-stream-sink", + "rand 0.8.5", + "rw-stream-sink 0.4.0", "smallvec", "thiserror", "unsigned-varint 0.7.2", "void", ] +[[package]] +name = "libp2p-dns" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" +dependencies = [ + "futures", + "libp2p-core 0.39.2", + "log", + "parking_lot 0.12.3", + "smallvec", + "trust-dns-resolver 0.22.0", +] + [[package]] name = "libp2p-dns" version = "0.40.1" @@ -4299,12 +3781,34 @@ checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" dependencies = [ "async-trait", "futures", - "libp2p-core", - "libp2p-identity", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", "log", "parking_lot 0.12.3", "smallvec", - "trust-dns-resolver", + "trust-dns-resolver 0.23.2", +] + +[[package]] +name = "libp2p-identify" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" +dependencies = [ + "asynchronous-codec", + "either", + "futures", + "futures-timer", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-swarm 0.42.2", + "log", + "lru 0.10.1", + "quick-protobuf", + "quick-protobuf-codec 0.1.0", + "smallvec", + "thiserror", + "void", ] [[package]] @@ -4318,13 +3822,13 @@ dependencies = [ "futures", "futures-bounded", "futures-timer", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm 0.43.7", "log", - "lru", + "lru 0.12.5", "quick-protobuf", - "quick-protobuf-codec", + "quick-protobuf-codec 0.2.0", "smallvec", "thiserror", "void", @@ -4332,22 +3836,68 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.9" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" +dependencies = [ + "bs58 0.4.0", + "ed25519-dalek 2.1.1", + "log", + "multiaddr 0.17.1", + "multihash 0.17.0", + "quick-protobuf", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", + "zeroize", +] + +[[package]] +name = "libp2p-identity" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ "bs58 0.5.1", - "ed25519-dalek", + "ed25519-dalek 2.1.1", "hkdf", - "multihash 0.19.1", + "multihash 0.19.3", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2 0.10.8", "thiserror", "tracing", "zeroize", ] +[[package]] +name = "libp2p-kad" +version = "0.43.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" +dependencies = [ + "arrayvec", + "asynchronous-codec", + "bytes", + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-swarm 0.42.2", + "log", + "quick-protobuf", + "rand 0.8.5", + "sha2 0.10.8", + "smallvec", + "thiserror", + "uint", + "unsigned-varint 0.7.2", + "void", +] + [[package]] name = "libp2p-kad" version = "0.44.6" @@ -4362,13 +3912,13 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm 0.43.7", "log", "quick-protobuf", - "quick-protobuf-codec", - "rand", + "quick-protobuf-codec 0.2.0", + "rand 0.8.5", "sha2 0.10.8", "smallvec", "thiserror", @@ -4377,6 +3927,27 @@ dependencies = [ "void", ] +[[package]] +name = "libp2p-mdns" +version = "0.43.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" +dependencies = [ + "data-encoding", + "futures", + "if-watch", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-swarm 0.42.2", + "log", + "rand 0.8.5", + "smallvec", + "socket2 0.4.10", + "tokio", + "trust-dns-proto 0.22.0", + "void", +] + [[package]] name = "libp2p-mdns" version = "0.44.0" @@ -4386,18 +3957,32 @@ dependencies = [ "data-encoding", "futures", "if-watch", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm 0.43.7", "log", - "rand", + "rand 0.8.5", "smallvec", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "trust-dns-proto 0.22.0", "void", ] +[[package]] +name = "libp2p-metrics" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" +dependencies = [ + "libp2p-core 0.39.2", + "libp2p-identify 0.42.2", + "libp2p-kad 0.43.3", + "libp2p-ping 0.42.0", + "libp2p-swarm 0.42.2", + "prometheus-client 0.19.0", +] + [[package]] name = "libp2p-metrics" version = "0.13.1" @@ -4405,14 +3990,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" dependencies = [ "instant", - "libp2p-core", - "libp2p-identify", - "libp2p-identity", - "libp2p-kad", - "libp2p-ping", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-identify 0.43.1", + "libp2p-identity 0.2.10", + "libp2p-kad 0.44.6", + "libp2p-ping 0.43.1", + "libp2p-swarm 0.43.7", + "once_cell", + "prometheus-client 0.21.2", +] + +[[package]] +name = "libp2p-noise" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" +dependencies = [ + "bytes", + "curve25519-dalek 3.2.0", + "futures", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "log", "once_cell", - "prometheus-client", + "quick-protobuf", + "rand 0.8.5", + "sha2 0.10.8", + "snow", + "static_assertions", + "thiserror", + "x25519-dalek 1.1.1", + "zeroize", ] [[package]] @@ -4422,24 +4030,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" dependencies = [ "bytes", - "curve25519-dalek", + "curve25519-dalek 4.1.3", "futures", - "libp2p-core", - "libp2p-identity", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", "log", - "multiaddr 0.18.1", - "multihash 0.19.1", + "multiaddr 0.18.2", + "multihash 0.19.3", "once_cell", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2 0.10.8", "snow", "static_assertions", "thiserror", - "x25519-dalek", + "x25519-dalek 2.0.1", "zeroize", ] +[[package]] +name = "libp2p-ping" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" +dependencies = [ + "either", + "futures", + "futures-timer", + "instant", + "libp2p-core 0.39.2", + "libp2p-swarm 0.42.2", + "log", + "rand 0.8.5", + "void", +] + [[package]] name = "libp2p-ping" version = "0.43.1" @@ -4450,14 +4075,36 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm 0.43.7", "log", - "rand", + "rand 0.8.5", "void", ] +[[package]] +name = "libp2p-quic" +version = "0.7.0-alpha.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "if-watch", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-tls 0.1.0", + "log", + "parking_lot 0.12.3", + "quinn-proto 0.9.6", + "rand 0.8.5", + "rustls 0.20.9", + "thiserror", + "tokio", +] + [[package]] name = "libp2p-quic" version = "0.9.3" @@ -4468,20 +4115,36 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core", - "libp2p-identity", - "libp2p-tls", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-tls 0.2.1", "log", "parking_lot 0.12.3", "quinn 0.10.2", - "rand", + "rand 0.8.5", "ring 0.16.20", - "rustls 0.21.7", - "socket2 0.5.7", + "rustls 0.21.12", + "socket2 0.5.8", "thiserror", "tokio", ] +[[package]] +name = "libp2p-request-response" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" +dependencies = [ + "async-trait", + "futures", + "instant", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-swarm 0.42.2", + "rand 0.8.5", + "smallvec", +] + [[package]] name = "libp2p-request-response" version = "0.25.3" @@ -4491,12 +4154,33 @@ dependencies = [ "async-trait", "futures", "instant", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm 0.43.7", + "log", + "rand 0.8.5", + "smallvec", + "void", +] + +[[package]] +name = "libp2p-swarm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "libp2p-swarm-derive 0.32.0", "log", - "rand", + "rand 0.8.5", "smallvec", + "tokio", "void", ] @@ -4511,18 +4195,29 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm-derive", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", + "libp2p-swarm-derive 0.33.0", "log", - "multistream-select", + "multistream-select 0.13.0", "once_cell", - "rand", + "rand 0.8.5", "smallvec", "tokio", "void", ] +[[package]] +name = "libp2p-swarm-derive" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" +dependencies = [ + "heck 0.4.1", + "quote", + "syn 1.0.109", +] + [[package]] name = "libp2p-swarm-derive" version = "0.33.0" @@ -4533,7 +4228,23 @@ dependencies = [ "proc-macro-warning 0.4.2", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", +] + +[[package]] +name = "libp2p-tcp" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" +dependencies = [ + "futures", + "futures-timer", + "if-watch", + "libc", + "libp2p-core 0.39.2", + "log", + "socket2 0.4.10", + "tokio", ] [[package]] @@ -4546,13 +4257,32 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core", - "libp2p-identity", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", "log", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", ] +[[package]] +name = "libp2p-tls" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" +dependencies = [ + "futures", + "futures-rustls 0.22.2", + "libp2p-core 0.39.2", + "libp2p-identity 0.1.3", + "rcgen", + "ring 0.16.20", + "rustls 0.20.9", + "thiserror", + "webpki", + "x509-parser 0.14.0", + "yasna", +] + [[package]] name = "libp2p-tls" version = "0.2.1" @@ -4560,12 +4290,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" dependencies = [ "futures", - "futures-rustls", - "libp2p-core", - "libp2p-identity", + "futures-rustls 0.24.0", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", "rcgen", "ring 0.16.20", - "rustls 0.21.7", + "rustls 0.21.12", "rustls-webpki", "thiserror", "x509-parser 0.15.1", @@ -4581,8 +4311,8 @@ dependencies = [ "futures", "futures-timer", "igd-next", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.40.1", + "libp2p-swarm 0.43.7", "log", "tokio", "void", @@ -4596,12 +4326,31 @@ checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" dependencies = [ "futures", "js-sys", - "libp2p-core", + "libp2p-core 0.40.1", "send_wrapper", "wasm-bindgen", "wasm-bindgen-futures", ] +[[package]] +name = "libp2p-websocket" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" +dependencies = [ + "either", + "futures", + "futures-rustls 0.22.2", + "libp2p-core 0.39.2", + "log", + "parking_lot 0.12.3", + "quicksink", + "rw-stream-sink 0.3.0", + "soketto 0.7.1", + "url", + "webpki-roots 0.22.6", +] + [[package]] name = "libp2p-websocket" version = "0.42.2" @@ -4610,17 +4359,30 @@ checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" dependencies = [ "either", "futures", - "futures-rustls", - "libp2p-core", - "libp2p-identity", + "futures-rustls 0.24.0", + "libp2p-core 0.40.1", + "libp2p-identity 0.2.10", "log", "parking_lot 0.12.3", - "pin-project-lite", - "rw-stream-sink", - "soketto", + "pin-project-lite 0.2.15", + "rw-stream-sink 0.4.0", + "soketto 0.8.1", "thiserror", "url", - "webpki-roots", + "webpki-roots 0.25.4", +] + +[[package]] +name = "libp2p-yamux" +version = "0.43.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" +dependencies = [ + "futures", + "libp2p-core 0.39.2", + "log", + "thiserror", + "yamux 0.10.2", ] [[package]] @@ -4630,10 +4392,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" dependencies = [ "futures", - "libp2p-core", + "libp2p-core 0.40.1", "log", "thiserror", - "yamux", + "yamux 0.12.1", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall 0.5.8", ] [[package]] @@ -4664,7 +4437,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand", + "rand 0.8.5", "serde", "sha2 0.9.9", "typenum", @@ -4678,7 +4451,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -4700,21 +4473,10 @@ dependencies = [ ] [[package]] -name = "libsqlite3-sys" -version = "0.27.0" +name = "libz-sys" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libz-sys" -version = "1.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "pkg-config", @@ -4747,9 +4509,9 @@ dependencies = [ [[package]] name = "linregress" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de0b5f52a9f84544d268f5fabb71b38962d6aa3c6600b8bcd27d44ccf9c9c45" +checksum = "a9eda9dcf4f2a99787827661f312ac3219292549c2ee992bf9a6248ffb066bf7" dependencies = [ "nalgebra", ] @@ -4762,9 +4524,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lioness" @@ -4778,6 +4540,67 @@ dependencies = [ "keystream", ] +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + +[[package]] +name = "litep2p" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b53e78902be9d0d77df70677242b7fc9815a33a168949b5480ee089e16535e7" +dependencies = [ + "async-trait", + "bs58 0.4.0", + "bytes", + "cid 0.10.1", + "ed25519-dalek 1.0.1", + "futures", + "futures-timer", + "hex-literal", + "indexmap 2.7.0", + "libc", + "mockall 0.11.4", + "multiaddr 0.17.1", + "multihash 0.17.0", + "network-interface", + "nohash-hasher", + "parking_lot 0.12.3", + "pin-project", + "prost 0.11.9", + "prost-build 0.11.9", + "quinn 0.9.4", + "rand 0.8.5", + "rcgen", + "ring 0.16.20", + "rustls 0.20.9", + "serde", + "sha2 0.10.8", + "simple-dns", + "smallvec", + "snow", + "socket2 0.5.8", + "static_assertions", + "str0m 0.2.0", + "thiserror", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tokio-util", + "tracing", + "trust-dns-resolver 0.23.2", + "uint", + "unsigned-varint 0.7.2", + "url", + "webpki", + "x25519-dalek 2.0.1", + "x509-parser 0.15.1", + "yasna", + "zeroize", +] + [[package]] name = "litep2p" version = "0.6.2" @@ -4788,11 +4611,11 @@ dependencies = [ "bs58 0.4.0", "bytes", "cid 0.10.1", - "ed25519-dalek", + "ed25519-dalek 2.1.1", "futures", "futures-timer", "hex-literal", - "indexmap 2.0.0", + "indexmap 2.7.0", "libc", "mockall 0.12.1", "multiaddr 0.17.1", @@ -4804,30 +4627,30 @@ dependencies = [ "prost 0.12.6", "prost-build 0.11.9", "quinn 0.9.4", - "rand", + "rand 0.8.5", "rcgen", "ring 0.16.20", - "rustls 0.20.8", + "rustls 0.20.9", "serde", "sha2 0.10.8", "simple-dns", "smallvec", "snow", - "socket2 0.5.7", + "socket2 0.5.8", "static_assertions", - "str0m", + "str0m 0.5.1", "thiserror", "tokio", "tokio-stream", "tokio-tungstenite", "tokio-util", "tracing", - "trust-dns-resolver", + "trust-dns-resolver 0.23.2", "uint", "unsigned-varint 0.8.0", "url", "webpki", - "x25519-dalek", + "x25519-dalek 2.0.1", "x509-parser 0.16.0", "yasna", "zeroize", @@ -4835,9 +4658,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -4851,11 +4674,20 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.12.4" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" +dependencies = [ + "hashbrown 0.13.2", +] + +[[package]] +name = "lru" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.15.2", ] [[package]] @@ -4869,19 +4701,18 @@ dependencies = [ [[package]] name = "lz4" -version = "1.24.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" dependencies = [ - "libc", "lz4-sys", ] [[package]] name = "lz4-sys" -version = "1.9.4" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ "cc", "libc", @@ -4905,7 +4736,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -4919,7 +4750,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -4930,7 +4761,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -4941,31 +4772,9 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.82", + "syn 2.0.90", ] -[[package]] -name = "macrotest" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2035deb453578ff1cd2da2761ac78abbffffd1d06a0f59261c082ea713fdad" -dependencies = [ - "basic-toml", - "diff", - "glob", - "prettyplease 0.2.24", - "serde", - "serde_derive", - "serde_json", - "syn 2.0.82", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - [[package]] name = "match_cfg" version = "0.1.0" @@ -4989,9 +4798,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" dependencies = [ "autocfg", "rawpointer", @@ -5009,7 +4818,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.31", + "rustix 0.38.42", ] [[package]] @@ -5023,9 +4832,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", ] @@ -5039,15 +4848,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" version = "0.32.0" @@ -5079,7 +4879,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core", + "rand_core 0.6.4", "zeroize", ] @@ -5091,22 +4891,21 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -5121,16 +4920,16 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek", + "curve25519-dalek 4.1.3", "either", "hashlink", "lioness", "log", "parking_lot 0.12.3", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_distr", - "subtle 2.4.1", + "subtle 2.6.1", "thiserror", "zeroize", ] @@ -5186,7 +4985,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -5210,20 +5009,20 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ "arrayref", "byteorder", "data-encoding", - "libp2p-identity", + "libp2p-identity 0.2.10", "multibase", - "multihash 0.19.1", + "multihash 0.19.3", "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", "url", ] @@ -5274,12 +5073,12 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.1" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" dependencies = [ "core2", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", ] [[package]] @@ -5302,6 +5101,26 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + +[[package]] +name = "multistream-select" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" +dependencies = [ + "bytes", + "futures", + "log", + "pin-project", + "smallvec", + "unsigned-varint 0.7.2", +] + [[package]] name = "multistream-select" version = "0.13.0" @@ -5318,13 +5137,12 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.3" +version = "0.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" +checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" dependencies = [ "approx", "matrixmultiply", - "nalgebra-macros", "num-complex", "num-rational", "num-traits", @@ -5332,61 +5150,22 @@ dependencies = [ "typenum", ] -[[package]] -name = "nalgebra-macros" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "names" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" -dependencies = [ - "rand", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "netlink-packet-core" -version = "0.4.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297" +checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" dependencies = [ "anyhow", "byteorder", - "libc", "netlink-packet-utils", ] [[package]] name = "netlink-packet-route" -version = "0.12.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" +checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66" dependencies = [ "anyhow", "bitflags 1.3.2", @@ -5410,9 +5189,9 @@ dependencies = [ [[package]] name = "netlink-proto" -version = "0.10.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" +checksum = "86b33524dc0968bfad349684447bfce6db937a9ac3332a1fe60c0c5a5ce63f21" dependencies = [ "bytes", "futures", @@ -5425,9 +5204,9 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" +checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" dependencies = [ "bytes", "futures", @@ -5450,9 +5229,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.3" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if", @@ -5509,25 +5288,11 @@ dependencies = [ "winapi", ] -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -5542,6 +5307,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-format" version = "0.4.4" @@ -5561,17 +5332,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.2" @@ -5599,31 +5359,10 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.82", -] - [[package]] name = "object" version = "0.30.4" @@ -5645,6 +5384,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.36.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +dependencies = [ + "memchr", +] + [[package]] name = "oid-registry" version = "0.6.1" @@ -5656,418 +5404,116 @@ dependencies = [ [[package]] name = "oid-registry" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c958dd45046245b9c3c2547369bb634eb461670b2e7e0de552905801a648d1d" +checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" dependencies = [ "asn1-rs 0.6.2", ] [[package]] name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "openssl" -version = "0.10.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" -dependencies = [ - "bitflags 2.4.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.82", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-src" -version = "300.2.3+3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "pallet-aura" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b31da6e794d655d1f9c4da6557a57399538d75905a7862a2ed3f7e5fb711d7e4" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-aura", - "sp-runtime", -] - -[[package]] -name = "pallet-authorship" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625d47577cabbe1318ccec5d612e2379002d1b6af1ab6edcef3243c66ec246df" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime", -] - -[[package]] -name = "pallet-babe" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee096c0def13832475b340d00121025e0225de29604d44bc6dfcaa294c995b4" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-babe", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", -] - -[[package]] -name = "pallet-balances" -version = "39.0.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6945b078919acb14d126490e4b0973a688568b30142476ca69c6df2bed27ad" -dependencies = [ - "docify", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime", -] - -[[package]] -name = "pallet-base-fee" -version = "1.0.0" -dependencies = [ - "fp-evm", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-dynamic-fee" -version = "4.0.0-dev" -dependencies = [ - "fp-dynamic-fee", - "fp-evm", - "frame-support", - "frame-system", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", -] +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] -name = "pallet-ethereum" -version = "4.0.0-dev" -dependencies = [ - "ethereum", - "ethereum-types", - "evm", - "fp-consensus", - "fp-ethereum", - "fp-evm", - "fp-rpc", - "fp-self-contained", - "fp-storage", - "frame-support", - "frame-system", - "hex", - "libsecp256k1", - "pallet-balances", - "pallet-evm", - "pallet-timestamp", - "parity-scale-codec", - "rlp", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-version", -] - -[[package]] -name = "pallet-evm" -version = "6.0.0-dev" -dependencies = [ - "environmental", - "evm", - "fp-account", - "fp-evm", - "frame-benchmarking", - "frame-support", - "frame-system", - "hash-db", - "hex", - "hex-literal", - "impl-trait-for-tuples", - "log", - "pallet-balances", - "pallet-evm-precompile-simple", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-evm-chain-id" -version = "1.0.0-dev" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "pallet-evm-precompile-blake2" -version = "2.0.0-dev" -dependencies = [ - "fp-evm", - "pallet-evm-test-vector-support", -] - -[[package]] -name = "pallet-evm-precompile-bls12377" -version = "1.0.0-dev" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-std", - "fp-evm", - "pallet-evm-test-vector-support", - "paste", -] - -[[package]] -name = "pallet-evm-precompile-bls12381" -version = "1.0.0-dev" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-std", - "fp-evm", - "pallet-evm-test-vector-support", -] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] -name = "pallet-evm-precompile-bn128" -version = "2.0.0-dev" -dependencies = [ - "fp-evm", - "pallet-evm-test-vector-support", - "sp-core", - "substrate-bn", -] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] -name = "pallet-evm-precompile-bw6761" -version = "1.0.0-dev" +name = "openssl" +version = "0.10.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "ark-bw6-761", - "ark-ec", - "ark-ff", - "ark-std", - "fp-evm", - "pallet-evm-test-vector-support", + "bitflags 2.6.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "pallet-evm-precompile-curve25519" -version = "1.0.0-dev" +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "curve25519-dalek", - "fp-evm", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] -name = "pallet-evm-precompile-dispatch" -version = "2.0.0-dev" -dependencies = [ - "fp-evm", - "frame-support", - "frame-system", - "pallet-balances", - "pallet-evm", - "pallet-timestamp", - "pallet-utility", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", -] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "pallet-evm-precompile-ed25519" -version = "2.0.0-dev" +name = "openssl-src" +version = "300.4.1+3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" dependencies = [ - "ed25519-dalek", - "fp-evm", + "cc", ] [[package]] -name = "pallet-evm-precompile-modexp" -version = "2.0.0-dev" +name = "openssl-sys" +version = "0.9.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ - "fp-evm", - "hex", - "num", - "pallet-evm-test-vector-support", + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", ] [[package]] -name = "pallet-evm-precompile-sha3fips" -version = "2.0.0-dev" -dependencies = [ - "fp-evm", - "tiny-keccak", -] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] -name = "pallet-evm-precompile-simple" -version = "2.0.0-dev" -dependencies = [ - "fp-evm", - "pallet-evm-test-vector-support", - "ripemd", - "sp-io", -] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] -name = "pallet-evm-precompile-storage-cleaner" -version = "0.1.0" +name = "pallet-authorship" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625d47577cabbe1318ccec5d612e2379002d1b6af1ab6edcef3243c66ec246df" dependencies = [ - "fp-evm", "frame-support", "frame-system", - "pallet-balances", - "pallet-evm", - "pallet-timestamp", - "pallet-utility", + "impl-trait-for-tuples", "parity-scale-codec", - "precompile-utils", - "rlp", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-evm-test-vector-support" -version = "1.0.0-dev" -dependencies = [ - "evm", - "fp-evm", - "hex", - "serde", - "serde_json", - "sp-core", + "sp-runtime 39.0.3", ] [[package]] -name = "pallet-grandpa" +name = "pallet-babe" version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3a570a4aac3173ea46b600408183ca2bcfdaadc077f802f11e6055963e2449" +checksum = "4ee096c0def13832475b340d00121025e0225de29604d44bc6dfcaa294c995b4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6075,30 +5521,32 @@ dependencies = [ "log", "pallet-authorship", "pallet-session", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-consensus-grandpa", - "sp-core", - "sp-io", - "sp-runtime", + "sp-application-crypto 38.0.0", + "sp-consensus-babe", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.3", "sp-session", "sp-staking", ] [[package]] -name = "pallet-hotfix-sufficients" -version = "1.0.0" +name = "pallet-balances" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6945b078919acb14d126490e4b0973a688568b30142476ca69c6df2bed27ad" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", - "pallet-evm", + "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-runtime 39.0.3", ] [[package]] @@ -6114,29 +5562,13 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.3", "sp-session", "sp-staking", - "sp-state-machine", - "sp-trie", -] - -[[package]] -name = "pallet-sudo" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1574fe2aed3d52db4a389b77b53d8c9758257b121e3e7bbe24c4904e11681e0e" -dependencies = [ - "docify", - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io", - "sp-runtime", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", ] [[package]] @@ -6152,75 +5584,13 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-inherents 34.0.0", + "sp-io 38.0.0", + "sp-runtime 39.0.3", "sp-storage", "sp-timestamp", ] -[[package]] -name = "pallet-transaction-payment" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b1aa3498107a30237f941b0f02180db3b79012c3488878ff01a4ac3e8ee04e" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-transaction-payment-rpc" -version = "41.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291a021e6828d43b5165042d31691c5c20b5748ea8d5fc51e0359752482a04c2" -dependencies = [ - "jsonrpsee", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-weights", -] - -[[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49fdf5ab71e9dbcadcf7139736b6ea6bac8ec4a83985d46cbd130e1eec770e41" -dependencies = [ - "pallet-transaction-payment", - "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-weights", -] - -[[package]] -name = "pallet-utility" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fdcade6efc0b66fc7fc4138964802c02d0ffb7380d894e26b9dd5073727d2b3" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", -] - [[package]] name = "parity-bip39" version = "2.0.1" @@ -6228,8 +5598,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" dependencies = [ "bitcoin_hashes", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "serde", "unicode-normalization", ] @@ -6249,7 +5619,7 @@ dependencies = [ "lz4", "memmap2 0.5.10", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "siphasher", "snap", "winapi", @@ -6276,7 +5646,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", @@ -6290,9 +5660,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -6312,7 +5682,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -6331,15 +5701,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.8", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -6355,8 +5725,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ "base64ct", - "rand_core", - "subtle 2.4.1", + "rand_core 0.6.4", + "subtle 2.6.1", ] [[package]] @@ -6396,86 +5766,47 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pest" -version = "2.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" -dependencies = [ - "memchr", - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn 2.0.82", -] - -[[package]] -name = "pest_meta" -version = "2.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a" -dependencies = [ - "once_cell", - "pest", - "sha2 0.10.8", -] - [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 1.9.3", + "indexmap 2.7.0", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" + +[[package]] +name = "pin-project-lite" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -6495,9 +5826,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "polkavm" @@ -6548,7 +5879,7 @@ dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -6558,7 +5889,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -6568,7 +5899,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39" dependencies = [ "gimli 0.28.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "log", "object 0.32.2", "polkavm-common", @@ -6584,129 +5915,61 @@ checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120" [[package]] name = "polling" -version = "3.3.2" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", - "pin-project-lite", - "rustix 0.38.31", + "hermit-abi 0.4.0", + "pin-project-lite 0.2.15", + "rustix 0.38.42", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "poly1305" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.4.1", + "opaque-debug 0.3.1", + "universal-hash", ] [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.4.1", + "opaque-debug 0.3.1", + "universal-hash", ] [[package]] -name = "polyval" -version = "0.6.1" +name = "portable-atomic" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.5.1", -] +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" [[package]] -name = "portable-atomic" -version = "1.6.0" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "precompile-utils" -version = "0.1.0" -dependencies = [ - "derive_more", - "environmental", - "evm", - "fp-evm", - "frame-support", - "frame-system", - "hex", - "hex-literal", - "impl-trait-for-tuples", - "log", - "num_enum", - "pallet-evm", - "parity-scale-codec", - "precompile-utils-macro", - "scale-info", - "serde", - "similar-asserts", - "sp-core", - "sp-io", - "sp-runtime", - "sp-weights", - "staging-xcm", -] - -[[package]] -name = "precompile-utils-macro" -version = "0.1.0" -dependencies = [ - "case", - "fp-evm", - "frame-support", - "macrotest", - "num_enum", - "precompile-utils", - "prettyplease 0.2.24", - "proc-macro2", - "quote", - "sp-crypto-hashing", - "syn 1.0.109", - "trybuild", -] - -[[package]] -name = "precompile-utils-tests-external" -version = "0.1.0" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "evm", - "fp-evm", - "frame-support", - "frame-system", - "hex-literal", - "pallet-balances", - "pallet-evm", - "pallet-timestamp", - "parity-scale-codec", - "precompile-utils", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "zerocopy", ] [[package]] @@ -6735,15 +5998,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" dependencies = [ "predicates-core", "termtree", @@ -6761,23 +6024,22 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "910d41a655dac3b764f1ade94821093d3610248694320cd072303a8eedcf221d" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "primitive-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", - "impl-rlp", "impl-serde", "scale-info", "uint", @@ -6795,11 +6057,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.21.0", + "toml_edit", ] [[package]] @@ -6826,12 +6088,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - [[package]] name = "proc-macro-warning" version = "0.4.2" @@ -6840,7 +6096,7 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -6851,7 +6107,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -6874,7 +6130,19 @@ dependencies = [ "lazy_static", "memchr", "parking_lot 0.12.3", - "thiserror", + "thiserror", +] + +[[package]] +name = "prometheus-client" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" +dependencies = [ + "dtoa", + "itoa", + "parking_lot 0.12.3", + "prometheus-client-derive-encode", ] [[package]] @@ -6891,27 +6159,13 @@ dependencies = [ [[package]] name = "prometheus-client-derive-encode" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b6a5217beb0ad503ee7fa752d451c905113d70721b937126158f3106a48cc1" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "proptest" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" -dependencies = [ - "bitflags 2.4.0", - "num-traits", - "rand", - "rand_chacha", - "rand_xorshift", - "unarray", + "syn 2.0.90", ] [[package]] @@ -6945,7 +6199,7 @@ dependencies = [ "itertools 0.10.5", "lazy_static", "log", - "multimap", + "multimap 0.8.3", "petgraph", "prettyplease 0.1.25", "prost 0.11.9", @@ -6963,17 +6217,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck 0.4.1", - "itertools 0.11.0", + "heck 0.5.0", + "itertools 0.12.1", "log", - "multimap", + "multimap 0.10.0", "once_cell", "petgraph", - "prettyplease 0.2.24", + "prettyplease 0.2.25", "prost 0.12.6", "prost-types 0.12.6", "regex", - "syn 2.0.82", + "syn 2.0.90", "tempfile", ] @@ -6997,10 +6251,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -7023,24 +6277,24 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.21" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" dependencies = [ "cc", ] [[package]] name = "quanta" -version = "0.12.2" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca0b7bac0b97248c40bb77288fc52029cf1459c0461ea1b05ee32ccf011de2c" +checksum = "773ce68d0bb9bc7ef20be3536ffe94e223e1f365bd374108b2659fac0c65cfe6" dependencies = [ "crossbeam-utils", "libc", "once_cell", "raw-cpuid", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -7060,6 +6314,19 @@ dependencies = [ "byteorder", ] +[[package]] +name = "quick-protobuf-codec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" +dependencies = [ + "asynchronous-codec", + "bytes", + "quick-protobuf", + "thiserror", + "unsigned-varint 0.7.2", +] + [[package]] name = "quick-protobuf-codec" version = "0.2.0" @@ -7073,6 +6340,17 @@ dependencies = [ "unsigned-varint 0.7.2", ] +[[package]] +name = "quicksink" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project-lite 0.1.12", +] + [[package]] name = "quinn" version = "0.9.4" @@ -7080,11 +6358,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ "bytes", - "pin-project-lite", - "quinn-proto 0.9.5", + "pin-project-lite 0.2.15", + "quinn-proto 0.9.6", "quinn-udp 0.3.2", "rustc-hash 1.1.0", - "rustls 0.20.8", + "rustls 0.20.9", "thiserror", "tokio", "tracing", @@ -7099,11 +6377,11 @@ checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" dependencies = [ "bytes", "futures-io", - "pin-project-lite", + "pin-project-lite 0.2.15", "quinn-proto 0.10.6", "quinn-udp 0.4.1", "rustc-hash 1.1.0", - "rustls 0.21.7", + "rustls 0.21.12", "thiserror", "tokio", "tracing", @@ -7111,15 +6389,15 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c956be1b23f4261676aed05a0046e204e8a6836e50203902683a718af0797989" +checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "ring 0.16.20", "rustc-hash 1.1.0", - "rustls 0.20.8", + "rustls 0.20.9", "slab", "thiserror", "tinyvec", @@ -7134,10 +6412,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "ring 0.16.20", "rustc-hash 1.1.0", - "rustls 0.21.7", + "rustls 0.21.12", "slab", "thiserror", "tinyvec", @@ -7151,8 +6429,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" dependencies = [ "libc", - "quinn-proto 0.9.5", - "socket2 0.4.9", + "quinn-proto 0.9.6", + "socket2 0.4.10", "tracing", "windows-sys 0.42.0", ] @@ -7165,7 +6443,7 @@ checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ "bytes", "libc", - "socket2 0.5.7", + "socket2 0.5.8", "tracing", "windows-sys 0.48.0", ] @@ -7185,6 +6463,19 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + [[package]] name = "rand" version = "0.8.5" @@ -7192,8 +6483,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", ] [[package]] @@ -7203,7 +6504,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", ] [[package]] @@ -7212,7 +6522,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -7222,34 +6532,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] -name = "rand_pcg" -version = "0.3.1" +name = "rand_hc" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core", + "rand_core 0.5.1", ] [[package]] -name = "rand_xorshift" -version = "0.3.0" +name = "rand_pcg" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "raw-cpuid" -version = "11.0.1" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", ] [[package]] @@ -7260,9 +6570,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -7270,14 +6580,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -7303,21 +6611,21 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", - "redox_syscall 0.2.16", + "getrandom 0.2.15", + "libredox", "thiserror", ] @@ -7338,7 +6646,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -7368,14 +6676,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -7389,13 +6697,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -7406,9 +6714,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "resolv-conf" @@ -7427,7 +6735,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -7447,47 +6755,17 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.3" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", - "getrandom", + "cfg-if", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", - "windows-sys 0.48.0", -] - -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "rlp" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" -dependencies = [ - "bytes", - "rlp-derive", - "rustc-hex", -] - -[[package]] -name = "rlp-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "windows-sys 0.52.0", ] [[package]] @@ -7506,47 +6784,29 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" -[[package]] -name = "rpassword" -version = "7.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.48.0", -] - [[package]] name = "rtnetlink" -version = "0.10.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" +checksum = "7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0" dependencies = [ "futures", "log", + "netlink-packet-core", "netlink-packet-route", + "netlink-packet-utils", "netlink-proto", + "netlink-sys", "nix", "thiserror", "tokio", ] -[[package]] -name = "rtoolbox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -7556,9 +6816,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" [[package]] name = "rustc-hex" @@ -7568,11 +6828,11 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.18", + "semver 1.0.24", ] [[package]] @@ -7600,23 +6860,24 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.31" +version = "0.38.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.13", - "windows-sys 0.52.0", + "linux-raw-sys 0.4.14", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" dependencies = [ + "log", "ring 0.16.20", "sct", "webpki", @@ -7624,12 +6885,12 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.16.20", + "ring 0.17.8", "rustls-webpki", "sct", ] @@ -7648,28 +6909,39 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.2", + "base64 0.21.7", ] [[package]] name = "rustls-webpki" -version = "0.101.4" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" + +[[package]] +name = "rw-stream-sink" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" +dependencies = [ + "futures", + "pin-project", + "static_assertions", +] [[package]] name = "rw-stream-sink" @@ -7684,15 +6956,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe_arch" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" +checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" dependencies = [ "bytemuck", ] @@ -7708,37 +6980,26 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "29.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b975ee3a95eaacb611e7b415737a7fa2db4d8ad7b880cc1b97371b04e95c7903" +checksum = "97e78771bbc491d4d601afbbf01f5718d6d724d0d971c8581cf5b4c62a9502f7" dependencies = [ "log", - "sp-core", + "sp-core 32.0.0", "sp-wasm-interface", "thiserror", ] [[package]] -name = "sc-basic-authorship" -version = "0.45.0" +name = "sc-allocator" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3f4152eda19b140abc876a3b7434fce27c4c8cd47eff4095af0398d82f8141" +checksum = "b975ee3a95eaacb611e7b415737a7fa2db4d8ad7b880cc1b97371b04e95c7903" dependencies = [ - "futures", - "futures-timer", "log", - "parity-scale-codec", - "sc-block-builder", - "sc-proposer-metrics", - "sc-telemetry", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-core 34.0.0", + "sp-wasm-interface", + "thiserror", ] [[package]] @@ -7748,13 +7009,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f666f8ff11f96bf6d90676739eb7ccb6a156a4507634b7af83b94f0aa8195a50" dependencies = [ "parity-scale-codec", - "sp-api", + "sp-api 34.0.0", "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", + "sp-inherents 34.0.0", + "sp-runtime 39.0.3", + "sp-trie 37.0.0", ] [[package]] @@ -7766,22 +7027,22 @@ dependencies = [ "array-bytes", "docify", "log", - "memmap2 0.9.4", + "memmap2 0.9.5", "parity-scale-codec", "sc-chain-spec-derive", - "sc-client-api", - "sc-executor", - "sc-network", + "sc-client-api 37.0.0", + "sc-executor 0.40.1", + "sc-network 0.45.1", "sc-telemetry", "serde", "serde_json", - "sp-blockchain", - "sp-core", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", "sp-crypto-hashing", "sp-genesis-builder", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 38.0.0", + "sp-runtime 39.0.3", + "sp-state-machine 0.43.0", "sp-tracing", ] @@ -7791,318 +7052,168 @@ version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b18cef11d2c69703e0d7c3528202ef4ed1cd2b47a6f063e9e17cad8255b1fa94" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", -] - -[[package]] -name = "sc-cli" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55a161ee7bf9d571c567f208b89ef4f2fd3c082180a54399403f7fdc44e94da5" -dependencies = [ - "array-bytes", - "chrono", - "clap", - "fdlimit", - "futures", - "itertools 0.11.0", - "libp2p-identity", - "log", - "names", - "parity-bip39", - "parity-scale-codec", - "rand", - "regex", - "rpassword", - "sc-client-api", - "sc-client-db", - "sc-keystore", - "sc-mixnet", - "sc-network", - "sc-service", - "sc-telemetry", - "sc-tracing", - "sc-utils", - "serde", - "serde_json", - "sp-blockchain", - "sp-core", - "sp-keyring", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", - "sp-version", - "thiserror", - "tokio", + "syn 2.0.90", ] [[package]] name = "sc-client-api" -version = "37.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e73f1673cdfe658c4be6ffd5113b71c0de74616717e604455dcfd29e15781729" +checksum = "cec1bf37389619d861680f7da315ac5a815e5cd924ec9a0adb86e4ba4aac7c99" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-executor", - "sc-transaction-pool-api", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-externalities", - "sp-runtime", - "sp-state-machine", - "sp-statement-store", - "sp-storage", - "sp-trie", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-client-db" -version = "0.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5517718f03357325c6f51a780710fac652f125316f3577d1a25a7fbdc1816db2" -dependencies = [ - "hash-db", - "kvdb", - "kvdb-memorydb", - "kvdb-rocksdb", - "linked-hash-map", - "log", - "parity-db", - "parity-scale-codec", - "parking_lot 0.12.3", - "sc-client-api", - "sc-state-db", - "schnellru", - "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", -] - -[[package]] -name = "sc-consensus" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64e538ab9edefbf0ddc105ff5b088344c88bc86f21650a2d2020be04a957730" -dependencies = [ - "async-trait", - "futures", - "log", - "mockall 0.11.4", - "parking_lot 0.12.3", - "sc-client-api", - "sc-network-types", + "sc-executor 0.37.0", + "sc-transaction-pool-api 33.0.0", "sc-utils", - "serde", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", - "substrate-prometheus-endpoint", - "thiserror", -] - -[[package]] -name = "sc-consensus-aura" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "067552bcf461c0089272b2575b2ac512fd8ca7a7bd7098aee49ccc4d67041787" -dependencies = [ - "async-trait", - "futures", - "log", - "parity-scale-codec", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-consensus-slots", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", + "sp-api 31.0.0", + "sp-blockchain 33.0.0", + "sp-consensus 0.37.0", + "sp-core 32.0.0", + "sp-database", + "sp-externalities 0.28.0", + "sp-runtime 36.0.0", + "sp-state-machine 0.40.0", + "sp-statement-store 15.0.0", + "sp-storage", + "sp-trie 34.0.0", "substrate-prometheus-endpoint", - "thiserror", ] [[package]] -name = "sc-consensus-babe" -version = "0.45.0" +name = "sc-client-api" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39a6aecbb63f5e046c83055d656cf9f203715b38e000ae0df157461582c90eba" +checksum = "e73f1673cdfe658c4be6ffd5113b71c0de74616717e604455dcfd29e15781729" dependencies = [ - "async-trait", - "fork-tree", + "fnv", "futures", "log", - "num-bigint", - "num-rational", - "num-traits", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api", - "sc-consensus", - "sc-consensus-epochs", - "sc-consensus-slots", - "sc-telemetry", - "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-core", - "sp-crypto-hashing", - "sp-inherents", - "sp-keystore", - "sp-runtime", + "sc-executor 0.40.1", + "sc-transaction-pool-api 37.0.0", + "sc-utils", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-consensus 0.40.0", + "sp-core 34.0.0", + "sp-database", + "sp-externalities 0.29.0", + "sp-runtime 39.0.3", + "sp-state-machine 0.43.0", + "sp-statement-store 18.0.0", + "sp-storage", + "sp-trie 37.0.0", "substrate-prometheus-endpoint", - "thiserror", ] [[package]] -name = "sc-consensus-epochs" -version = "0.44.0" +name = "sc-client-db" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3634e8f5dfc397e0d3fc8e3a714c21338eacb3ed276089a6df47e7aa926d51d4" +checksum = "5517718f03357325c6f51a780710fac652f125316f3577d1a25a7fbdc1816db2" dependencies = [ - "fork-tree", + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "linked-hash-map", + "log", + "parity-db", "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sp-blockchain", - "sp-runtime", + "parking_lot 0.12.3", + "sc-client-api 37.0.0", + "sc-state-db", + "schnellru", + "sp-arithmetic", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", + "sp-database", + "sp-runtime 39.0.3", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", ] [[package]] -name = "sc-consensus-grandpa" -version = "0.30.0" +name = "sc-consensus" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3aaab70cf6f93ceea829ef0a4980ce95d84d5c7f4b5419b29bbed17fa04e1a6" +checksum = "0178e3ef8d317456e352466a9c5d3b6d9b5861a64b43c01ab62435e24fc68a51" dependencies = [ - "ahash", - "array-bytes", "async-trait", - "dyn-clone", - "finality-grandpa", - "fork-tree", "futures", "futures-timer", "log", - "parity-scale-codec", + "mockall 0.11.4", "parking_lot 0.12.3", - "rand", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-gossip", - "sc-network-sync", - "sc-network-types", - "sc-telemetry", - "sc-transaction-pool-api", + "sc-client-api 33.0.0", + "sc-network-types 0.10.0", "sc-utils", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", - "sp-core", - "sp-crypto-hashing", - "sp-keystore", - "sp-runtime", + "serde", + "sp-api 31.0.0", + "sp-blockchain 33.0.0", + "sp-consensus 0.37.0", + "sp-core 32.0.0", + "sp-runtime 36.0.0", + "sp-state-machine 0.40.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] -name = "sc-consensus-manual-seal" -version = "0.46.0" +name = "sc-consensus" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b4b6feaedf2f6e7b05f27a8add78f5835f026d642e387ef379a48baf9a96e9" +checksum = "f64e538ab9edefbf0ddc105ff5b088344c88bc86f21650a2d2020be04a957730" dependencies = [ - "assert_matches", "async-trait", "futures", - "futures-timer", - "jsonrpsee", "log", - "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-transaction-pool", - "sc-transaction-pool-api", + "mockall 0.11.4", + "parking_lot 0.12.3", + "sc-client-api 37.0.0", + "sc-network-types 0.12.1", + "sc-utils", "serde", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-timestamp", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-consensus 0.40.0", + "sp-core 34.0.0", + "sp-runtime 39.0.3", + "sp-state-machine 0.43.0", "substrate-prometheus-endpoint", "thiserror", ] [[package]] -name = "sc-consensus-slots" -version = "0.44.0" +name = "sc-executor" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30fcce6ff513c2479c57eac880ba8d4254c146b678a0072d90f81796d47091df" +checksum = "5d0738d2e654f8cadb8b5b5f64c281654838202bf77641656b7fe2bd5346a25b" dependencies = [ - "async-trait", - "futures", - "futures-timer", - "log", "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sc-telemetry", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "parking_lot 0.12.3", + "sc-executor-common 0.33.0", + "sc-executor-polkavm 0.30.0", + "sc-executor-wasmtime 0.33.1", + "schnellru", + "sp-api 31.0.0", + "sp-core 32.0.0", + "sp-externalities 0.28.0", + "sp-io 35.0.0", + "sp-panic-handler", + "sp-runtime-interface 27.0.0", + "sp-trie 34.0.0", + "sp-version 34.0.0", + "sp-wasm-interface", + "tracing", ] [[package]] @@ -8113,22 +7224,36 @@ checksum = "3f0cc0a3728fd033589183460c5a49b2e7545d09dc89a098216ef9e9aadcd9dc" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", + "sc-executor-common 0.35.0", + "sc-executor-polkavm 0.32.0", + "sc-executor-wasmtime 0.35.0", "schnellru", - "sp-api", - "sp-core", - "sp-externalities", - "sp-io", + "sp-api 34.0.0", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "sp-io 38.0.0", "sp-panic-handler", - "sp-runtime-interface", - "sp-trie", - "sp-version", + "sp-runtime-interface 28.0.0", + "sp-trie 37.0.0", + "sp-version 37.0.0", "sp-wasm-interface", "tracing", ] +[[package]] +name = "sc-executor-common" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c61ef111d7ccc7697ee4788654f4f998662db057c27ca2de4b94f20e3e6ed1" +dependencies = [ + "polkavm", + "sc-allocator 27.0.0", + "sp-maybe-compressed-blob", + "sp-wasm-interface", + "thiserror", + "wasm-instrument", +] + [[package]] name = "sc-executor-common" version = "0.35.0" @@ -8136,13 +7261,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c3b703a33dcb7cddf19176fdf12294b9a6408125836b0f4afee3e6969e7f190" dependencies = [ "polkavm", - "sc-allocator", + "sc-allocator 29.0.0", "sp-maybe-compressed-blob", "sp-wasm-interface", "thiserror", "wasm-instrument", ] +[[package]] +name = "sc-executor-polkavm" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb96b22b779ba14f449d114b63efd162f95f1cdf773cdac29f75fe6a250de24" +dependencies = [ + "log", + "polkavm", + "sc-executor-common 0.33.0", + "sp-wasm-interface", +] + [[package]] name = "sc-executor-polkavm" version = "0.32.0" @@ -8151,8 +7288,27 @@ checksum = "26fe58d9cacfab73e5595fa84b80f7bd03efebe54a0574daaeb221a1d1f7ab80" dependencies = [ "log", "polkavm", - "sc-executor-common", + "sc-executor-common 0.35.0", + "sp-wasm-interface", +] + +[[package]] +name = "sc-executor-wasmtime" +version = "0.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f45912e90278c06bacf2c37a11937ed6878ee0cd056ae2be2d0b45ec7ac34d1" +dependencies = [ + "anyhow", + "cfg-if", + "libc", + "log", + "parking_lot 0.12.3", + "rustix 0.36.17", + "sc-allocator 27.0.0", + "sc-executor-common 0.33.0", + "sp-runtime-interface 27.0.0", "sp-wasm-interface", + "wasmtime", ] [[package]] @@ -8167,9 +7323,9 @@ dependencies = [ "log", "parking_lot 0.12.3", "rustix 0.36.17", - "sc-allocator", - "sc-executor-common", - "sp-runtime-interface", + "sc-allocator 29.0.0", + "sc-executor-common 0.35.0", + "sp-runtime-interface 28.0.0", "sp-wasm-interface", "wasmtime", ] @@ -8184,12 +7340,12 @@ dependencies = [ "futures", "futures-timer", "log", - "sc-client-api", - "sc-network", - "sc-network-common", + "sc-client-api 37.0.0", + "sc-network 0.45.1", + "sc-network-common 0.44.0", "sc-network-sync", - "sp-blockchain", - "sp-runtime", + "sp-blockchain 37.0.1", + "sp-runtime 39.0.3", ] [[package]] @@ -8201,9 +7357,9 @@ dependencies = [ "array-bytes", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "thiserror", ] @@ -8221,20 +7377,72 @@ dependencies = [ "futures-timer", "log", "mixnet", - "multiaddr 0.18.1", + "multiaddr 0.18.2", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api", - "sc-network", - "sc-network-types", - "sc-transaction-pool-api", - "sp-api", - "sp-consensus", - "sp-core", - "sp-keystore", + "sc-client-api 37.0.0", + "sc-network 0.45.1", + "sc-network-types 0.12.1", + "sc-transaction-pool-api 37.0.0", + "sp-api 34.0.0", + "sp-consensus 0.40.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", "sp-mixnet", - "sp-runtime", + "sp-runtime 39.0.3", + "thiserror", +] + +[[package]] +name = "sc-network" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94a6131f2c50126601a01d9b60a8df569aa8483cf6754e280b754a5e716a297" +dependencies = [ + "array-bytes", + "async-channel", + "async-trait", + "asynchronous-codec", + "bytes", + "cid 0.9.0", + "either", + "fnv", + "futures", + "futures-timer", + "ip_network", + "libp2p 0.51.4", + "linked_hash_set", + "litep2p 0.3.0", + "log", + "mockall 0.11.4", + "once_cell", + "parity-scale-codec", + "parking_lot 0.12.3", + "partial_sort", + "pin-project", + "prost 0.11.9", + "prost-build 0.11.9", + "rand 0.8.5", + "sc-client-api 33.0.0", + "sc-network-common 0.38.0", + "sc-network-types 0.10.0", + "sc-utils", + "schnellru", + "serde", + "serde_json", + "smallvec", + "sp-arithmetic", + "sp-blockchain 33.0.0", + "sp-core 32.0.0", + "sp-runtime 36.0.0", + "substrate-prometheus-endpoint", "thiserror", + "tokio", + "tokio-stream", + "unsigned-varint 0.7.2", + "void", + "wasm-timer", + "zeroize", ] [[package]] @@ -8254,9 +7462,9 @@ dependencies = [ "futures", "futures-timer", "ip_network", - "libp2p", + "libp2p 0.52.4", "linked_hash_set", - "litep2p", + "litep2p 0.6.2", "log", "mockall 0.11.4", "once_cell", @@ -8266,19 +7474,19 @@ dependencies = [ "pin-project", "prost 0.12.6", "prost-build 0.12.6", - "rand", - "sc-client-api", - "sc-network-common", - "sc-network-types", + "rand 0.8.5", + "sc-client-api 37.0.0", + "sc-network-common 0.44.0", + "sc-network-types 0.12.1", "sc-utils", "schnellru", "serde", "serde_json", "smallvec", "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.3", "substrate-prometheus-endpoint", "thiserror", "tokio", @@ -8291,41 +7499,40 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.44.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff059c0ca497757f633cfa13625fbaa3028f23a77a9696e94e700008f8dd5a" +checksum = "ae304be8447d6101c7d314932137ff2405db43bc7daf4b9c0c52341bdc9265ac" dependencies = [ "async-trait", "bitflags 1.3.2", "futures", - "libp2p-identity", + "libp2p-identity 0.1.3", "parity-scale-codec", - "prost-build 0.12.6", - "sc-consensus", - "sc-network-types", - "sp-consensus", - "sp-consensus-grandpa", - "sp-runtime", + "prost-build 0.11.9", + "sc-consensus 0.38.0", + "sc-network-types 0.10.0", + "sp-consensus 0.37.0", + "sp-consensus-grandpa 18.0.0", + "sp-runtime 36.0.0", ] [[package]] -name = "sc-network-gossip" -version = "0.45.0" +name = "sc-network-common" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4086f4ac6b94ff2efd24f1776280c580454c5990b8665aa9f293fcd33c80630" +checksum = "dbff059c0ca497757f633cfa13625fbaa3028f23a77a9696e94e700008f8dd5a" dependencies = [ - "ahash", + "async-trait", + "bitflags 1.3.2", "futures", - "futures-timer", - "log", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-network-types", - "schnellru", - "sp-runtime", - "substrate-prometheus-endpoint", - "tracing", + "libp2p-identity 0.2.10", + "parity-scale-codec", + "prost-build 0.12.6", + "sc-consensus 0.44.0", + "sc-network-types 0.12.1", + "sp-consensus 0.40.0", + "sp-consensus-grandpa 21.0.0", + "sp-runtime 39.0.3", ] [[package]] @@ -8341,12 +7548,12 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build 0.12.6", - "sc-client-api", - "sc-network", - "sc-network-types", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sc-client-api 37.0.0", + "sc-network 0.45.1", + "sc-network-types 0.12.1", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.3", "thiserror", ] @@ -8362,26 +7569,26 @@ dependencies = [ "fork-tree", "futures", "futures-timer", - "libp2p", + "libp2p 0.52.4", "log", "mockall 0.11.4", "parity-scale-codec", "prost 0.12.6", "prost-build 0.12.6", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-types", + "sc-client-api 37.0.0", + "sc-consensus 0.44.0", + "sc-network 0.45.1", + "sc-network-common 0.44.0", + "sc-network-types 0.12.1", "sc-utils", "schnellru", "smallvec", "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", - "sp-core", - "sp-runtime", + "sp-blockchain 37.0.1", + "sp-consensus 0.40.0", + "sp-consensus-grandpa 21.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.3", "substrate-prometheus-endpoint", "thiserror", "tokio", @@ -8398,16 +7605,31 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "sc-network", - "sc-network-common", + "sc-network 0.45.1", + "sc-network-common 0.44.0", "sc-network-sync", - "sc-network-types", + "sc-network-types 0.12.1", "sc-utils", - "sp-consensus", - "sp-runtime", + "sp-consensus 0.40.0", + "sp-runtime 39.0.3", "substrate-prometheus-endpoint", ] +[[package]] +name = "sc-network-types" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6b473a65393f65579019e4280cc116848439985c62724db8402bbfa7da462d1" +dependencies = [ + "bs58 0.4.0", + "libp2p-identity 0.1.3", + "litep2p 0.3.0", + "multiaddr 0.17.1", + "multihash 0.17.0", + "rand 0.8.5", + "thiserror", +] + [[package]] name = "sc-network-types" version = "0.12.1" @@ -8415,62 +7637,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c372dbda66644a1df0daa8c0d99c36b6f74db7dca213d2416cd84f507125224" dependencies = [ "bs58 0.5.1", - "ed25519-dalek", - "libp2p-identity", - "litep2p", + "ed25519-dalek 2.1.1", + "libp2p-identity 0.2.10", + "litep2p 0.6.2", "log", - "multiaddr 0.18.1", - "multihash 0.19.1", - "rand", + "multiaddr 0.18.2", + "multihash 0.19.3", + "rand 0.8.5", "thiserror", "zeroize", ] [[package]] name = "sc-offchain" -version = "40.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9185b82ad10f21f3eb977a079f772219bd216bf4eafedad7d5e4a0ff32383c75" +checksum = "acb6f76c65abdabfadb497a5fe33733ec67af15221aa1c72686096aed75b28b8" dependencies = [ "array-bytes", "bytes", "fnv", "futures", "futures-timer", - "hyper 0.14.30", + "hyper 0.14.31", "hyper-rustls", + "libp2p 0.51.4", "log", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.3", - "rand", - "sc-client-api", - "sc-network", - "sc-network-common", - "sc-network-types", - "sc-transaction-pool-api", + "rand 0.8.5", + "sc-client-api 33.0.0", + "sc-network 0.39.0", + "sc-network-common 0.38.0", + "sc-network-types 0.10.0", + "sc-transaction-pool-api 33.0.0", "sc-utils", - "sp-api", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-offchain", - "sp-runtime", + "sp-api 31.0.0", + "sp-core 32.0.0", + "sp-externalities 0.28.0", + "sp-keystore 0.38.0", + "sp-offchain 31.0.0", + "sp-runtime 36.0.0", "threadpool", "tracing", ] -[[package]] -name = "sc-proposer-metrics" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f680a0bed67dab19898624246376ba85d5f70a89859ba030830aacd079c28d3c" -dependencies = [ - "log", - "substrate-prometheus-endpoint", -] - [[package]] name = "sc-rpc" version = "40.0.0" @@ -8484,23 +7697,23 @@ dependencies = [ "parking_lot 0.12.3", "sc-block-builder", "sc-chain-spec", - "sc-client-api", + "sc-client-api 37.0.0", "sc-mixnet", "sc-rpc-api", "sc-tracing", - "sc-transaction-pool-api", + "sc-transaction-pool-api 37.0.0", "sc-utils", "serde_json", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-offchain", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-offchain 34.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 39.0.3", "sp-session", - "sp-statement-store", - "sp-version", + "sp-statement-store 18.0.0", + "sp-version 37.0.0", "tokio", ] @@ -8514,14 +7727,14 @@ dependencies = [ "parity-scale-codec", "sc-chain-spec", "sc-mixnet", - "sc-transaction-pool-api", + "sc-transaction-pool-api 37.0.0", "scale-info", "serde", "serde_json", - "sp-core", + "sp-core 34.0.0", "sp-rpc", - "sp-runtime", - "sp-version", + "sp-runtime 39.0.3", + "sp-version 37.0.0", "thiserror", ] @@ -8535,9 +7748,9 @@ dependencies = [ "forwarded-header-value", "futures", "governor", - "http 1.1.0", + "http 1.2.0", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.1", "ip_network", "jsonrpsee", "log", @@ -8564,20 +7777,20 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "sc-chain-spec", - "sc-client-api", + "sc-client-api 37.0.0", "sc-rpc", - "sc-transaction-pool-api", + "sc-transaction-pool-api 37.0.0", "sc-utils", "schnellru", "serde", - "sp-api", - "sp-blockchain", - "sp-core", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", "sp-rpc", - "sp-runtime", - "sp-version", + "sp-runtime 39.0.3", + "sp-version 37.0.0", "thiserror", "tokio", "tokio-stream", @@ -8599,20 +7812,20 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "pin-project", - "rand", + "rand 0.8.5", "sc-chain-spec", - "sc-client-api", + "sc-client-api 37.0.0", "sc-client-db", - "sc-consensus", - "sc-executor", + "sc-consensus 0.44.0", + "sc-executor 0.40.1", "sc-informant", "sc-keystore", - "sc-network", - "sc-network-common", + "sc-network 0.45.1", + "sc-network-common 0.44.0", "sc-network-light", "sc-network-sync", "sc-network-transactions", - "sc-network-types", + "sc-network-types 0.12.1", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", @@ -8620,25 +7833,25 @@ dependencies = [ "sc-telemetry", "sc-tracing", "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-transaction-pool-api 37.0.0", "sc-utils", "schnellru", "serde", "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-consensus 0.40.0", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.3", "sp-session", - "sp-state-machine", + "sp-state-machine 0.43.0", "sp-storage", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", - "sp-version", + "sp-trie 37.0.0", + "sp-version 37.0.0", "static_init", "substrate-prometheus-endpoint", "tempfile", @@ -8657,7 +7870,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sp-core", + "sp-core 34.0.0", ] [[package]] @@ -8666,19 +7879,19 @@ version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d78810e8fd4a91716eff951f2e80744a08efcc34f53446e60ca055d2cef2e0aa" dependencies = [ - "derive_more", + "derive_more 0.99.18", "futures", "libc", "log", - "rand", + "rand 0.8.5", "rand_pcg", "regex", "sc-telemetry", "serde", "serde_json", - "sp-core", + "sp-core 34.0.0", "sp-crypto-hashing", - "sp-io", + "sp-io 38.0.0", "sp-std", ] @@ -8690,12 +7903,12 @@ checksum = "e9e28cab12625bcdb8828f9a1177b8d061972f90fda89a70c10763da50e0aaa5" dependencies = [ "chrono", "futures", - "libp2p", + "libp2p 0.52.4", "log", "parking_lot 0.12.3", "pin-project", - "rand", - "sc-network", + "rand 0.8.5", + "sc-network 0.45.1", "sc-utils", "serde", "serde_json", @@ -8718,14 +7931,14 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "rustc-hash 1.1.0", - "sc-client-api", + "sc-client-api 37.0.0", "sc-tracing-proc-macro", "serde", - "sp-api", - "sp-blockchain", - "sp-core", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 39.0.3", "sp-tracing", "thiserror", "tracing", @@ -8739,10 +7952,10 @@ version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "151cdf86d79abf22cf2a240a7ca95041c908dbd96c2ae9a818073042aa210964" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -8758,21 +7971,38 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api", - "sc-transaction-pool-api", + "sc-client-api 37.0.0", + "sc-transaction-pool-api 37.0.0", "sc-utils", "serde", - "sp-api", - "sp-blockchain", - "sp-core", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", "sp-crypto-hashing", - "sp-runtime", + "sp-runtime 39.0.3", "sp-tracing", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", ] +[[package]] +name = "sc-transaction-pool-api" +version = "33.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "618532cf1e4afbc3a3f9046bfb4aaceba46fa9888ec9d1d12e9fe5448aa7ee82" +dependencies = [ + "async-trait", + "futures", + "log", + "parity-scale-codec", + "serde", + "sp-blockchain 33.0.0", + "sp-core 32.0.0", + "sp-runtime 36.0.0", + "thiserror", +] + [[package]] name = "sc-transaction-pool-api" version = "37.0.0" @@ -8784,9 +8014,9 @@ dependencies = [ "log", "parity-scale-codec", "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-blockchain 37.0.1", + "sp-core 34.0.0", + "sp-runtime 39.0.3", "thiserror", ] @@ -8822,7 +8052,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27" dependencies = [ - "derive_more", + "derive_more 0.99.18", "parity-scale-codec", "scale-bits", "scale-type-resolver", @@ -8831,13 +8061,13 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "bitvec", "cfg-if", - "derive_more", + "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", "serde", @@ -8845,14 +8075,14 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] @@ -8863,11 +8093,11 @@ checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -8876,7 +8106,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ - "ahash", + "ahash 0.8.11", "cfg-if", "hashbrown 0.13.2", ] @@ -8887,16 +8117,16 @@ version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ - "aead 0.5.2", + "aead", "arrayref", "arrayvec", - "curve25519-dalek", + "curve25519-dalek 4.1.3", "getrandom_or_panic", "merlin", - "rand_core", + "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] @@ -8914,12 +8144,27 @@ checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "sctp-proto" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f64cef148d3295c730c3cb340b0b252a4d570b1c7d4bf0808f88540b0a888bc" +dependencies = [ + "bytes", + "crc", + "fxhash", + "log", + "rand 0.8.5", + "slab", + "thiserror", ] [[package]] @@ -8932,7 +8177,7 @@ dependencies = [ "crc", "fxhash", "log", - "rand", + "rand 0.8.5", "slab", "thiserror", ] @@ -8948,15 +8193,15 @@ dependencies = [ "generic-array 0.14.7", "pkcs8", "serdect", - "subtle 2.4.1", + "subtle 2.6.1", "zeroize", ] [[package]] name = "secp256k1" -version = "0.28.1" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f622567e3b4b38154fb8190bcf6b160d7a4301d70595a49195b48c116007a27" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ "secp256k1-sys", ] @@ -8981,11 +8226,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -8994,9 +8239,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" dependencies = [ "core-foundation-sys", "libc", @@ -9013,9 +8258,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" dependencies = [ "serde", ] @@ -9034,38 +8279,38 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -9075,9 +8320,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -9092,6 +8337,19 @@ dependencies = [ "serde", ] +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.1", +] + [[package]] name = "sha-1" version = "0.10.1" @@ -9134,7 +8392,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", ] [[package]] @@ -9160,9 +8418,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -9174,29 +8432,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] +name = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" [[package]] name = "signature" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "simba" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" dependencies = [ "approx", "num-complex", @@ -9205,33 +8460,13 @@ dependencies = [ "wide", ] -[[package]] -name = "similar" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" -dependencies = [ - "bstr", - "unicode-segmentation", -] - -[[package]] -name = "similar-asserts" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" -dependencies = [ - "console", - "similar", -] - [[package]] name = "simple-dns" version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cae9a3fcdadafb6d97f4c0e007e4247b114ee0f119f650c3cbf3a8b3a1479694" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", ] [[package]] @@ -9242,9 +8477,9 @@ checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" @@ -9269,32 +8504,32 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "snap" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "snow" -version = "0.9.3" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9d1425eb528a21de2755c75af4c9b5d57f50a0d4c3b7f1828a4cd03f8ba155" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ - "aes-gcm 0.9.4", + "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek", - "rand_core", - "ring 0.16.20", + "curve25519-dalek 4.1.3", + "rand_core 0.6.4", + "ring 0.17.8", "rustc_version", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -9302,9 +8537,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -9312,20 +8547,59 @@ dependencies = [ [[package]] name = "soketto" -version = "0.8.0" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64 0.13.1", + "bytes", + "flate2", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1 0.9.8", +] + +[[package]] +name = "soketto" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ "base64 0.22.1", "bytes", "futures", - "http 1.1.0", + "http 1.2.0", "httparse", "log", - "rand", + "rand 0.8.5", "sha1", ] +[[package]] +name = "sp-api" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b500647cfe266d58781f44af9b13c3bd57fb3be08642f2a9f13e024cc5e22359" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "scale-info", + "sp-api-proc-macro 19.0.0", + "sp-core 32.0.0", + "sp-externalities 0.28.0", + "sp-metadata-ir", + "sp-runtime 36.0.0", + "sp-runtime-interface 27.0.0", + "sp-state-machine 0.40.0", + "sp-std", + "sp-trie 34.0.0", + "sp-version 34.0.0", + "thiserror", +] + [[package]] name = "sp-api" version = "34.0.0" @@ -9337,18 +8611,33 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro", - "sp-core", - "sp-externalities", + "sp-api-proc-macro 20.0.0", + "sp-core 34.0.0", + "sp-externalities 0.29.0", "sp-metadata-ir", - "sp-runtime", - "sp-runtime-interface", - "sp-state-machine", - "sp-trie", - "sp-version", + "sp-runtime 39.0.3", + "sp-runtime-interface 28.0.0", + "sp-state-machine 0.43.0", + "sp-trie 37.0.0", + "sp-version 37.0.0", "thiserror", ] +[[package]] +name = "sp-api-proc-macro" +version = "19.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213a4bec1b18bd0750e7b81d11d8276c24f68b53cde83950b00b178ecc9ab24a" +dependencies = [ + "Inflector", + "blake2 0.10.6", + "expander", + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "sp-api-proc-macro" version = "20.0.0" @@ -9358,10 +8647,24 @@ dependencies = [ "Inflector", "blake2 0.10.6", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", +] + +[[package]] +name = "sp-application-crypto" +version = "35.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57541120624a76379cc993cbb85064a5148957a92da032567e54bce7977f51fc" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 32.0.0", + "sp-io 35.0.0", + "sp-std", ] [[package]] @@ -9373,8 +8676,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 34.0.0", + "sp-io 38.0.0", ] [[package]] @@ -9399,9 +8702,28 @@ version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74738809461e3d4bd707b5b94e0e0c064a623a74a6a8fe5c98514417a02858dd" dependencies = [ - "sp-api", - "sp-inherents", - "sp-runtime", + "sp-api 34.0.0", + "sp-inherents 34.0.0", + "sp-runtime 39.0.3", +] + +[[package]] +name = "sp-blockchain" +version = "33.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488d3cc94c345ce55d1890239bb256f4418f9566e29b7b90f01817bc7b553a08" +dependencies = [ + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "schnellru", + "sp-api 31.0.0", + "sp-consensus 0.37.0", + "sp-database", + "sp-runtime 36.0.0", + "sp-state-machine 0.40.0", + "thiserror", ] [[package]] @@ -9414,16 +8736,32 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "schnellru", - "sp-api", - "sp-consensus", - "sp-core", + "sp-api 34.0.0", + "sp-consensus 0.40.0", + "sp-core 34.0.0", "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-runtime 39.0.3", + "sp-state-machine 0.43.0", "thiserror", "tracing", ] +[[package]] +name = "sp-consensus" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f400a20113301fa91094c210b9b9b63f066cee55f22517768eaadf3519124d8" +dependencies = [ + "async-trait", + "futures", + "log", + "sp-core 32.0.0", + "sp-inherents 31.0.0", + "sp-runtime 36.0.0", + "sp-state-machine 0.40.0", + "thiserror", +] + [[package]] name = "sp-consensus" version = "0.40.0" @@ -9433,10 +8771,10 @@ dependencies = [ "async-trait", "futures", "log", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-core 34.0.0", + "sp-inherents 34.0.0", + "sp-runtime 39.0.3", + "sp-state-machine 0.43.0", "thiserror", ] @@ -9449,11 +8787,11 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", + "sp-api 34.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-slots", - "sp-inherents", - "sp-runtime", + "sp-inherents 34.0.0", + "sp-runtime 39.0.3", "sp-timestamp", ] @@ -9467,15 +8805,33 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", + "sp-api 34.0.0", + "sp-application-crypto 38.0.0", "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", + "sp-core 34.0.0", + "sp-inherents 34.0.0", + "sp-runtime 39.0.3", "sp-timestamp", ] +[[package]] +name = "sp-consensus-grandpa" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6f4d90b65fd82e77c3b8c382c3a9e669bba5ccfb5402a945cde88984c98681b" +dependencies = [ + "finality-grandpa", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api 31.0.0", + "sp-application-crypto 35.0.0", + "sp-core 32.0.0", + "sp-keystore 0.38.0", + "sp-runtime 36.0.0", +] + [[package]] name = "sp-consensus-grandpa" version = "21.0.0" @@ -9487,11 +8843,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-api 34.0.0", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.3", ] [[package]] @@ -9506,6 +8862,53 @@ dependencies = [ "sp-timestamp", ] +[[package]] +name = "sp-core" +version = "32.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2dac7e47c7ddbb61efe196d5cce99f6ea88926c961fa39909bfeae46fc5a7b" +dependencies = [ + "array-bytes", + "bitflags 1.3.2", + "blake2 0.10.6", + "bounded-collections", + "bs58 0.5.1", + "dyn-clonable", + "ed25519-zebra 3.1.0", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "itertools 0.10.5", + "k256", + "libsecp256k1", + "log", + "merlin", + "parity-bip39", + "parity-scale-codec", + "parking_lot 0.12.3", + "paste", + "primitive-types", + "rand 0.8.5", + "scale-info", + "schnorrkel", + "secp256k1", + "secrecy", + "serde", + "sp-crypto-hashing", + "sp-debug-derive", + "sp-externalities 0.28.0", + "sp-runtime-interface 27.0.0", + "sp-std", + "sp-storage", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tracing", + "w3f-bls", + "zeroize", +] + [[package]] name = "sp-core" version = "34.0.0" @@ -9518,7 +8921,7 @@ dependencies = [ "bounded-collections", "bs58 0.5.1", "dyn-clonable", - "ed25519-zebra", + "ed25519-zebra 4.0.3", "futures", "hash-db", "hash256-std-hasher", @@ -9533,7 +8936,7 @@ dependencies = [ "parking_lot 0.12.3", "paste", "primitive-types", - "rand", + "rand 0.8.5", "scale-info", "schnorrkel", "secp256k1", @@ -9541,8 +8944,8 @@ dependencies = [ "serde", "sp-crypto-hashing", "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", + "sp-externalities 0.29.0", + "sp-runtime-interface 28.0.0", "sp-std", "sp-storage", "ss58-registry", @@ -9575,7 +8978,7 @@ checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -9596,7 +8999,18 @@ checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", +] + +[[package]] +name = "sp-externalities" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33abaec4be69b1613796bbf430decbbcaaf978756379e2016e683a4d6379cd02" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-storage", ] [[package]] @@ -9619,8 +9033,22 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", - "sp-runtime", + "sp-api 34.0.0", + "sp-runtime 39.0.3", +] + +[[package]] +name = "sp-inherents" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170537049d57fc645637e4586fe98a3291392b2ecfd7988ea31639cf43470b42" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-runtime 36.0.0", + "thiserror", ] [[package]] @@ -9633,10 +9061,37 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 39.0.3", "thiserror", ] +[[package]] +name = "sp-io" +version = "35.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b64ab18a0e29def6511139a8c45a59c14a846105aab6f9cc653523bd3b81f55" +dependencies = [ + "bytes", + "ed25519-dalek 2.1.1", + "libsecp256k1", + "log", + "parity-scale-codec", + "polkavm-derive", + "rustversion", + "secp256k1", + "sp-core 32.0.0", + "sp-crypto-hashing", + "sp-externalities 0.28.0", + "sp-keystore 0.38.0", + "sp-runtime-interface 27.0.0", + "sp-state-machine 0.40.0", + "sp-std", + "sp-tracing", + "sp-trie 34.0.0", + "tracing", + "tracing-core", +] + [[package]] name = "sp-io" version = "38.0.0" @@ -9645,21 +9100,21 @@ checksum = "59ef7eb561bb4839cc8424ce58c5ea236cbcca83f26fcc0426d8decfe8aa97d4" dependencies = [ "bytes", "docify", - "ed25519-dalek", + "ed25519-dalek 2.1.1", "libsecp256k1", "log", "parity-scale-codec", "polkavm-derive", "rustversion", "secp256k1", - "sp-core", + "sp-core 34.0.0", "sp-crypto-hashing", - "sp-externalities", - "sp-keystore", - "sp-runtime-interface", - "sp-state-machine", + "sp-externalities 0.29.0", + "sp-keystore 0.40.0", + "sp-runtime-interface 28.0.0", + "sp-state-machine 0.43.0", "sp-tracing", - "sp-trie", + "sp-trie 37.0.0", "tracing", "tracing-core", ] @@ -9670,9 +9125,21 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c0e20624277f578b27f44ecfbe2ebc2e908488511ee2c900c5281599f700ab3" dependencies = [ - "sp-core", - "sp-runtime", - "strum 0.26.2", + "sp-core 34.0.0", + "sp-runtime 39.0.3", + "strum 0.26.3", +] + +[[package]] +name = "sp-keystore" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e6c7a7abd860a5211a356cf9d5fcabf0eb37d997985e5d722b6b33dcc815528" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.3", + "sp-core 32.0.0", + "sp-externalities 0.28.0", ] [[package]] @@ -9683,8 +9150,8 @@ checksum = "0248b4d784cb4a01472276928977121fa39d977a5bb24793b6b15e64b046df42" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sp-core", - "sp-externalities", + "sp-core 34.0.0", + "sp-externalities 0.29.0", ] [[package]] @@ -9716,8 +9183,19 @@ checksum = "3b0b017dd54823b6e62f9f7171a1df350972e5c6d0bf17e0c2f78680b5c31942" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", + "sp-api 34.0.0", + "sp-application-crypto 38.0.0", +] + +[[package]] +name = "sp-offchain" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cbbd2096fda34c2f6f9f268c808ca280c08565e759309ea24f17dcd0808097b" +dependencies = [ + "sp-api 31.0.0", + "sp-core 32.0.0", + "sp-runtime 36.0.0", ] [[package]] @@ -9726,9 +9204,9 @@ version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d9de237d72ecffd07f90826eef18360208b16d8de939d54e61591fac0fcbf99" dependencies = [ - "sp-api", - "sp-core", - "sp-runtime", + "sp-api 34.0.0", + "sp-core 34.0.0", + "sp-runtime 39.0.3", ] [[package]] @@ -9750,14 +9228,39 @@ checksum = "45458f0955870a92b3969098d4f1f4e9b55b4282d9f1dc112a51bb5bb6584900" dependencies = [ "rustc-hash 1.1.0", "serde", - "sp-core", + "sp-core 34.0.0", +] + +[[package]] +name = "sp-runtime" +version = "36.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6b85cb874b78ebb17307a910fc27edf259a0455ac5155d87eaed8754c037e07" +dependencies = [ + "docify", + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "simple-mermaid", + "sp-application-crypto 35.0.0", + "sp-arithmetic", + "sp-core 32.0.0", + "sp-io 35.0.0", + "sp-std", + "sp-weights", ] [[package]] name = "sp-runtime" -version = "39.0.2" +version = "39.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658f23be7c79a85581029676a73265c107c5469157e3444c8c640fdbaa8bfed0" +checksum = "ef567865c042b9002dfa44b8fc850fe611038acdf1e382e539495015f60f692f" dependencies = [ "docify", "either", @@ -9767,19 +9270,39 @@ dependencies = [ "num-traits", "parity-scale-codec", "paste", - "rand", + "rand 0.8.5", "scale-info", "serde", "simple-mermaid", - "sp-application-crypto", + "sp-application-crypto 38.0.0", "sp-arithmetic", - "sp-core", - "sp-io", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-std", "sp-weights", "tracing", ] +[[package]] +name = "sp-runtime-interface" +version = "27.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "647db5e1dc481686628b41554e832df6ab400c4b43a6a54e54d3b0a71ca404aa" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkavm-derive", + "primitive-types", + "sp-externalities 0.28.0", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", + "static_assertions", +] + [[package]] name = "sp-runtime-interface" version = "28.0.0" @@ -9791,7 +9314,7 @@ dependencies = [ "parity-scale-codec", "polkavm-derive", "primitive-types", - "sp-externalities", + "sp-externalities 0.29.0", "sp-runtime-interface-proc-macro", "sp-std", "sp-storage", @@ -9808,10 +9331,10 @@ checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" dependencies = [ "Inflector", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -9822,10 +9345,10 @@ checksum = "00a3a307fedc423fb8cd2a7726a3bbb99014f1b4b52f26153993e2aae3338fe6" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-api 34.0.0", + "sp-core 34.0.0", + "sp-keystore 0.40.0", + "sp-runtime 39.0.3", "sp-staking", ] @@ -9837,10 +9360,31 @@ checksum = "2a73eedb4b85f4cd420d31764827546aa22f82ce1646d0fd258993d051de7a90" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-runtime", + "scale-info", + "serde", + "sp-core 34.0.0", + "sp-runtime 39.0.3", +] + +[[package]] +name = "sp-state-machine" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18084cb996c27d5d99a88750e0a8eb4af6870a40df97872a5923e6d293d95fb9" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "smallvec", + "sp-core 32.0.0", + "sp-externalities 0.28.0", + "sp-panic-handler", + "sp-trie 34.0.0", + "thiserror", + "tracing", + "trie-db", ] [[package]] @@ -9853,40 +9397,65 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "smallvec", - "sp-core", - "sp-externalities", + "sp-core 34.0.0", + "sp-externalities 0.29.0", "sp-panic-handler", - "sp-trie", + "sp-trie 37.0.0", "thiserror", "tracing", "trie-db", ] +[[package]] +name = "sp-statement-store" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7ac525ad4b3533aebdd68ae097d0a55887b6499b565c5a592f6c18372a40caf" +dependencies = [ + "aes-gcm", + "curve25519-dalek 4.1.3", + "ed25519-dalek 2.1.1", + "hkdf", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sha2 0.10.8", + "sp-api 31.0.0", + "sp-application-crypto 35.0.0", + "sp-core 32.0.0", + "sp-crypto-hashing", + "sp-externalities 0.28.0", + "sp-runtime 36.0.0", + "sp-runtime-interface 27.0.0", + "thiserror", + "x25519-dalek 2.0.1", +] + [[package]] name = "sp-statement-store" version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c219bc34ef4d1f9835f3ed881f965643c32034fcc030eb33b759dadbc802c1c2" dependencies = [ - "aes-gcm 0.10.2", - "curve25519-dalek", - "ed25519-dalek", + "aes-gcm", + "curve25519-dalek 4.1.3", + "ed25519-dalek 2.1.1", "hkdf", "parity-scale-codec", - "rand", + "rand 0.8.5", "scale-info", "sha2 0.10.8", - "sp-api", - "sp-application-crypto", - "sp-core", + "sp-api 34.0.0", + "sp-application-crypto 38.0.0", + "sp-core 34.0.0", "sp-crypto-hashing", - "sp-externalities", - "sp-runtime", - "sp-runtime-interface", + "sp-externalities 0.29.0", + "sp-runtime 39.0.3", + "sp-runtime-interface 28.0.0", "thiserror", - "x25519-dalek", + "x25519-dalek 2.0.1", ] [[package]] @@ -9916,8 +9485,8 @@ checksum = "72a1cb4df653d62ccc0dbce1db45d1c9443ec60247ee9576962d24da4c9c6f07" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents", - "sp-runtime", + "sp-inherents 34.0.0", + "sp-runtime 39.0.3", "thiserror", ] @@ -9939,8 +9508,8 @@ version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc4bf251059485a7dd38fe4afeda8792983511cc47f342ff4695e2dcae6b5247" dependencies = [ - "sp-api", - "sp-runtime", + "sp-api 34.0.0", + "sp-runtime 39.0.3", ] [[package]] @@ -9952,10 +9521,34 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-core 34.0.0", + "sp-inherents 34.0.0", + "sp-runtime 39.0.3", + "sp-trie 37.0.0", +] + +[[package]] +name = "sp-trie" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87727eced997f14d0f79e3a5186a80e38a9de87f6e9dc0baea5ebf8b7f9d8b66" +dependencies = [ + "ahash 0.8.11", + "hash-db", + "lazy_static", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core 32.0.0", + "sp-externalities 0.28.0", + "thiserror", + "tracing", + "trie-db", + "trie-root", ] [[package]] @@ -9964,24 +9557,42 @@ version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd" dependencies = [ - "ahash", + "ahash 0.8.11", "hash-db", "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "scale-info", "schnellru", - "sp-core", - "sp-externalities", + "sp-core 34.0.0", + "sp-externalities 0.29.0", "thiserror", "tracing", "trie-db", "trie-root", ] +[[package]] +name = "sp-version" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8e3856686aa2719b1c05af07ba7e6021d844944472f246f3b5f1c585be04cd" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-crypto-hashing-proc-macro", + "sp-runtime 36.0.0", + "sp-std", + "sp-version-proc-macro", + "thiserror", +] + [[package]] name = "sp-version" version = "37.0.0" @@ -9994,7 +9605,7 @@ dependencies = [ "scale-info", "serde", "sp-crypto-hashing-proc-macro", - "sp-runtime", + "sp-runtime 39.0.3", "sp-std", "sp-version-proc-macro", "thiserror", @@ -10009,7 +9620,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -10051,9 +9662,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] [[package]] name = "spinning_top" @@ -10066,140 +9674,19 @@ dependencies = [ [[package]] name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der", ] -[[package]] -name = "sqlformat" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" -dependencies = [ - "itertools 0.10.5", - "nom", - "unicode_categories", -] - -[[package]] -name = "sqlx" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" -dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-sqlite", -] - -[[package]] -name = "sqlx-core" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" -dependencies = [ - "ahash", - "atoi", - "byteorder", - "bytes", - "crc", - "crossbeam-queue", - "either", - "event-listener 2.5.3", - "futures-channel", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashlink", - "hex", - "indexmap 2.0.0", - "log", - "memchr", - "native-tls", - "once_cell", - "paste", - "percent-encoding", - "serde", - "sha2 0.10.8", - "smallvec", - "sqlformat", - "thiserror", - "tokio", - "tokio-stream", - "tracing", - "url", -] - -[[package]] -name = "sqlx-macros" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" -dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn 1.0.109", -] - -[[package]] -name = "sqlx-macros-core" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" -dependencies = [ - "dotenvy", - "either", - "heck 0.4.1", - "hex", - "once_cell", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2 0.10.8", - "sqlx-core", - "sqlx-sqlite", - "syn 1.0.109", - "tempfile", - "tokio", - "url", -] - -[[package]] -name = "sqlx-sqlite" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" -dependencies = [ - "atoi", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "sqlx-core", - "tracing", - "url", - "urlencoding", -] - [[package]] name = "ss58-registry" -version = "1.41.0" +version = "1.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc443bad666016e012538782d9e3006213a7db43e9fb1dda91657dc06a6fa08" +checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" dependencies = [ "Inflector", "num-format", @@ -10216,26 +9703,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "staging-xcm" -version = "14.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96bee7cd999e9cdf10f8db72342070d456e21e82a0f5962ff3b87edbd5f2b20e" -dependencies = [ - "array-bytes", - "bounded-collections", - "derivative", - "environmental", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime", - "sp-weights", - "xcm-procedural", -] - [[package]] name = "static_assertions" version = "1.1.0" @@ -10259,9 +9726,9 @@ dependencies = [ [[package]] name = "static_init_macro" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" +checksum = "b07d15a19b60c12b1a4d927f86bf124037e899c962017d8a198d59997cf12f1b" dependencies = [ "cfg_aliases", "memchr", @@ -10270,6 +9737,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "str0m" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee48572247f422dcbe68630c973f8296fbd5157119cd36a3223e48bf83d47727" +dependencies = [ + "combine", + "crc", + "hmac 0.12.1", + "once_cell", + "openssl", + "openssl-sys", + "rand 0.8.5", + "sctp-proto 0.1.7", + "serde", + "sha-1 0.10.1", + "thiserror", + "tracing", +] + [[package]] name = "str0m" version = "0.5.1" @@ -10283,18 +9770,18 @@ dependencies = [ "once_cell", "openssl", "openssl-sys", - "sctp-proto", + "sctp-proto 0.2.2", "serde", - "sha-1", + "sha-1 0.10.1", "thiserror", "tracing", ] [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" @@ -10304,11 +9791,11 @@ checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.2", + "strum_macros 0.26.4", ] [[package]] @@ -10326,15 +9813,15 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -10350,53 +9837,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "substrate-bn" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c" -dependencies = [ - "byteorder", - "crunchy", - "lazy_static", - "rand", - "rustc-hex", -] - -[[package]] -name = "substrate-build-script-utils" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b285e7d183a32732fdc119f3d81b7915790191fad602b7c709ef247073c77a2e" - -[[package]] -name = "substrate-frame-rpc-system" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d071d325decc80d906afd957ee83673d1cbd27b7b421a7f1c9f6132a437e17fd" -dependencies = [ - "docify", - "frame-system-rpc-runtime-api", - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "sc-rpc-api", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-runtime", -] - [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8fe06b03b8a291c09507c42f92a2c2c10dd3d62975d02c7f64a92d87bfe09b" dependencies = [ - "hyper 0.14.30", + "hyper 0.14.31", "log", "prometheus", "thiserror", @@ -10411,21 +9858,21 @@ dependencies = [ "async-trait", "futures", "parity-scale-codec", - "sc-client-api", + "sc-client-api 37.0.0", "sc-client-db", - "sc-consensus", - "sc-executor", + "sc-consensus 0.44.0", + "sc-executor 0.40.1", "sc-offchain", "sc-service", "serde", "serde_json", - "sp-blockchain", - "sp-consensus", - "sp-core", + "sp-blockchain 37.0.1", + "sp-consensus 0.40.0", + "sp-core 34.0.0", "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-state-machine", + "sp-keystore 0.40.0", + "sp-runtime 39.0.3", + "sp-state-machine 0.43.0", "tokio", ] @@ -10447,34 +9894,34 @@ dependencies = [ "parity-scale-codec", "sc-block-builder", "sc-chain-spec", - "sc-executor", - "sc-executor-common", + "sc-executor 0.40.1", + "sc-executor-common 0.35.0", "sc-service", "scale-info", "serde", "serde_json", - "sp-api", - "sp-application-crypto", + "sp-api 34.0.0", + "sp-application-crypto 38.0.0", "sp-block-builder", - "sp-consensus", + "sp-consensus 0.40.0", "sp-consensus-aura", "sp-consensus-babe", - "sp-consensus-grandpa", - "sp-core", + "sp-consensus-grandpa 21.0.0", + "sp-core 34.0.0", "sp-crypto-hashing", - "sp-externalities", + "sp-externalities 0.29.0", "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-inherents 34.0.0", + "sp-io 38.0.0", "sp-keyring", - "sp-offchain", - "sp-runtime", + "sp-offchain 34.0.0", + "sp-runtime 39.0.3", "sp-session", - "sp-state-machine", + "sp-state-machine 0.43.0", "sp-tracing", "sp-transaction-pool", - "sp-trie", - "sp-version", + "sp-trie 37.0.0", + "sp-version 37.0.0", "substrate-test-runtime-client", "substrate-wasm-builder", "tracing", @@ -10487,17 +9934,42 @@ version = "2.0.0" dependencies = [ "futures", "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", + "sc-client-api 37.0.0", + "sc-consensus 0.44.0", + "sp-api 34.0.0", + "sp-blockchain 37.0.1", + "sp-consensus 0.40.0", + "sp-core 34.0.0", + "sp-runtime 39.0.3", "substrate-test-client", "substrate-test-runtime", ] +[[package]] +name = "substrate-test-runtime-transaction-pool" +version = "2.0.0" +dependencies = [ + "futures", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-transaction-pool", + "sc-transaction-pool-api 37.0.0", + "sp-blockchain 37.0.1", + "sp-runtime 39.0.3", + "substrate-test-runtime-client", + "thiserror", +] + +[[package]] +name = "substrate-test-utils" +version = "3.0.0" +dependencies = [ + "futures", + "sc-service", + "tokio", + "trybuild", +] + [[package]] name = "substrate-wasm-builder" version = "24.0.1" @@ -10515,15 +9987,15 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "polkavm-linker", - "sc-executor", - "sp-core", - "sp-io", + "sc-executor 0.40.1", + "sp-core 34.0.0", + "sp-io 38.0.0", "sp-maybe-compressed-blob", "sp-tracing", - "sp-version", - "strum 0.26.2", + "sp-version 37.0.0", + "strum 0.26.3", "tempfile", - "toml 0.8.12", + "toml 0.8.19", "walkdir", "wasm-opt", ] @@ -10536,9 +10008,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.1" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -10553,9 +10025,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -10582,25 +10054,25 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -10614,9 +10086,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.11" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "target-triple" @@ -10626,35 +10098,26 @@ checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", "fastrand", - "rustix 0.38.31", - "windows-sys 0.52.0", + "once_cell", + "rustix 0.38.42", + "windows-sys 0.59.0", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] -[[package]] -name = "terminal_size" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -dependencies = [ - "rustix 0.38.31", - "windows-sys 0.48.0", -] - [[package]] name = "termtree" version = "0.4.1" @@ -10663,35 +10126,29 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.82", -] - -[[package]] -name = "thousands" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" + "proc-macro2", + "quote", + "syn 2.0.90", +] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -10718,12 +10175,14 @@ dependencies = [ [[package]] name = "time" -version = "0.3.25" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -10731,16 +10190,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.11" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ + "num-conv", "time-core", ] @@ -10753,11 +10213,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -10770,18 +10240,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", "libc", "mio", "parking_lot 0.12.3", - "pin-project-lite", - "signal-hook-registry", - "socket2 0.5.7", + "pin-project-lite 0.2.15", + "socket2 0.5.8", "tokio-macros", "windows-sys 0.52.0", ] @@ -10794,7 +10263,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] @@ -10803,18 +10272,18 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.7", + "rustls 0.21.12", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", - "pin-project-lite", + "pin-project-lite 0.2.15", "tokio", "tokio-util", ] @@ -10827,7 +10296,7 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", - "rustls 0.21.7", + "rustls 0.21.12", "rustls-native-certs", "tokio", "tokio-rustls", @@ -10836,15 +10305,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", - "pin-project-lite", + "pin-project-lite 0.2.15", "tokio", ] @@ -10859,47 +10328,36 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.12" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.12", + "toml_edit", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" -dependencies = [ - "indexmap 2.0.0", - "toml_datetime", - "winnow 0.5.7", -] - -[[package]] -name = "toml_edit" -version = "0.22.12" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.7.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.18", + "winnow", ] [[package]] @@ -10911,8 +10369,7 @@ dependencies = [ "futures-core", "futures-util", "pin-project", - "pin-project-lite", - "tokio", + "pin-project-lite 0.2.15", "tower-layer", "tower-service", "tracing", @@ -10924,56 +10381,56 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "bytes", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", - "pin-project-lite", + "pin-project-lite 0.2.15", "tower-layer", "tower-service", ] [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", - "pin-project-lite", + "pin-project-lite 0.2.15", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -11002,9 +10459,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -11057,9 +10514,9 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand", + "rand 0.8.5", "smallvec", - "socket2 0.4.9", + "socket2 0.4.10", "thiserror", "tinyvec", "tokio", @@ -11076,14 +10533,14 @@ dependencies = [ "async-trait", "cfg-if", "data-encoding", - "enum-as-inner 0.6.0", + "enum-as-inner 0.6.1", "futures-channel", "futures-io", "futures-util", "idna 0.4.0", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "smallvec", "thiserror", "tinyvec", @@ -11092,6 +10549,26 @@ dependencies = [ "url", ] +[[package]] +name = "trust-dns-resolver" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" +dependencies = [ + "cfg-if", + "futures-util", + "ipconfig", + "lazy_static", + "lru-cache", + "parking_lot 0.12.3", + "resolv-conf", + "smallvec", + "thiserror", + "tokio", + "tracing", + "trust-dns-proto 0.22.0", +] + [[package]] name = "trust-dns-resolver" version = "0.23.2" @@ -11104,7 +10581,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "resolv-conf", "smallvec", "thiserror", @@ -11115,9 +10592,9 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" @@ -11125,13 +10602,14 @@ version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8dcd332a5496c026f1e14b7f3d2b7bd98e509660c04239c58b0ba38a12daded4" dependencies = [ + "dissimilar", "glob", "serde", "serde_derive", "serde_json", "target-triple", "termcolor", - "toml 0.8.12", + "toml 0.8.19", ] [[package]] @@ -11149,11 +10627,11 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 0.2.9", + "http 0.2.12", "httparse", "log", - "rand", - "rustls 0.21.7", + "rand 0.8.5", + "rustls 0.21.12", "sha1", "thiserror", "url", @@ -11168,21 +10646,15 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand", + "rand 0.8.5", "static_assertions", ] [[package]] name = "typenum" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" - -[[package]] -name = "ucd-trie" -version = "0.1.6" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "uint" @@ -11196,23 +10668,17 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" @@ -11223,39 +10689,17 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" - [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "unicode_categories" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" - -[[package]] -name = "universal-hash" -version = "0.4.1" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array 0.14.7", - "subtle 2.4.1", -] +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -11264,7 +10708,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.4.1", + "subtle 2.6.1", ] [[package]] @@ -11277,6 +10721,7 @@ dependencies = [ "bytes", "futures-io", "futures-util", + "tokio-util", ] [[package]] @@ -11303,21 +10748,15 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna 1.0.3", "percent-encoding", ] -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - [[package]] name = "utf-8" version = "0.7.6" @@ -11325,10 +10764,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] -name = "utf8parse" -version = "0.2.1" +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "valuable" @@ -11344,9 +10789,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "void" @@ -11356,9 +10801,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "w3f-bls" -version = "0.1.3" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7335e4c132c28cc43caef6adb339789e599e39adbe78da0c4d547fad48cbc331" +checksum = "70a3028804c8bbae2a97a15b71ffc0e308c4b01a520994aafa77d56e94e19024" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -11369,9 +10814,9 @@ dependencies = [ "arrayref", "constcat", "digest 0.10.7", - "rand", - "rand_chacha", - "rand_core", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "sha2 0.10.8", "sha3", "thiserror", @@ -11397,6 +10842,12 @@ dependencies = [ "try-lock", ] +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -11405,46 +10856,47 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11452,22 +10904,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "wasm-instrument" @@ -11480,9 +10932,9 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.116.0" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc942673e7684671f0c5708fc18993569d184265fd5223bb51fc8e5b9b6cfd52" +checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c" dependencies = [ "anyhow", "libc", @@ -11587,7 +11039,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" dependencies = [ "anyhow", - "base64 0.21.2", + "base64 0.21.7", "bincode", "directories-next", "file-per-thread-logger", @@ -11716,9 +11168,9 @@ dependencies = [ "log", "mach", "memfd", - "memoffset 0.8.0", + "memoffset", "paste", - "rand", + "rand 0.8.5", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -11740,9 +11192,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", @@ -11754,10 +11206,19 @@ version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring 0.17.3", + "ring 0.17.8", "untrusted 0.9.0", ] +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + [[package]] name = "webpki-roots" version = "0.25.4" @@ -11766,20 +11227,21 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "which" -version = "4.4.0" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ "either", - "libc", + "home", "once_cell", + "rustix 0.38.42", ] [[package]] name = "wide" -version = "0.7.11" +version = "0.7.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f" +checksum = "58e6db2670d2be78525979e9a5f9c69d296fd7d670549fe9ebf70f8708cb5019" dependencies = [ "bytemuck", "safe_arch", @@ -11787,9 +11249,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "winapi" @@ -11809,11 +11271,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -11824,30 +11286,40 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538" dependencies = [ - "windows-targets 0.48.5", + "windows-core 0.53.0", + "windows-targets 0.52.6", ] [[package]] -name = "windows" -version = "0.51.1" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-core", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.51.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd" dependencies = [ - "windows-targets 0.48.5", + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -11889,7 +11361,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -11924,17 +11405,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -11951,9 +11433,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -11969,9 +11451,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -11987,9 +11469,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -12005,9 +11493,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -12023,9 +11511,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -12041,9 +11529,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -12059,24 +11547,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" - -[[package]] -name = "winnow" -version = "0.5.7" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f495880723d0999eb3500a9064d8dbcf836460b24c17df80ea7b5794053aac" -dependencies = [ - "memchr", -] +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -12091,6 +11570,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "wyz" version = "0.5.1" @@ -12102,16 +11593,45 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" +dependencies = [ + "curve25519-dalek 3.2.0", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "x25519-dalek" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek", - "rand_core", + "curve25519-dalek 4.1.3", + "rand_core 0.6.4", "serde", "zeroize", ] +[[package]] +name = "x509-parser" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +dependencies = [ + "asn1-rs 0.5.2", + "base64 0.13.1", + "data-encoding", + "der-parser 8.2.0", + "lazy_static", + "nom", + "oid-registry 0.6.1", + "rusticata-macros", + "thiserror", + "time", +] + [[package]] name = "x509-parser" version = "0.15.1" @@ -12140,29 +11660,17 @@ dependencies = [ "der-parser 9.0.0", "lazy_static", "nom", - "oid-registry 0.7.0", + "oid-registry 0.7.1", "rusticata-macros", "thiserror", "time", ] -[[package]] -name = "xcm-procedural" -version = "10.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fb4f14094d65c500a59bcf540cf42b99ee82c706edd6226a92e769ad60563e" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.82", -] - [[package]] name = "xml-rs" -version = "0.8.20" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" +checksum = "ea8b391c9a790b496184c29f7f93b9ed5b16abb306c05415b68bcc16e4d06432" [[package]] name = "xmltree" @@ -12173,6 +11681,20 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "yamux" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" +dependencies = [ + "futures", + "log", + "nohash-hasher", + "parking_lot 0.12.3", + "rand 0.8.5", + "static_assertions", +] + [[package]] name = "yamux" version = "0.12.1" @@ -12184,7 +11706,7 @@ dependencies = [ "nohash-hasher", "parking_lot 0.12.3", "pin-project", - "rand", + "rand 0.8.5", "static_assertions", ] @@ -12197,24 +11719,70 @@ dependencies = [ "time", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", + "synstructure 0.13.1", +] + [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", + "synstructure 0.13.1", ] [[package]] @@ -12234,7 +11802,29 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.90", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -12277,11 +11867,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 9eb77af0ee..af5f853014 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,44 +1,50 @@ [workspace] members = [ - "frame/base-fee", - "frame/dynamic-fee", - "frame/ethereum", - "frame/evm", - "frame/evm/precompile/sha3fips", - "frame/evm/precompile/simple", - "frame/evm/precompile/modexp", - "frame/evm/precompile/ed25519", - "frame/evm/precompile/bn128", - "frame/evm/precompile/blake2", - "frame/evm/precompile/bw6761", - "frame/evm/precompile/bls12377", - "frame/evm/precompile/bls12381", - "frame/evm/precompile/dispatch", - "frame/evm/precompile/curve25519", - "frame/evm/precompile/storage-cleaner", - "frame/evm-chain-id", - "frame/hotfix-sufficients", - "client/api", - "client/consensus", - "client/rpc-core", - "client/rpc", - "client/rpc-v2", - "client/rpc-v2/api", - "client/rpc-v2/types", - "client/db", - "client/storage", - "client/mapping-sync", - "primitives/account", - "primitives/consensus", - "primitives/dynamic-fee", - "primitives/evm", - "primitives/rpc", - "primitives/self-contained", - "template/node", - "template/runtime", - "precompiles", - "precompiles/macro", - "precompiles/tests-external", + # "frame/base-fee", + # "frame/dynamic-fee", + # "frame/ethereum", + # "frame/evm", + # "frame/evm/precompile/sha3fips", + # "frame/evm/precompile/simple", + # "frame/evm/precompile/modexp", + # "frame/evm/precompile/ed25519", + # "frame/evm/precompile/bn128", + # "frame/evm/precompile/blake2", + # "frame/evm/precompile/bw6761", + # "frame/evm/precompile/bls12377", + # "frame/evm/precompile/bls12381", + # "frame/evm/precompile/dispatch", + # "frame/evm/precompile/curve25519", + # "frame/evm/precompile/storage-cleaner", + # "frame/evm-chain-id", + # "frame/hotfix-sufficients", + # "client/api", + # "client/consensus", + # "client/rpc-core", + # "client/rpc", + # "client/rpc-v2", + # "client/rpc-v2/api", + # "client/rpc-v2/types", + # "client/db", + # "client/storage", + # "client/mapping-sync", + # "primitives/account", + # "primitives/consensus", + # "primitives/dynamic-fee", + # "primitives/evm", + # "primitives/rpc", + # "primitives/self-contained", + # "template/node", + # "template/runtime", + # "precompiles", + # "precompiles/macro", + # "precompiles/tests-external", + "test-utils", + # "test-utils/cli", + "test-utils/client", + "test-utils/runtime", + "test-utils/runtime/client", + "test-utils/runtime/transaction-pool", ] resolver = "2" @@ -75,53 +81,54 @@ quote = "1.0.37" rlp = { version = "0.5.2", default-features = false } scale-codec = { package = "parity-scale-codec", version = "3.6.12", default-features = false, features = ["derive"] } scale-info = { version = "2.11.3", default-features = false, features = ["derive"] } -serde = { version = "1.0", default-features = false, features = ["derive", "alloc"] } -serde_json = "1.0" +serde = { version = "1.0.197", default-features = false } +serde_json = { version = "1.0.121", default-features = false } +serde_derive = { version = "1.0.117" } similar-asserts = "1.6.0" sqlx = { version = "0.7.4", default-features = false, features = ["macros"] } -thiserror = "1.0" -tokio = "1.40.0" +thiserror = { version = "1.0.48" } +tokio = { version = "1.37.0", default-features = false } # Substrate Client -sc-basic-authorship = { version = "0.45.0" } -sc-block-builder = { version = "0.42.0" } -sc-chain-spec = { version = "38.0.0" } +sc-basic-authorship = { version = "0.45.0", default-features = false } +sc-block-builder = { version = "0.42.0", default-features = false } +sc-chain-spec = { version = "38.0.0", default-features = false } sc-cli = { version = "0.47.0", default-features = false } -sc-client-api = { version = "37.0.0" } +sc-client-api = { version = "37.0.0", default-features = false } sc-client-db = { version = "0.44.0", default-features = false } -sc-consensus = { version = "0.44.0" } -sc-consensus-aura = { version = "0.45.0" } -sc-consensus-grandpa = { version = "0.30.0" } -sc-consensus-manual-seal = { version = "0.46.0" } -sc-executor = { version = "0.40.1" } -sc-keystore = { version = "33.0.0" } -sc-network = { version = "0.45.0" } -sc-network-common = { version = "0.44.0" } -sc-network-sync = { version = "0.44.0" } -sc-offchain = { version = "40.0.0" } -sc-rpc = { version = "40.0.0" } -sc-rpc-api = { version = "0.44.0" } +sc-consensus = { version = "0.44.0", default-features = false } +sc-consensus-aura = { version = "0.45.0", default-features = false } +sc-consensus-grandpa = { version = "0.30.0", default-features = false } +sc-consensus-manual-seal = { version = "0.46.0", default-features = false } +sc-executor = { version = "0.40.1", default-features = false } +sc-keystore = { version = "33.0.0", default-features = false } +sc-network = { version = "0.45.0", default-features = false } +sc-network-common = { version = "0.44.0", default-features = false } +sc-network-sync = { version = "0.44.0", default-features = false } +sc-offchain = { version = "34.0.0", default-features = false } +sc-rpc = { version = "40.0.0", default-features = false } +sc-rpc-api = { version = "0.44.0", default-features = false } sc-service = { version = "0.46.0", default-features = false } -sc-telemetry = { version = "25.0.0" } -sc-transaction-pool = { version = "37.0.0" } -sc-transaction-pool-api = { version = "37.0.0" } -sc-utils = { version = "17.0.0" } +sc-telemetry = { version = "25.0.0", default-features = false } +sc-transaction-pool = { version = "37.0.0", default-features = false } +sc-transaction-pool-api = { version = "37.0.0", default-features = false } +sc-utils = { version = "17.0.0", default-features = false } # Substrate Primitive sp-api = { version = "34.0.0", default-features = false } sp-block-builder = { version = "34.0.0", default-features = false } -sp-blockchain = { version = "37.0.1" } -sp-consensus = { version = "0.40.0" } +sp-blockchain = { version = "37.0.1", default-features = false } +sp-consensus = { version = "0.40.0", default-features = false } sp-consensus-aura = { version = "0.40.0", default-features = false } sp-consensus-grandpa = { version = "21.0.0", default-features = false } sp-core = { version = "34.0.0", default-features = false } sp-crypto-hashing = { version = "0.1.0", default-features = false } -sp-database = { version = "10.0.0" } +sp-database = { version = "10.0.0", default-features = false } sp-externalities = { version = "0.29.0", default-features = false } sp-genesis-builder = { version = "0.15.1", default-features = false } sp-inherents = { version = "34.0.0", default-features = false } sp-io = { version = "38.0.0", default-features = false } -sp-keyring = { version = "39.0.0" } -sp-keystore = { version = "0.40.0" } +sp-keyring = { version = "39.0.0", default-features = false } +sp-keystore = { version = "0.40.0", default-features = false } sp-offchain = { version = "34.0.0", default-features = false } sp-runtime = { version = "39.0.1", default-features = false } sp-runtime-interface = { version = "28.0.0", default-features = false } @@ -140,30 +147,31 @@ frame-support = { version = "38.0.0", default-features = false } frame-system = { version = "38.0.0", default-features = false } frame-system-benchmarking = { version = "38.0.0", default-features = false } frame-system-rpc-runtime-api = { version = "34.0.0", default-features = false } -frame-metadata-hash-extension = { version = "0.6.0" } +frame-metadata-hash-extension = { version = "0.6.0", default-features = false } pallet-aura = { version = "37.0.0", default-features = false } pallet-balances = { version = "39.0.0", default-features = false } pallet-grandpa = { version = "38.0.0", default-features = false } pallet-sudo = { version = "38.0.0", default-features = false } pallet-timestamp = { version = "37.0.0", default-features = false } pallet-transaction-payment = { version = "38.0.0", default-features = false } -pallet-transaction-payment-rpc = { version = "41.0.0" } +pallet-transaction-payment-rpc = { version = "41.0.0", default-features = false } pallet-transaction-payment-rpc-runtime-api = { version = "38.0.0", default-features = false } pallet-utility = { version = "38.0.0", default-features = false } -pallet-babe = { version = "38.0.0" } +pallet-babe = { version = "38.0.0", default-features = false } # Substrate Utility -frame-benchmarking-cli = { version = "43.0.0" } -prometheus-endpoint = { version = "0.17.0", package = "substrate-prometheus-endpoint" } -substrate-build-script-utils = { version = "11.0.0" } -substrate-frame-rpc-system = { version = "39.0.0" } +frame-benchmarking-cli = { default-features = false, version = "42.0.1" } +prometheus-endpoint = { default-features = false, package = "substrate-prometheus-endpoint", version = "0.17.0" } +substrate-build-script-utils = { version = "11.0.0", default-features = false } +substrate-frame-rpc-system = { version = "39.0.0", default-features = false } +substrate-wasm-builder = { version = "24.0.0", default-features = false } substrate-test-client = { path = "test-utils/client", version = "2.0.1" } substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0" } substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0" } -substrate-wasm-builder = { version = "24.0.1" } - +substrate-test-runtime-transaction-pool = { path = "test-utils/runtime/transaction-pool" } +substrate-test-utils = { path = "test-utils" } # XCM xcm = { version = "14.2.0", package = "staging-xcm", default-features = false } - +trybuild = { version = "1.0.88" } # Arkworks ark-bls12-377 = { version = "0.4.0", default-features = false, features = ["curve"] } ark-bls12-381 = { version = "0.4.0", default-features = false, features = ["curve"] } @@ -173,51 +181,56 @@ ark-ff = { version = "0.4.0", default-features = false } ark-std = { version = "0.4.0", default-features = false } # Frontier Client -fc-api = { path = "client/api" } -fc-cli = { path = "client/cli", default-features = false } -fc-consensus = { path = "client/consensus" } -fc-db = { path = "client/db", default-features = false } -fc-mapping-sync = { path = "client/mapping-sync", default-features = false } -fc-rpc = { path = "client/rpc", default-features = false } -fc-rpc-core = { path = "client/rpc-core" } -fc-rpc-v2 = { path = "client/rpc-v2" } -fc-rpc-v2-api = { path = "client/rpc-v2/api" } -fc-rpc-v2-types = { path = "client/rpc-v2/types" } -fc-storage = { path = "client/storage" } +# fc-api = { path = "client/api" } +# fc-cli = { path = "client/cli", default-features = false } +# fc-consensus = { path = "client/consensus" } +# fc-db = { path = "client/db", default-features = false } +# fc-mapping-sync = { path = "client/mapping-sync", default-features = false } +# fc-rpc = { path = "client/rpc", default-features = false } +# fc-rpc-core = { path = "client/rpc-core" } +# fc-rpc-v2 = { path = "client/rpc-v2" } +# fc-rpc-v2-api = { path = "client/rpc-v2/api" } +# fc-rpc-v2-types = { path = "client/rpc-v2/types" } +# fc-storage = { path = "client/storage" } # Frontier Primitive -fp-account = { path = "primitives/account", default-features = false } -fp-consensus = { path = "primitives/consensus", default-features = false } -fp-dynamic-fee = { path = "primitives/dynamic-fee", default-features = false } -fp-ethereum = { path = "primitives/ethereum", default-features = false } -fp-evm = { path = "primitives/evm", default-features = false } -fp-rpc = { path = "primitives/rpc", default-features = false } -fp-self-contained = { path = "primitives/self-contained", default-features = false } -fp-storage = { path = "primitives/storage", default-features = false } +# fp-account = { path = "primitives/account", default-features = false } +# fp-consensus = { path = "primitives/consensus", default-features = false } +# fp-dynamic-fee = { path = "primitives/dynamic-fee", default-features = false } +# fp-ethereum = { path = "primitives/ethereum", default-features = false } +# fp-evm = { path = "primitives/evm", default-features = false } +# fp-rpc = { path = "primitives/rpc", default-features = false } +# fp-self-contained = { path = "primitives/self-contained", default-features = false } +# fp-storage = { path = "primitives/storage", default-features = false } # Frontier FRAME -pallet-base-fee = { path = "frame/base-fee", default-features = false } -pallet-dynamic-fee = { path = "frame/dynamic-fee", default-features = false } -pallet-ethereum = { path = "frame/ethereum", default-features = false } -pallet-evm = { path = "frame/evm", default-features = false } -pallet-evm-chain-id = { path = "frame/evm-chain-id", default-features = false } -pallet-evm-precompile-modexp = { path = "frame/evm/precompile/modexp", default-features = false } -pallet-evm-precompile-sha3fips = { path = "frame/evm/precompile/sha3fips", default-features = false } -pallet-evm-precompile-simple = { path = "frame/evm/precompile/simple", default-features = false } -pallet-evm-test-vector-support = { path = "frame/evm/test-vector-support" } -pallet-hotfix-sufficients = { path = "frame/hotfix-sufficients", default-features = false } +# pallet-base-fee = { path = "frame/base-fee", default-features = false } +# pallet-dynamic-fee = { path = "frame/dynamic-fee", default-features = false } +# pallet-ethereum = { path = "frame/ethereum", default-features = false } +# pallet-evm = { path = "frame/evm", default-features = false } +# pallet-evm-chain-id = { path = "frame/evm-chain-id", default-features = false } +# pallet-evm-precompile-modexp = { path = "frame/evm/precompile/modexp", default-features = false } +# pallet-evm-precompile-sha3fips = { path = "frame/evm/precompile/sha3fips", default-features = false } +# pallet-evm-precompile-simple = { path = "frame/evm/precompile/simple", default-features = false } +# pallet-evm-test-vector-support = { path = "frame/evm/test-vector-support" } +# pallet-hotfix-sufficients = { path = "frame/hotfix-sufficients", default-features = false } # Frontier Utility -precompile-utils = { path = "precompiles", default-features = false } +# precompile-utils = { path = "precompiles", default-features = false } # Frontier Template -frontier-template-runtime = { path = "template/runtime", default-features = false } +# frontier-template-runtime = { path = "template/runtime", default-features = false } array-bytes = { version = "6.2.2", default-features = false } codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } -sp-application-crypto = { version = "38.0.0" } -sp-consensus-babe = { version = "0.40.0" } -sp-trie = { version = "37.0.0" } +sp-application-crypto = { version = "38.0.0", default-features = false } +sp-consensus-babe = { default-features = false, version = "0.40.0" } +sp-trie = { default-features = false, version = "37.0.0" } tracing = { version = "0.1.37", default-features = false } trie-db = { version = "0.29.0", default-features = false } -sc-executor-common = { version = "0.35.0" } -sp-tracing = { version = "17.0.1" } +sc-executor-common = { default-features = false, version = "0.35.0" } +sp-tracing = { default-features = false, version = "17.0.0" } + +# [workspace.dev-dependencies] +# substrate-test-client = { path = "test-utils/client", version = "2.0.1", default-features = false } +# substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0", default-features = false } +# substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0", default-features = false } [profile.release] diff --git a/client/cli/Cargo.toml b/client/cli/Cargo.toml index e05c20c63e..5b4e80d638 100644 --- a/client/cli/Cargo.toml +++ b/client/cli/Cargo.toml @@ -34,7 +34,8 @@ sc-block-builder = { workspace = true } sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } sp-io = { workspace = true } -substrate-test-runtime-client = { workspace = true } +substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } + # Frontier fc-api = { workspace = true } fc-db = { workspace = true, features = ["rocksdb"] } diff --git a/client/db/Cargo.toml b/client/db/Cargo.toml index 6d188f4e82..34f7ae109c 100644 --- a/client/db/Cargo.toml +++ b/client/db/Cargo.toml @@ -44,7 +44,7 @@ tempfile = "3.10.1" # Substrate sc-block-builder = { workspace = true } sp-consensus = { workspace = true } -substrate-test-runtime-client = { workspace = true } +substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } [features] default = ["rocksdb"] diff --git a/client/mapping-sync/Cargo.toml b/client/mapping-sync/Cargo.toml index 6a0a048df1..1c1db4a311 100644 --- a/client/mapping-sync/Cargo.toml +++ b/client/mapping-sync/Cargo.toml @@ -43,7 +43,7 @@ sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } sp-core = { workspace = true, features = ["default"] } sp-io = { workspace = true } -substrate-test-runtime-client = { workspace = true } +substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } # Frontier fp-consensus = { workspace = true, features = ["default"] } fp-storage = { workspace = true, features = ["default"] } diff --git a/client/rpc/Cargo.toml b/client/rpc/Cargo.toml index 4db1948c5e..da2b49d504 100644 --- a/client/rpc/Cargo.toml +++ b/client/rpc/Cargo.toml @@ -68,7 +68,7 @@ tempfile = "3.10.1" sc-block-builder = { workspace = true } sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } -substrate-test-runtime-client = { workspace = true } +substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } # Frontier fc-db = { workspace = true } diff --git a/frame/dynamic-fee/Cargo.toml b/frame/dynamic-fee/Cargo.toml index a544d3088e..c5b9908939 100644 --- a/frame/dynamic-fee/Cargo.toml +++ b/frame/dynamic-fee/Cargo.toml @@ -29,7 +29,7 @@ sp-io = { workspace = true, features = ["default"] } sp-runtime = { workspace = true, features = ["default"] } [features] -default = ["std"] +default = [ "std" ] std = [ "scale-codec/std", "scale-info/std", diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 18e88df68c..d2f5edab55 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,8 +1,17 @@ [toolchain] # Stable -channel = "1.79.0" # rustc 1.79.0 (129f3b996 2024-06-10) +channel = "stable" # rustc 1.79.0 (129f3b996 2024-06-10) # Nightly #channel = "nightly-2024-02-05" # rustc 1.78.0-nightly (f067fd608 2024-02-05) -components = ["cargo", "clippy", "rustc", "rustfmt", "rust-src", "rust-docs"] +components = [ + "cargo", + "clippy", + "rust-analyzer", + "rust-src", + "rust-std", + "rustc", + "rustc-dev", + "rustfmt", +] profile = "minimal" targets = ["wasm32-unknown-unknown"] \ No newline at end of file diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml new file mode 100644 index 0000000000..7a2b2ae345 --- /dev/null +++ b/test-utils/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "substrate-test-utils" +version = "3.0.0" +authors = { workspace = true } +edition = { workspace = true } +repository = { workspace = true } +license = "Apache-2.0" +homepage = "https://substrate.io" +description = "Substrate test utilities (polkadot v1.15.0)" +publish = false + + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +futures = { workspace = true } +tokio = { features = ["macros", "time"], workspace = true, default-features = true } + +[dev-dependencies] +trybuild = { features = ["diff"], workspace = true } +sc-service = { default-features = true, workspace = true } diff --git a/test-utils/client/Cargo.toml b/test-utils/client/Cargo.toml index c28e602b98..c6ce216ada 100644 --- a/test-utils/client/Cargo.toml +++ b/test-utils/client/Cargo.toml @@ -44,3 +44,6 @@ sp-runtime.default-features = true sp-state-machine.workspace = true sp-state-machine.default-features = true tokio = { features = ["sync"], workspace = true, default-features = true } + +[features] +std = [] diff --git a/test-utils/runtime/Cargo.toml b/test-utils/runtime/Cargo.toml index 934d3363ab..58d8da654d 100644 --- a/test-utils/runtime/Cargo.toml +++ b/test-utils/runtime/Cargo.toml @@ -109,6 +109,8 @@ std = [ "substrate-wasm-builder", "tracing/std", "trie-db/std", + "serde/std", + "substrate-test-runtime-client/std" ] # Special feature to disable logging diff --git a/test-utils/runtime/client/Cargo.toml b/test-utils/runtime/client/Cargo.toml index 7a9cda38d9..d9787cb934 100644 --- a/test-utils/runtime/client/Cargo.toml +++ b/test-utils/runtime/client/Cargo.toml @@ -30,5 +30,10 @@ sp-core.workspace = true sp-core.default-features = true sp-runtime.workspace = true sp-runtime.default-features = true -substrate-test-client.workspace = true -substrate-test-runtime.workspace = true +substrate-test-client = { path = "../../client", version = "2.0.1" } +substrate-test-runtime = { path = "../../runtime", version = "2.0.0" } + +[features] +std = [ + "substrate-test-client/std" +] diff --git a/test-utils/src/lib.rs b/test-utils/src/lib.rs new file mode 100644 index 0000000000..30472e79b3 --- /dev/null +++ b/test-utils/src/lib.rs @@ -0,0 +1,57 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Test utils + +/// Panic when the vectors are different, without taking the order into account. +/// +/// # Examples +/// +/// ```rust +/// #[macro_use] +/// # use substrate_test_utils::{assert_eq_uvec}; +/// # fn main() { +/// assert_eq_uvec!(vec![1,2], vec![2,1]); +/// # } +/// ``` +/// +/// ```rust,should_panic +/// #[macro_use] +/// # use substrate_test_utils::{assert_eq_uvec}; +/// # fn main() { +/// assert_eq_uvec!(vec![1,2,3], vec![2,1]); +/// # } +/// ``` +#[macro_export] +macro_rules! assert_eq_uvec { + ( $x:expr, $y:expr $(,)? ) => { + $crate::__assert_eq_uvec!($x, $y); + $crate::__assert_eq_uvec!($y, $x); + }; +} + +#[macro_export] +#[doc(hidden)] +macro_rules! __assert_eq_uvec { + ( $x:expr, $y:expr ) => { + $x.iter().for_each(|e| { + if !$y.contains(e) { + panic!("vectors not equal: {:?} != {:?}", $x, $y); + } + }); + }; +} From 1e01b59aadd24560734929855d01c9badb735adf Mon Sep 17 00:00:00 2001 From: magecnion Date: Tue, 17 Dec 2024 12:13:22 +0100 Subject: [PATCH 06/15] use workspace and remove non necessary code --- Cargo.lock | 183 -------- Cargo.toml | 2 - client/cli/Cargo.toml | 2 +- client/db/Cargo.toml | 2 +- client/mapping-sync/Cargo.toml | 2 +- client/rpc/Cargo.toml | 2 +- test-utils/Cargo.toml | 6 +- test-utils/client/Cargo.toml | 3 - test-utils/runtime/Cargo.toml | 4 +- test-utils/runtime/client/Cargo.toml | 9 +- .../runtime/transaction-pool/Cargo.toml | 28 -- test-utils/runtime/transaction-pool/README.md | 5 - .../runtime/transaction-pool/src/lib.rs | 413 ------------------ 13 files changed, 10 insertions(+), 651 deletions(-) delete mode 100644 test-utils/runtime/transaction-pool/Cargo.toml delete mode 100644 test-utils/runtime/transaction-pool/README.md delete mode 100644 test-utils/runtime/transaction-pool/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index ebe1a0e686..8af7c7942b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -533,27 +533,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "prettyplease 0.2.25", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.90", -] - [[package]] name = "bitcoin-internals" version = "0.2.0" @@ -740,17 +719,6 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "c2-chacha" version = "0.3.3" @@ -804,15 +772,6 @@ dependencies = [ "shlex", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-expr" version = "0.15.8" @@ -928,17 +887,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" version = "4.5.23" @@ -1634,12 +1582,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "dissimilar" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59f8e79d1fbf76bdfbde321e902714bf6c49df88a7dda6fc682fc2979226962d" - [[package]] name = "docify" version = "0.2.9" @@ -2583,12 +2525,6 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "governor" version = "0.6.3" @@ -3538,48 +3474,18 @@ dependencies = [ "parking_lot 0.12.3", ] -[[package]] -name = "kvdb-rocksdb" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" -dependencies = [ - "kvdb", - "num_cpus", - "parking_lot 0.12.3", - "regex", - "rocksdb", - "smallvec", -] - [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.168" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" -[[package]] -name = "libloading" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - [[package]] name = "libm" version = "0.2.11" @@ -4409,21 +4315,6 @@ dependencies = [ "redox_syscall 0.5.8", ] -[[package]] -name = "librocksdb-sys" -version = "0.11.0+8.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" -dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "tikv-jemalloc-sys", -] - [[package]] name = "libsecp256k1" version = "0.7.1" @@ -5745,12 +5636,6 @@ dependencies = [ "password-hash", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pem" version = "1.1.1" @@ -6768,16 +6653,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rocksdb" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" -dependencies = [ - "libc", - "librocksdb-sys", -] - [[package]] name = "route-recognizer" version = "0.3.1" @@ -7123,7 +6998,6 @@ dependencies = [ "hash-db", "kvdb", "kvdb-memorydb", - "kvdb-rocksdb", "linked-hash-map", "log", "parity-db", @@ -9945,31 +9819,6 @@ dependencies = [ "substrate-test-runtime", ] -[[package]] -name = "substrate-test-runtime-transaction-pool" -version = "2.0.0" -dependencies = [ - "futures", - "parity-scale-codec", - "parking_lot 0.12.3", - "sc-transaction-pool", - "sc-transaction-pool-api 37.0.0", - "sp-blockchain 37.0.1", - "sp-runtime 39.0.3", - "substrate-test-runtime-client", - "thiserror", -] - -[[package]] -name = "substrate-test-utils" -version = "3.0.0" -dependencies = [ - "futures", - "sc-service", - "tokio", - "trybuild", -] - [[package]] name = "substrate-wasm-builder" version = "24.0.1" @@ -10090,12 +9939,6 @@ version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" -[[package]] -name = "target-triple" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078" - [[package]] name = "tempfile" version = "3.14.0" @@ -10163,16 +10006,6 @@ dependencies = [ "num_cpus", ] -[[package]] -name = "tikv-jemalloc-sys" -version = "0.5.4+5.3.0-patched" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "time" version = "0.3.37" @@ -10596,22 +10429,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "trybuild" -version = "1.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dcd332a5496c026f1e14b7f3d2b7bd98e509660c04239c58b0ba38a12daded4" -dependencies = [ - "dissimilar", - "glob", - "serde", - "serde_derive", - "serde_json", - "target-triple", - "termcolor", - "toml 0.8.19", -] - [[package]] name = "tt-call" version = "1.0.9" diff --git a/Cargo.toml b/Cargo.toml index af5f853014..c79eaa6098 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,6 @@ members = [ "test-utils/client", "test-utils/runtime", "test-utils/runtime/client", - "test-utils/runtime/transaction-pool", ] resolver = "2" @@ -167,7 +166,6 @@ substrate-wasm-builder = { version = "24.0.0", default-features = false } substrate-test-client = { path = "test-utils/client", version = "2.0.1" } substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0" } substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0" } -substrate-test-runtime-transaction-pool = { path = "test-utils/runtime/transaction-pool" } substrate-test-utils = { path = "test-utils" } # XCM xcm = { version = "14.2.0", package = "staging-xcm", default-features = false } diff --git a/client/cli/Cargo.toml b/client/cli/Cargo.toml index 5b4e80d638..5f9b900a03 100644 --- a/client/cli/Cargo.toml +++ b/client/cli/Cargo.toml @@ -34,7 +34,7 @@ sc-block-builder = { workspace = true } sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } sp-io = { workspace = true } -substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } +substrate-test-runtime-client = { workspace = true } # Frontier fc-api = { workspace = true } diff --git a/client/db/Cargo.toml b/client/db/Cargo.toml index 34f7ae109c..6d188f4e82 100644 --- a/client/db/Cargo.toml +++ b/client/db/Cargo.toml @@ -44,7 +44,7 @@ tempfile = "3.10.1" # Substrate sc-block-builder = { workspace = true } sp-consensus = { workspace = true } -substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } +substrate-test-runtime-client = { workspace = true } [features] default = ["rocksdb"] diff --git a/client/mapping-sync/Cargo.toml b/client/mapping-sync/Cargo.toml index 1c1db4a311..6a0a048df1 100644 --- a/client/mapping-sync/Cargo.toml +++ b/client/mapping-sync/Cargo.toml @@ -43,7 +43,7 @@ sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } sp-core = { workspace = true, features = ["default"] } sp-io = { workspace = true } -substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } +substrate-test-runtime-client = { workspace = true } # Frontier fp-consensus = { workspace = true, features = ["default"] } fp-storage = { workspace = true, features = ["default"] } diff --git a/client/rpc/Cargo.toml b/client/rpc/Cargo.toml index da2b49d504..ddf65c3449 100644 --- a/client/rpc/Cargo.toml +++ b/client/rpc/Cargo.toml @@ -68,7 +68,7 @@ tempfile = "3.10.1" sc-block-builder = { workspace = true } sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } -substrate-test-runtime-client = { path = "../../test-utils/runtime/client", version = "2.0.0" } +substrate-test-runtime-client ={ workspace = true } # Frontier fc-db = { workspace = true } diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml index 7a2b2ae345..869d879d05 100644 --- a/test-utils/Cargo.toml +++ b/test-utils/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "substrate-test-utils" version = "3.0.0" -authors = { workspace = true } -edition = { workspace = true } -repository = { workspace = true } +authors.workspace = true +edition.workspace = true license = "Apache-2.0" homepage = "https://substrate.io" +repository.workspace = true description = "Substrate test utilities (polkadot v1.15.0)" publish = false diff --git a/test-utils/client/Cargo.toml b/test-utils/client/Cargo.toml index c6ce216ada..c28e602b98 100644 --- a/test-utils/client/Cargo.toml +++ b/test-utils/client/Cargo.toml @@ -44,6 +44,3 @@ sp-runtime.default-features = true sp-state-machine.workspace = true sp-state-machine.default-features = true tokio = { features = ["sync"], workspace = true, default-features = true } - -[features] -std = [] diff --git a/test-utils/runtime/Cargo.toml b/test-utils/runtime/Cargo.toml index 58d8da654d..dc1c281021 100644 --- a/test-utils/runtime/Cargo.toml +++ b/test-utils/runtime/Cargo.toml @@ -60,7 +60,7 @@ sc-chain-spec = { default-features = true, workspace = true } sc-executor = { default-features = true, workspace = true } sc-executor-common = { default-features = true, workspace = true } sp-consensus = { default-features = true, workspace = true } -substrate-test-runtime-client = { path = "client" } +substrate-test-runtime-client = { workspace = true } sp-tracing = { default-features = true, workspace = true } serde = { features = ["alloc", "derive"], workspace = true } serde_json = { features = ["alloc"], workspace = true } @@ -109,8 +109,6 @@ std = [ "substrate-wasm-builder", "tracing/std", "trie-db/std", - "serde/std", - "substrate-test-runtime-client/std" ] # Special feature to disable logging diff --git a/test-utils/runtime/client/Cargo.toml b/test-utils/runtime/client/Cargo.toml index d9787cb934..7a9cda38d9 100644 --- a/test-utils/runtime/client/Cargo.toml +++ b/test-utils/runtime/client/Cargo.toml @@ -30,10 +30,5 @@ sp-core.workspace = true sp-core.default-features = true sp-runtime.workspace = true sp-runtime.default-features = true -substrate-test-client = { path = "../../client", version = "2.0.1" } -substrate-test-runtime = { path = "../../runtime", version = "2.0.0" } - -[features] -std = [ - "substrate-test-client/std" -] +substrate-test-client.workspace = true +substrate-test-runtime.workspace = true diff --git a/test-utils/runtime/transaction-pool/Cargo.toml b/test-utils/runtime/transaction-pool/Cargo.toml deleted file mode 100644 index 0083bc8235..0000000000 --- a/test-utils/runtime/transaction-pool/Cargo.toml +++ /dev/null @@ -1,28 +0,0 @@ -[package] -name = "substrate-test-runtime-transaction-pool" -version = "2.0.0" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -homepage = "https://substrate.io" -repository.workspace = true -publish = false -description = "substrate-test-runtime-transaction-pool (polkadot v1.15.0)" - -[package.metadata.docs.rs] -targets = ["x86_64-unknown-linux-gnu"] - -[dependencies] -codec = { workspace = true, default-features = true } -futures = { workspace = true } -parking_lot = { workspace = true, default-features = true } -thiserror = { workspace = true } -sc-transaction-pool.workspace = true -sc-transaction-pool.default-features = true -sc-transaction-pool-api.workspace = true -sc-transaction-pool-api.default-features = true -sp-blockchain.workspace = true -sp-blockchain.default-features = true -sp-runtime.workspace = true -sp-runtime.default-features = true -substrate-test-runtime-client.workspace = true diff --git a/test-utils/runtime/transaction-pool/README.md b/test-utils/runtime/transaction-pool/README.md deleted file mode 100644 index 317980bb85..0000000000 --- a/test-utils/runtime/transaction-pool/README.md +++ /dev/null @@ -1,5 +0,0 @@ - - -## Release - -polkadot v1.15.0 diff --git a/test-utils/runtime/transaction-pool/src/lib.rs b/test-utils/runtime/transaction-pool/src/lib.rs deleted file mode 100644 index 5202e6e651..0000000000 --- a/test-utils/runtime/transaction-pool/src/lib.rs +++ /dev/null @@ -1,413 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Test utils for the transaction pool together with the test runtime. -//! -//! See [`TestApi`] for more information. - -use codec::Encode; -use futures::future::ready; -use parking_lot::RwLock; -use sc_transaction_pool::ChainApi; -use sp_blockchain::{CachedHeaderMetadata, TreeRoute}; -use sp_runtime::{ - generic::{self, BlockId}, - traits::{ - BlakeTwo256, Block as BlockT, Hash as HashT, Header as _, NumberFor, TrailingZeroInput, - }, - transaction_validity::{ - InvalidTransaction, TransactionSource, TransactionValidity, TransactionValidityError, - ValidTransaction, - }, -}; -use std::collections::{BTreeMap, HashMap, HashSet}; -use substrate_test_runtime_client::{ - runtime::{ - AccountId, Block, BlockNumber, Extrinsic, ExtrinsicBuilder, Hash, Header, Nonce, Transfer, - TransferData, - }, - AccountKeyring::{self, *}, -}; - -/// Error type used by [`TestApi`]. -#[derive(Debug, thiserror::Error)] -#[error(transparent)] -pub struct Error(#[from] sc_transaction_pool_api::error::Error); - -impl sc_transaction_pool_api::error::IntoPoolError for Error { - fn into_pool_error(self) -> Result { - Ok(self.0) - } -} - -pub enum IsBestBlock { - Yes, - No, -} - -impl IsBestBlock { - pub fn is_best(&self) -> bool { - matches!(self, Self::Yes) - } -} - -impl From for IsBestBlock { - fn from(is_best: bool) -> Self { - if is_best { - Self::Yes - } else { - Self::No - } - } -} - -#[derive(Default)] -pub struct ChainState { - pub block_by_number: BTreeMap>, - pub block_by_hash: HashMap, - pub nonces: HashMap, - pub invalid_hashes: HashSet, - pub priorities: HashMap, -} - -/// Test Api for transaction pool. -pub struct TestApi { - valid_modifier: RwLock>, - chain: RwLock, - validation_requests: RwLock>, -} - -impl TestApi { - /// Test Api with Alice nonce set initially. - pub fn with_alice_nonce(nonce: u64) -> Self { - let api = Self::empty(); - - api.chain.write().nonces.insert(Alice.into(), nonce); - - api - } - - /// Default Test Api - pub fn empty() -> Self { - let api = TestApi { - valid_modifier: RwLock::new(Box::new(|_| {})), - chain: Default::default(), - validation_requests: RwLock::new(Default::default()), - }; - - // Push genesis block - api.push_block(0, Vec::new(), true); - - api - } - - /// Set hook on modify valid result of transaction. - pub fn set_valid_modifier(&self, modifier: Box) { - *self.valid_modifier.write() = modifier; - } - - /// Push block under given number. - pub fn push_block( - &self, - block_number: BlockNumber, - xts: Vec, - is_best_block: bool, - ) -> Header { - let parent_hash = { - let chain = self.chain.read(); - block_number - .checked_sub(1) - .and_then(|num| { - chain.block_by_number.get(&num).map(|blocks| blocks[0].0.header.hash()) - }) - .unwrap_or_default() - }; - - self.push_block_with_parent(parent_hash, xts, is_best_block) - } - - /// Push a block using the given `parent`. - /// - /// Panics if `parent` does not exists. - pub fn push_block_with_parent( - &self, - parent: Hash, - xts: Vec, - is_best_block: bool, - ) -> Header { - // `Hash::default()` is the genesis parent hash - let block_number = if parent == Hash::default() { - 0 - } else { - *self - .chain - .read() - .block_by_hash - .get(&parent) - .expect("`parent` exists") - .header() - .number() + 1 - }; - - let header = Header { - number: block_number, - digest: Default::default(), - extrinsics_root: Hash::random(), - parent_hash: parent, - state_root: Default::default(), - }; - - self.add_block(Block::new(header.clone(), xts), is_best_block); - - header - } - - /// Add a block to the internal state. - pub fn add_block(&self, block: Block, is_best_block: bool) { - let hash = block.header.hash(); - let block_number = block.header.number(); - - let mut chain = self.chain.write(); - chain.block_by_hash.insert(hash, block.clone()); - - if is_best_block { - chain - .block_by_number - .entry(*block_number) - .or_default() - .iter_mut() - .for_each(|x| { - x.1 = IsBestBlock::No; - }); - } - - chain - .block_by_number - .entry(*block_number) - .or_default() - .push((block, is_best_block.into())); - } - - fn hash_and_length_inner(ex: &Extrinsic) -> (Hash, usize) { - let encoded = ex.encode(); - (BlakeTwo256::hash(&encoded), encoded.len()) - } - - /// Mark some transaction is invalid. - /// - /// Next time transaction pool will try to validate this - /// extrinsic, api will return invalid result. - pub fn add_invalid(&self, xts: &Extrinsic) { - self.chain.write().invalid_hashes.insert(Self::hash_and_length_inner(xts).0); - } - - /// Remove a transaction that was previously declared as invalid via `[Self::add_invalid]`. - /// - /// Next time transaction pool will try to validate this - /// extrinsic, api will succeed. - pub fn remove_invalid(&self, xts: &Extrinsic) { - self.chain.write().invalid_hashes.remove(&Self::hash_and_length_inner(xts).0); - } - - /// Set a transaction priority. - pub fn set_priority(&self, xts: &Extrinsic, priority: u64) { - self.chain - .write() - .priorities - .insert(Self::hash_and_length_inner(xts).0, priority); - } - - /// Query validation requests received. - pub fn validation_requests(&self) -> Vec { - self.validation_requests.read().clone() - } - - /// get a reference to the chain state - pub fn chain(&self) -> &RwLock { - &self.chain - } - - /// Increment nonce in the inner state. - pub fn increment_nonce(&self, account: AccountId) { - let mut chain = self.chain.write(); - chain.nonces.entry(account).and_modify(|n| *n += 1).or_insert(1); - } - - /// Calculate a tree route between the two given blocks. - pub fn tree_route( - &self, - from: Hash, - to: Hash, - ) -> Result, Error> { - sp_blockchain::tree_route(self, from, to) - } - - /// Helper function for mapping block number to hash. Use if mapping shall not fail. - pub fn expect_hash_from_number(&self, n: BlockNumber) -> Hash { - self.block_id_to_hash(&BlockId::Number(n)).unwrap().unwrap() - } -} - -impl ChainApi for TestApi { - type Block = Block; - type Error = Error; - type ValidationFuture = futures::future::Ready>; - type BodyFuture = futures::future::Ready>, Error>>; - - fn validate_transaction( - &self, - at: ::Hash, - _source: TransactionSource, - uxt: ::Extrinsic, - ) -> Self::ValidationFuture { - self.validation_requests.write().push(uxt.clone()); - - match self.block_id_to_number(&BlockId::Hash(at)) { - Ok(Some(number)) => { - let found_best = self - .chain - .read() - .block_by_number - .get(&number) - .map(|blocks| blocks.iter().any(|b| b.1.is_best())) - .unwrap_or(false); - - // If there is no best block, we don't know based on which block we should validate - // the transaction. (This is not required for this test function, but in real - // environment it would fail because of this). - if !found_best { - return ready(Ok(Err(TransactionValidityError::Invalid( - InvalidTransaction::Custom(1), - )))) - } - }, - Ok(None) => - return ready(Ok(Err(TransactionValidityError::Invalid( - InvalidTransaction::Custom(2), - )))), - Err(e) => return ready(Err(e)), - } - - let (requires, provides) = if let Ok(transfer) = TransferData::try_from(&uxt) { - let chain_nonce = self.chain.read().nonces.get(&transfer.from).cloned().unwrap_or(0); - let requires = - if chain_nonce == transfer.nonce { vec![] } else { vec![vec![chain_nonce as u8]] }; - let provides = vec![vec![transfer.nonce as u8]]; - - (requires, provides) - } else { - (Vec::new(), vec![uxt.encode()]) - }; - - if self.chain.read().invalid_hashes.contains(&self.hash_and_length(&uxt).0) { - return ready(Ok(Err(TransactionValidityError::Invalid(InvalidTransaction::Custom(0))))) - } - - let priority = self.chain.read().priorities.get(&self.hash_and_length(&uxt).0).cloned(); - let mut validity = ValidTransaction { - priority: priority.unwrap_or(1), - requires, - provides, - longevity: 64, - propagate: true, - }; - - (self.valid_modifier.read())(&mut validity); - - ready(Ok(Ok(validity))) - } - - fn block_id_to_number( - &self, - at: &BlockId, - ) -> Result>, Error> { - Ok(match at { - generic::BlockId::Hash(x) => - self.chain.read().block_by_hash.get(x).map(|b| *b.header.number()), - generic::BlockId::Number(num) => Some(*num), - }) - } - - fn block_id_to_hash( - &self, - at: &BlockId, - ) -> Result::Hash>, Error> { - Ok(match at { - generic::BlockId::Hash(x) => Some(*x), - generic::BlockId::Number(num) => - self.chain.read().block_by_number.get(num).and_then(|blocks| { - blocks.iter().find(|b| b.1.is_best()).map(|b| b.0.header().hash()) - }), - }) - } - - fn hash_and_length(&self, ex: &::Extrinsic) -> (Hash, usize) { - Self::hash_and_length_inner(ex) - } - - fn block_body(&self, hash: ::Hash) -> Self::BodyFuture { - futures::future::ready(Ok(self - .chain - .read() - .block_by_hash - .get(&hash) - .map(|b| b.extrinsics().to_vec()))) - } - - fn block_header( - &self, - hash: ::Hash, - ) -> Result::Header>, Self::Error> { - Ok(self.chain.read().block_by_hash.get(&hash).map(|b| b.header().clone())) - } - - fn tree_route( - &self, - from: ::Hash, - to: ::Hash, - ) -> Result, Self::Error> { - sp_blockchain::tree_route::(self, from, to).map_err(Into::into) - } -} - -impl sp_blockchain::HeaderMetadata for TestApi { - type Error = Error; - - fn header_metadata(&self, hash: Hash) -> Result, Self::Error> { - let chain = self.chain.read(); - let block = chain.block_by_hash.get(&hash).expect("Hash exists"); - - Ok(block.header().into()) - } - - fn insert_header_metadata(&self, _: Hash, _: CachedHeaderMetadata) { - unimplemented!("Not implemented for tests") - } - - fn remove_header_metadata(&self, _: Hash) { - unimplemented!("Not implemented for tests") - } -} - -/// Generate transfer extrinsic with a given nonce. -/// -/// Part of the test api. -pub fn uxt(who: AccountKeyring, nonce: Nonce) -> Extrinsic { - let dummy = codec::Decode::decode(&mut TrailingZeroInput::zeroes()).unwrap(); - let transfer = Transfer { from: who.into(), to: dummy, nonce, amount: 1 }; - ExtrinsicBuilder::new_transfer(transfer).build() -} From 260d18c2b9f7df140b8ea7c75edb4b5914fca5e2 Mon Sep 17 00:00:00 2001 From: magecnion Date: Tue, 17 Dec 2024 12:44:45 +0100 Subject: [PATCH 07/15] include the rest of deps --- Cargo.lock | 5055 +++++++++++++++++++++++++++++++--------------------- Cargo.toml | 163 +- 2 files changed, 3053 insertions(+), 2165 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8af7c7942b..b21d200361 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -71,17 +71,6 @@ dependencies = [ "subtle 2.6.1", ] -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -89,7 +78,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom", "once_cell", "version_check", "zerocopy", @@ -125,12 +114,55 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + [[package]] name = "anstyle" version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +dependencies = [ + "anstyle", + "windows-sys 0.59.0", +] + [[package]] name = "anyhow" version = "1.0.94" @@ -183,6 +215,18 @@ dependencies = [ "ark-std", ] +[[package]] +name = "ark-bw6-761" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff", + "ark-std", +] + [[package]] name = "ark-ec" version = "0.4.2" @@ -286,7 +330,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", + "rand", ] [[package]] @@ -319,7 +363,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] @@ -335,7 +379,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] @@ -385,6 +429,12 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "assert_matches" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" + [[package]] name = "async-channel" version = "1.9.0" @@ -423,7 +473,7 @@ checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ "event-listener 5.3.1", "event-listener-strategy", - "pin-project-lite 0.2.15", + "pin-project-lite", ] [[package]] @@ -447,7 +497,16 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.15", + "pin-project-lite", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", ] [[package]] @@ -467,6 +526,17 @@ dependencies = [ "url", ] +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "autocfg" version = "1.4.0" @@ -524,6 +594,15 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "basic-toml" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8" +dependencies = [ + "serde", +] + [[package]] name = "bincode" version = "1.3.3" @@ -533,6 +612,27 @@ dependencies = [ "serde", ] +[[package]] +name = "bindgen" +version = "0.65.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "prettyplease 0.2.25", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.90", +] + [[package]] name = "bitcoin-internals" version = "0.2.0" @@ -674,6 +774,17 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "bstr" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786a307d683a5bf92e6fd5fd69a7eb613751668d1d8d67d802846dfe367c62c8" +dependencies = [ + "memchr", + "regex-automata 0.4.9", + "serde", +] + [[package]] name = "build-helper" version = "0.1.1" @@ -719,6 +830,17 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "c2-chacha" version = "0.3.3" @@ -758,9 +880,15 @@ dependencies = [ "semver 1.0.24", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] +[[package]] +name = "case" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6c0e7b807d60291f42f33f58480c0bfafe28ed08286446f45e463728cf9c1c" + [[package]] name = "cc" version = "1.2.4" @@ -772,6 +900,15 @@ dependencies = [ "shlex", ] +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfg-expr" version = "0.15.8" @@ -887,6 +1024,17 @@ dependencies = [ "zeroize", ] +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "clap" version = "4.5.23" @@ -894,6 +1042,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", + "clap_derive", ] [[package]] @@ -902,9 +1051,23 @@ version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ + "anstream", "anstyle", "clap_lex", "strsim", + "terminal_size", +] + +[[package]] +name = "clap_derive" +version = "4.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -920,9 +1083,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" dependencies = [ "termcolor", - "unicode-width", + "unicode-width 0.1.14", ] +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + [[package]] name = "combine" version = "4.6.7" @@ -933,6 +1102,17 @@ dependencies = [ "memchr", ] +[[package]] +name = "comfy-table" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24f165e7b643266ea80cb858aed492ad9280e3e05ce24d4a99d7d7b889b6a4d9" +dependencies = [ + "strum 0.26.3", + "strum_macros 0.26.4", + "unicode-width 0.2.0", +] + [[package]] name = "common-path" version = "1.0.0" @@ -957,10 +1137,23 @@ dependencies = [ "encode_unicode", "lazy_static", "libc", - "unicode-width", + "unicode-width 0.1.14", "windows-sys 0.52.0", ] +[[package]] +name = "const-hex" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + [[package]] name = "const-oid" version = "0.9.6" @@ -982,7 +1175,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.15", + "getrandom", "once_cell", "tiny-keccak", ] @@ -1189,6 +1382,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -1208,7 +1410,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", "zeroize", ] @@ -1220,7 +1422,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", - "rand_core 0.6.4", + "rand_core", "typenum", ] @@ -1253,19 +1455,6 @@ dependencies = [ "cipher 0.4.4", ] -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle 2.6.1", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -1493,6 +1682,12 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + [[package]] name = "difflib" version = "0.4.0" @@ -1582,6 +1777,12 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "dissimilar" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f8e79d1fbf76bdfbde321e902714bf6c49df88a7dda6fc682fc2979226962d" + [[package]] name = "docify" version = "0.2.9" @@ -1609,6 +1810,12 @@ dependencies = [ "walkdir", ] +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + [[package]] name = "downcast" version = "0.11.0" @@ -1659,19 +1866,10 @@ dependencies = [ "elliptic-curve", "rfc6979", "serdect", - "signature 2.2.0", + "signature", "spki", ] -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -1679,21 +1877,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", - "signature 2.2.0", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", + "signature", ] [[package]] @@ -1702,40 +1886,26 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", - "rand_core 0.6.4", + "curve25519-dalek", + "ed25519", + "rand_core", "serde", "sha2 0.10.8", "subtle 2.6.1", "zeroize", ] -[[package]] -name = "ed25519-zebra" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" -dependencies = [ - "curve25519-dalek 3.2.0", - "hashbrown 0.12.3", - "hex", - "rand_core 0.6.4", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-zebra" version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", + "curve25519-dalek", + "ed25519", "hashbrown 0.14.5", "hex", - "rand_core 0.6.4", + "rand_core", "sha2 0.10.8", "zeroize", ] @@ -1745,6 +1915,9 @@ name = "either" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +dependencies = [ + "serde", +] [[package]] name = "elliptic-curve" @@ -1759,7 +1932,7 @@ dependencies = [ "generic-array 0.14.7", "group", "pkcs8", - "rand_core 0.6.4", + "rand_core", "sec1", "serdect", "subtle 2.6.1", @@ -1831,6 +2004,55 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", +] + +[[package]] +name = "ethereum" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e04d24d20b8ff2235cffbf242d5092de3aa45f77c5270ddbfadd2778ca13fea" +dependencies = [ + "bytes", + "ethereum-types", + "hash-db", + "hash256-std-hasher", + "parity-scale-codec", + "rlp", + "scale-info", + "serde", + "sha3", + "trie-root", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + [[package]] name = "event-listener" version = "2.5.3" @@ -1845,7 +2067,7 @@ checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite 0.2.15", + "pin-project-lite", ] [[package]] @@ -1855,20 +2077,78 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener 5.3.1", - "pin-project-lite 0.2.15", + "pin-project-lite", ] [[package]] -name = "exit-future" -version = "0.2.0" +name = "evm" +version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" +checksum = "767f43e9630cc36cf8ff2777cbb0121b055f0d1fd6eaaa13b46a1808f0d0e7e9" dependencies = [ - "futures", + "auto_impl", + "environmental", + "ethereum", + "evm-core", + "evm-gasometer", + "evm-runtime", + "log", + "parity-scale-codec", + "primitive-types", + "rlp", + "scale-info", + "serde", + "sha3", ] [[package]] -name = "expander" +name = "evm-core" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1da6cedc5cedb4208e59467106db0d1f50db01b920920589f8e672c02fdc04f" +dependencies = [ + "parity-scale-codec", + "primitive-types", + "scale-info", + "serde", +] + +[[package]] +name = "evm-gasometer" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dc0eb591abc5cd7b05bef6a036c2bb6c66ab6c5e0c5ce94bfe377ab670b1fd7" +dependencies = [ + "environmental", + "evm-core", + "evm-runtime", + "primitive-types", +] + +[[package]] +name = "evm-runtime" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84bbe09b64ae13a29514048c1bb6fda6374ac0b4f6a1f15a443348ab88ef42cd" +dependencies = [ + "auto_impl", + "environmental", + "evm-core", + "primitive-types", + "sha3", +] + +[[package]] +name = "exit-future" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" +dependencies = [ + "futures", +] + +[[package]] +name = "expander" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" @@ -1900,13 +2180,254 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "fc-api" +version = "1.0.0-dev" +dependencies = [ + "async-trait", + "fp-storage", + "parity-scale-codec", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "fc-cli" +version = "1.0.0-dev" +dependencies = [ + "clap", + "ethereum-types", + "fc-api", + "fc-db", + "fp-rpc", + "fp-storage", + "frontier-template-runtime", + "futures", + "parity-scale-codec", + "sc-block-builder", + "sc-cli", + "sc-client-db", + "serde", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-io", + "sp-runtime", + "substrate-test-runtime-client", + "tempfile", +] + +[[package]] +name = "fc-consensus" +version = "2.0.0-dev" +dependencies = [ + "async-trait", + "fp-consensus", + "fp-rpc", + "sc-consensus", + "sp-api", + "sp-block-builder", + "sp-consensus", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "fc-db" +version = "2.0.0-dev" +dependencies = [ + "async-trait", + "ethereum", + "fc-api", + "fc-storage", + "fp-consensus", + "fp-rpc", + "fp-storage", + "futures", + "kvdb-rocksdb", + "log", + "maplit", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-block-builder", + "sc-client-api", + "sc-client-db", + "smallvec", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-runtime", + "sqlx", + "substrate-test-runtime-client", + "tempfile", + "tokio", +] + +[[package]] +name = "fc-mapping-sync" +version = "2.0.0-dev" +dependencies = [ + "ethereum", + "ethereum-types", + "fc-db", + "fc-storage", + "fp-consensus", + "fp-rpc", + "fp-storage", + "frontier-template-runtime", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-block-builder", + "sc-client-api", + "sc-client-db", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-io", + "sp-runtime", + "sqlx", + "substrate-test-runtime-client", + "tempfile", + "tokio", +] + +[[package]] +name = "fc-rpc" +version = "2.0.0-dev" +dependencies = [ + "ethereum", + "ethereum-types", + "evm", + "fc-api", + "fc-db", + "fc-mapping-sync", + "fc-rpc-core", + "fc-storage", + "fp-evm", + "fp-rpc", + "fp-storage", + "futures", + "hex", + "jsonrpsee", + "libsecp256k1", + "log", + "pallet-evm", + "parity-scale-codec", + "prometheus", + "rand", + "rlp", + "sc-block-builder", + "sc-client-api", + "sc-client-db", + "sc-consensus-aura", + "sc-network", + "sc-network-sync", + "sc-rpc", + "sc-service", + "sc-transaction-pool", + "sc-transaction-pool-api", + "sc-utils", + "schnellru", + "serde", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-timestamp", + "substrate-prometheus-endpoint", + "substrate-test-runtime-client", + "tempfile", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "fc-rpc-core" +version = "1.1.0-dev" +dependencies = [ + "ethereum", + "ethereum-types", + "jsonrpsee", + "rlp", + "rustc-hex", + "serde", + "serde_json", + "sp-crypto-hashing", +] + +[[package]] +name = "fc-rpc-v2" +version = "2.0.0-dev" + +[[package]] +name = "fc-rpc-v2-api" +version = "0.1.0" +dependencies = [ + "ethereum-types", + "fc-rpc-v2-types", + "jsonrpsee", +] + +[[package]] +name = "fc-rpc-v2-types" +version = "0.1.0" +dependencies = [ + "const-hex", + "ethereum-types", + "serde", + "serde_json", +] + +[[package]] +name = "fc-storage" +version = "1.0.0-dev" +dependencies = [ + "ethereum", + "ethereum-types", + "fp-rpc", + "fp-storage", + "parity-scale-codec", + "sc-client-api", + "sp-api", + "sp-io", + "sp-runtime", + "sp-storage", +] + +[[package]] +name = "fdlimit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" +dependencies = [ + "libc", + "thiserror 1.0.69", +] + [[package]] name = "ff" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", ] @@ -1971,7 +2492,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -1983,23 +2504,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] -name = "flate2" -version = "1.0.35" +name = "float-cmp" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" dependencies = [ - "crc32fast", - "libz-sys", - "miniz_oxide", + "num-traits", ] [[package]] -name = "float-cmp" -version = "0.9.0" +name = "flume" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" dependencies = [ - "num-traits", + "futures-core", + "futures-sink", + "spin 0.9.8", ] [[package]] @@ -2054,7 +2575,103 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" dependencies = [ "nonempty", - "thiserror", + "thiserror 1.0.69", +] + +[[package]] +name = "fp-account" +version = "1.0.0-dev" +dependencies = [ + "hex", + "impl-serde", + "libsecp256k1", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "staging-xcm", +] + +[[package]] +name = "fp-consensus" +version = "2.0.0-dev" +dependencies = [ + "ethereum", + "parity-scale-codec", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "fp-dynamic-fee" +version = "1.0.0" +dependencies = [ + "async-trait", + "sp-core", + "sp-inherents", +] + +[[package]] +name = "fp-ethereum" +version = "1.0.0-dev" +dependencies = [ + "ethereum", + "ethereum-types", + "fp-evm", + "frame-support", + "parity-scale-codec", +] + +[[package]] +name = "fp-evm" +version = "3.0.0-dev" +dependencies = [ + "evm", + "frame-support", + "num_enum", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "fp-rpc" +version = "3.0.0-dev" +dependencies = [ + "ethereum", + "ethereum-types", + "fp-evm", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-core", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "fp-self-contained" +version = "1.0.0-dev" +dependencies = [ + "frame-support", + "parity-scale-codec", + "scale-info", + "serde", + "sp-runtime", +] + +[[package]] +name = "fp-storage" +version = "2.0.0" +dependencies = [ + "parity-scale-codec", + "serde", ] [[package]] @@ -2078,16 +2695,67 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-api 34.0.0", - "sp-application-crypto 38.0.0", - "sp-core 34.0.0", - "sp-io 38.0.0", - "sp-runtime 39.0.3", - "sp-runtime-interface 28.0.0", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", "sp-storage", "static_assertions", ] +[[package]] +name = "frame-benchmarking-cli" +version = "43.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9767c33709062605ba6876fcc3e5f31fb37da393c1ab384813614870209dd94" +dependencies = [ + "Inflector", + "array-bytes", + "chrono", + "clap", + "comfy-table", + "frame-benchmarking", + "frame-support", + "frame-system", + "gethostname", + "handlebars", + "itertools 0.11.0", + "lazy_static", + "linked-hash-map", + "log", + "parity-scale-codec", + "rand", + "rand_pcg", + "sc-block-builder", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-client-db", + "sc-executor", + "sc-service", + "sc-sysinfo", + "serde", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-database", + "sp-externalities", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-trie", + "sp-wasm-interface", + "thiserror 1.0.69", + "thousands", +] + [[package]] name = "frame-executive" version = "38.0.0" @@ -2101,9 +2769,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-io 38.0.0", - "sp-runtime 39.0.3", + "sp-core", + "sp-io", + "sp-runtime", "sp-tracing", ] @@ -2132,7 +2800,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 39.0.3", + "sp-runtime", ] [[package]] @@ -2158,18 +2826,18 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-api 34.0.0", + "sp-api", "sp-arithmetic", - "sp-core 34.0.0", + "sp-core", "sp-crypto-hashing-proc-macro", "sp-debug-derive", "sp-genesis-builder", - "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-inherents", + "sp-io", "sp-metadata-ir", - "sp-runtime 39.0.3", + "sp-runtime", "sp-staking", - "sp-state-machine 0.43.0", + "sp-state-machine", "sp-std", "sp-tracing", "sp-weights", @@ -2234,14 +2902,29 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 34.0.0", - "sp-io 38.0.0", - "sp-runtime 39.0.3", + "sp-core", + "sp-io", + "sp-runtime", "sp-std", - "sp-version 37.0.0", + "sp-version", "sp-weights", ] +[[package]] +name = "frame-system-benchmarking" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9693b2a736beb076e673520e1e8dee4fc128b8d35b020ef3e8a4b1b5ad63d9f2" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", +] + [[package]] name = "frame-system-rpc-runtime-api" version = "34.0.0" @@ -2250,7 +2933,7 @@ checksum = "475c4f8604ba7e4f05cd2c881ba71105093e638b9591ec71a8db14a64b3b4ec3" dependencies = [ "docify", "parity-scale-codec", - "sp-api 34.0.0", + "sp-api", ] [[package]] @@ -2261,8 +2944,121 @@ checksum = "83c811a5a1f5429c7fb5ebbf6cf9502d8f9b673fd395c12cf46c44a30a7daf0e" dependencies = [ "frame-support", "parity-scale-codec", - "sp-api 34.0.0", - "sp-runtime 39.0.3", + "sp-api", + "sp-runtime", +] + +[[package]] +name = "frontier-template-node" +version = "0.0.0" +dependencies = [ + "async-trait", + "clap", + "fc-api", + "fc-cli", + "fc-consensus", + "fc-db", + "fc-mapping-sync", + "fc-rpc", + "fc-rpc-core", + "fc-storage", + "fp-account", + "fp-dynamic-fee", + "fp-evm", + "fp-rpc", + "frame-benchmarking", + "frame-benchmarking-cli", + "frame-system", + "frame-system-rpc-runtime-api", + "frontier-template-runtime", + "futures", + "hex-literal", + "jsonrpsee", + "log", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "sc-basic-authorship", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-grandpa", + "sc-consensus-manual-seal", + "sc-executor", + "sc-network", + "sc-network-sync", + "sc-offchain", + "sc-rpc", + "sc-service", + "sc-telemetry", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde_json", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-timestamp", + "sp-transaction-pool", + "substrate-build-script-utils", + "substrate-frame-rpc-system", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "frontier-template-runtime" +version = "0.0.0" +dependencies = [ + "fp-account", + "fp-evm", + "fp-rpc", + "fp-self-contained", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "pallet-aura", + "pallet-balances", + "pallet-base-fee", + "pallet-dynamic-fee", + "pallet-ethereum", + "pallet-evm", + "pallet-evm-chain-id", + "pallet-evm-precompile-modexp", + "pallet-evm-precompile-sha3fips", + "pallet-evm-precompile-simple", + "pallet-grandpa", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", ] [[package]] @@ -2343,6 +3139,17 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.12.3", +] + [[package]] name = "futures-io" version = "0.3.31" @@ -2356,7 +3163,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "futures-core", - "pin-project-lite 0.2.15", + "pin-project-lite", ] [[package]] @@ -2370,17 +3177,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "futures-rustls" -version = "0.22.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" -dependencies = [ - "futures-io", - "rustls 0.20.9", - "webpki", -] - [[package]] name = "futures-rustls" version = "0.24.0" @@ -2422,7 +3218,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.15", + "pin-project-lite", "pin-utils", "slab", ] @@ -2457,14 +3253,13 @@ dependencies = [ ] [[package]] -name = "getrandom" -version = "0.1.16" +name = "gethostname" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" dependencies = [ - "cfg-if", "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "winapi", ] [[package]] @@ -2475,7 +3270,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -2484,8 +3279,8 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "rand 0.8.5", - "rand_core 0.6.4", + "rand", + "rand_core", ] [[package]] @@ -2525,6 +3320,12 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + [[package]] name = "governor" version = "0.6.3" @@ -2540,7 +3341,7 @@ dependencies = [ "parking_lot 0.12.3", "portable-atomic", "quanta", - "rand 0.8.5", + "rand", "smallvec", "spinning_top", ] @@ -2552,7 +3353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", ] @@ -2594,6 +3395,20 @@ dependencies = [ "tracing", ] +[[package]] +name = "handlebars" +version = "5.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d08485b96a0e6393e9e4d1b8d48cf74ad6c063cd905eb33f42c1ce3f0377539b" +dependencies = [ + "log", + "pest", + "pest_derive", + "serde", + "serde_json", + "thiserror 1.0.69", +] + [[package]] name = "hash-db" version = "0.16.0" @@ -2614,9 +3429,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] [[package]] name = "hashbrown" @@ -2624,7 +3436,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.11", + "ahash", ] [[package]] @@ -2633,7 +3445,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash", "allocator-api2", ] @@ -2662,6 +3474,9 @@ name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "heck" @@ -2686,6 +3501,9 @@ name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] name = "hex-conservative" @@ -2788,7 +3606,7 @@ checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http 0.2.12", - "pin-project-lite 0.2.15", + "pin-project-lite", ] [[package]] @@ -2811,7 +3629,7 @@ dependencies = [ "futures-util", "http 1.2.0", "http-body 1.0.1", - "pin-project-lite 0.2.15", + "pin-project-lite", ] [[package]] @@ -2848,7 +3666,7 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.15", + "pin-project-lite", "socket2 0.5.8", "tokio", "tower-service", @@ -2871,7 +3689,7 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.15", + "pin-project-lite", "smallvec", "tokio", ] @@ -2903,7 +3721,7 @@ dependencies = [ "http 1.2.0", "http-body 1.0.1", "hyper 1.5.1", - "pin-project-lite 0.2.15", + "pin-project-lite", "tokio", "tower-service", ] @@ -3137,7 +3955,7 @@ dependencies = [ "http 0.2.12", "hyper 0.14.31", "log", - "rand 0.8.5", + "rand", "tokio", "url", "xmltree", @@ -3152,6 +3970,15 @@ dependencies = [ "parity-scale-codec", ] +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + [[package]] name = "impl-serde" version = "0.4.0" @@ -3285,6 +4112,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.10.5" @@ -3365,11 +4198,11 @@ dependencies = [ "http-body-util", "jsonrpsee-types", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "rustc-hash 2.1.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -3405,8 +4238,8 @@ dependencies = [ "route-recognizer", "serde", "serde_json", - "soketto 0.8.1", - "thiserror", + "soketto", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -3423,7 +4256,7 @@ dependencies = [ "http 1.2.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3474,11 +4307,34 @@ dependencies = [ "parking_lot 0.12.3", ] +[[package]] +name = "kvdb-rocksdb" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" +dependencies = [ + "kvdb", + "num_cpus", + "parking_lot 0.12.3", + "regex", + "rocksdb", + "smallvec", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin 0.9.8", +] + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" @@ -3487,42 +4343,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" [[package]] -name = "libm" -version = "0.2.11" +name = "libloading" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] [[package]] -name = "libp2p" -version = "0.51.4" +name = "libm" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" -dependencies = [ - "bytes", - "futures", - "futures-timer", - "getrandom 0.2.15", - "instant", - "libp2p-allow-block-list 0.1.1", - "libp2p-connection-limits 0.1.0", - "libp2p-core 0.39.2", - "libp2p-dns 0.39.0", - "libp2p-identify 0.42.2", - "libp2p-identity 0.1.3", - "libp2p-kad 0.43.3", - "libp2p-mdns 0.43.1", - "libp2p-metrics 0.12.0", - "libp2p-noise 0.42.2", - "libp2p-ping 0.42.0", - "libp2p-quic 0.7.0-alpha.3", - "libp2p-request-response 0.24.1", - "libp2p-swarm 0.42.2", - "libp2p-tcp 0.39.0", - "libp2p-websocket 0.41.0", - "libp2p-yamux 0.43.1", - "multiaddr 0.17.1", - "pin-project", -] +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libp2p" @@ -3534,43 +4368,31 @@ dependencies = [ "either", "futures", "futures-timer", - "getrandom 0.2.15", + "getrandom", "instant", - "libp2p-allow-block-list 0.2.0", - "libp2p-connection-limits 0.2.1", - "libp2p-core 0.40.1", - "libp2p-dns 0.40.1", - "libp2p-identify 0.43.1", - "libp2p-identity 0.2.10", - "libp2p-kad 0.44.6", - "libp2p-mdns 0.44.0", - "libp2p-metrics 0.13.1", - "libp2p-noise 0.43.2", - "libp2p-ping 0.43.1", - "libp2p-quic 0.9.3", - "libp2p-request-response 0.25.3", - "libp2p-swarm 0.43.7", - "libp2p-tcp 0.40.1", + "libp2p-allow-block-list", + "libp2p-connection-limits", + "libp2p-core", + "libp2p-dns", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-mdns", + "libp2p-metrics", + "libp2p-noise", + "libp2p-ping", + "libp2p-quic", + "libp2p-request-response", + "libp2p-swarm", + "libp2p-tcp", "libp2p-upnp", "libp2p-wasm-ext", - "libp2p-websocket 0.42.2", - "libp2p-yamux 0.44.1", + "libp2p-websocket", + "libp2p-yamux", "multiaddr 0.18.2", "pin-project", - "rw-stream-sink 0.4.0", - "thiserror", -] - -[[package]] -name = "libp2p-allow-block-list" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" -dependencies = [ - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "void", + "rw-stream-sink", + "thiserror 1.0.69", ] [[package]] @@ -3579,21 +4401,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" dependencies = [ - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", - "void", -] - -[[package]] -name = "libp2p-connection-limits" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" -dependencies = [ - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "void", ] @@ -3603,37 +4413,9 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" dependencies = [ - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", - "void", -] - -[[package]] -name = "libp2p-core" -version = "0.39.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-identity 0.1.3", - "log", - "multiaddr 0.17.1", - "multihash 0.17.0", - "multistream-select 0.12.1", - "once_cell", - "parking_lot 0.12.3", - "pin-project", - "quick-protobuf", - "rand 0.8.5", - "rw-stream-sink 0.3.0", - "smallvec", - "thiserror", - "unsigned-varint 0.7.2", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "void", ] @@ -3648,37 +4430,23 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-identity 0.2.10", + "libp2p-identity", "log", "multiaddr 0.18.2", "multihash 0.19.3", - "multistream-select 0.13.0", + "multistream-select", "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand 0.8.5", - "rw-stream-sink 0.4.0", + "rand", + "rw-stream-sink", "smallvec", - "thiserror", + "thiserror 1.0.69", "unsigned-varint 0.7.2", "void", ] -[[package]] -name = "libp2p-dns" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" -dependencies = [ - "futures", - "libp2p-core 0.39.2", - "log", - "parking_lot 0.12.3", - "smallvec", - "trust-dns-resolver 0.22.0", -] - [[package]] name = "libp2p-dns" version = "0.40.1" @@ -3687,34 +4455,12 @@ checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" dependencies = [ "async-trait", "futures", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", + "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", "smallvec", - "trust-dns-resolver 0.23.2", -] - -[[package]] -name = "libp2p-identify" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" -dependencies = [ - "asynchronous-codec", - "either", - "futures", - "futures-timer", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "log", - "lru 0.10.1", - "quick-protobuf", - "quick-protobuf-codec 0.1.0", - "smallvec", - "thiserror", - "void", + "trust-dns-resolver", ] [[package]] @@ -3728,36 +4474,18 @@ dependencies = [ "futures", "futures-bounded", "futures-timer", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", - "lru 0.12.5", + "lru", "quick-protobuf", - "quick-protobuf-codec 0.2.0", + "quick-protobuf-codec", "smallvec", - "thiserror", + "thiserror 1.0.69", "void", ] -[[package]] -name = "libp2p-identity" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" -dependencies = [ - "bs58 0.4.0", - "ed25519-dalek 2.1.1", - "log", - "multiaddr 0.17.1", - "multihash 0.17.0", - "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.8", - "thiserror", - "zeroize", -] - [[package]] name = "libp2p-identity" version = "0.2.10" @@ -3765,45 +4493,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ "bs58 0.5.1", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "hkdf", "multihash 0.19.3", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.69", "tracing", "zeroize", ] -[[package]] -name = "libp2p-kad" -version = "0.43.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" -dependencies = [ - "arrayvec", - "asynchronous-codec", - "bytes", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "log", - "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.8", - "smallvec", - "thiserror", - "uint", - "unsigned-varint 0.7.2", - "void", -] - [[package]] name = "libp2p-kad" version = "0.44.6" @@ -3812,45 +4512,24 @@ checksum = "16ea178dabba6dde6ffc260a8e0452ccdc8f79becf544946692fff9d412fc29d" dependencies = [ "arrayvec", "asynchronous-codec", - "bytes", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", - "log", - "quick-protobuf", - "quick-protobuf-codec 0.2.0", - "rand 0.8.5", - "sha2 0.10.8", - "smallvec", - "thiserror", - "uint", - "unsigned-varint 0.7.2", - "void", -] - -[[package]] -name = "libp2p-mdns" -version = "0.43.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" -dependencies = [ - "data-encoding", + "bytes", + "either", + "fnv", "futures", - "if-watch", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", - "rand 0.8.5", + "quick-protobuf", + "quick-protobuf-codec", + "rand", + "sha2 0.10.8", "smallvec", - "socket2 0.4.10", - "tokio", - "trust-dns-proto 0.22.0", + "thiserror 1.0.69", + "uint", + "unsigned-varint 0.7.2", "void", ] @@ -3863,11 +4542,11 @@ dependencies = [ "data-encoding", "futures", "if-watch", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.5.8", "tokio", @@ -3875,20 +4554,6 @@ dependencies = [ "void", ] -[[package]] -name = "libp2p-metrics" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" -dependencies = [ - "libp2p-core 0.39.2", - "libp2p-identify 0.42.2", - "libp2p-kad 0.43.3", - "libp2p-ping 0.42.0", - "libp2p-swarm 0.42.2", - "prometheus-client 0.19.0", -] - [[package]] name = "libp2p-metrics" version = "0.13.1" @@ -3896,37 +4561,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" dependencies = [ "instant", - "libp2p-core 0.40.1", - "libp2p-identify 0.43.1", - "libp2p-identity 0.2.10", - "libp2p-kad 0.44.6", - "libp2p-ping 0.43.1", - "libp2p-swarm 0.43.7", - "once_cell", - "prometheus-client 0.21.2", -] - -[[package]] -name = "libp2p-noise" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" -dependencies = [ - "bytes", - "curve25519-dalek 3.2.0", - "futures", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "log", + "libp2p-core", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-ping", + "libp2p-swarm", "once_cell", - "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.8", - "snow", - "static_assertions", - "thiserror", - "x25519-dalek 1.1.1", - "zeroize", + "prometheus-client", ] [[package]] @@ -3936,41 +4578,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" dependencies = [ "bytes", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "futures", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", + "libp2p-core", + "libp2p-identity", "log", "multiaddr 0.18.2", "multihash 0.19.3", "once_cell", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "snow", "static_assertions", - "thiserror", - "x25519-dalek 2.0.1", + "thiserror 1.0.69", + "x25519-dalek", "zeroize", ] -[[package]] -name = "libp2p-ping" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" -dependencies = [ - "either", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.39.2", - "libp2p-swarm 0.42.2", - "log", - "rand 0.8.5", - "void", -] - [[package]] name = "libp2p-ping" version = "0.43.1" @@ -3981,36 +4606,14 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "void", ] -[[package]] -name = "libp2p-quic" -version = "0.7.0-alpha.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" -dependencies = [ - "bytes", - "futures", - "futures-timer", - "if-watch", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-tls 0.1.0", - "log", - "parking_lot 0.12.3", - "quinn-proto 0.9.6", - "rand 0.8.5", - "rustls 0.20.9", - "thiserror", - "tokio", -] - [[package]] name = "libp2p-quic" version = "0.9.3" @@ -4021,36 +4624,20 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-tls 0.2.1", + "libp2p-core", + "libp2p-identity", + "libp2p-tls", "log", "parking_lot 0.12.3", "quinn 0.10.2", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustls 0.21.12", "socket2 0.5.8", - "thiserror", + "thiserror 1.0.69", "tokio", ] -[[package]] -name = "libp2p-request-response" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" -dependencies = [ - "async-trait", - "futures", - "instant", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm 0.42.2", - "rand 0.8.5", - "smallvec", -] - [[package]] name = "libp2p-request-response" version = "0.25.3" @@ -4060,33 +4647,12 @@ dependencies = [ "async-trait", "futures", "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm 0.43.7", - "log", - "rand 0.8.5", - "smallvec", - "void", -] - -[[package]] -name = "libp2p-swarm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "libp2p-swarm-derive 0.32.0", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", - "tokio", "void", ] @@ -4101,29 +4667,18 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", - "libp2p-swarm-derive 0.33.0", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm-derive", "log", - "multistream-select 0.13.0", + "multistream-select", "once_cell", - "rand 0.8.5", + "rand", "smallvec", "tokio", "void", ] -[[package]] -name = "libp2p-swarm-derive" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" -dependencies = [ - "heck 0.4.1", - "quote", - "syn 1.0.109", -] - [[package]] name = "libp2p-swarm-derive" version = "0.33.0" @@ -4137,22 +4692,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "libp2p-tcp" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" -dependencies = [ - "futures", - "futures-timer", - "if-watch", - "libc", - "libp2p-core 0.39.2", - "log", - "socket2 0.4.10", - "tokio", -] - [[package]] name = "libp2p-tcp" version = "0.40.1" @@ -4163,32 +4702,13 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", + "libp2p-core", + "libp2p-identity", "log", "socket2 0.5.8", "tokio", ] -[[package]] -name = "libp2p-tls" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" -dependencies = [ - "futures", - "futures-rustls 0.22.2", - "libp2p-core 0.39.2", - "libp2p-identity 0.1.3", - "rcgen", - "ring 0.16.20", - "rustls 0.20.9", - "thiserror", - "webpki", - "x509-parser 0.14.0", - "yasna", -] - [[package]] name = "libp2p-tls" version = "0.2.1" @@ -4196,14 +4716,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" dependencies = [ "futures", - "futures-rustls 0.24.0", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", + "futures-rustls", + "libp2p-core", + "libp2p-identity", "rcgen", "ring 0.16.20", "rustls 0.21.12", "rustls-webpki", - "thiserror", + "thiserror 1.0.69", "x509-parser 0.15.1", "yasna", ] @@ -4217,8 +4737,8 @@ dependencies = [ "futures", "futures-timer", "igd-next", - "libp2p-core 0.40.1", - "libp2p-swarm 0.43.7", + "libp2p-core", + "libp2p-swarm", "log", "tokio", "void", @@ -4232,31 +4752,12 @@ checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" dependencies = [ "futures", "js-sys", - "libp2p-core 0.40.1", + "libp2p-core", "send_wrapper", "wasm-bindgen", "wasm-bindgen-futures", ] -[[package]] -name = "libp2p-websocket" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" -dependencies = [ - "either", - "futures", - "futures-rustls 0.22.2", - "libp2p-core 0.39.2", - "log", - "parking_lot 0.12.3", - "quicksink", - "rw-stream-sink 0.3.0", - "soketto 0.7.1", - "url", - "webpki-roots 0.22.6", -] - [[package]] name = "libp2p-websocket" version = "0.42.2" @@ -4265,30 +4766,17 @@ checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" dependencies = [ "either", "futures", - "futures-rustls 0.24.0", - "libp2p-core 0.40.1", - "libp2p-identity 0.2.10", + "futures-rustls", + "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", - "pin-project-lite 0.2.15", - "rw-stream-sink 0.4.0", - "soketto 0.8.1", - "thiserror", + "pin-project-lite", + "rw-stream-sink", + "soketto", + "thiserror 1.0.69", "url", - "webpki-roots 0.25.4", -] - -[[package]] -name = "libp2p-yamux" -version = "0.43.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" -dependencies = [ - "futures", - "libp2p-core 0.39.2", - "log", - "thiserror", - "yamux 0.10.2", + "webpki-roots", ] [[package]] @@ -4298,10 +4786,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" dependencies = [ "futures", - "libp2p-core 0.40.1", + "libp2p-core", "log", - "thiserror", - "yamux 0.12.1", + "thiserror 1.0.69", + "yamux", ] [[package]] @@ -4315,6 +4803,21 @@ dependencies = [ "redox_syscall 0.5.8", ] +[[package]] +name = "librocksdb-sys" +version = "0.11.0+8.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "tikv-jemalloc-sys", +] + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -4328,7 +4831,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -4363,6 +4866,17 @@ dependencies = [ "libsecp256k1-core", ] +[[package]] +name = "libsqlite3-sys" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "libz-sys" version = "1.1.20" @@ -4437,61 +4951,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" -[[package]] -name = "litep2p" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b53e78902be9d0d77df70677242b7fc9815a33a168949b5480ee089e16535e7" -dependencies = [ - "async-trait", - "bs58 0.4.0", - "bytes", - "cid 0.10.1", - "ed25519-dalek 1.0.1", - "futures", - "futures-timer", - "hex-literal", - "indexmap 2.7.0", - "libc", - "mockall 0.11.4", - "multiaddr 0.17.1", - "multihash 0.17.0", - "network-interface", - "nohash-hasher", - "parking_lot 0.12.3", - "pin-project", - "prost 0.11.9", - "prost-build 0.11.9", - "quinn 0.9.4", - "rand 0.8.5", - "rcgen", - "ring 0.16.20", - "rustls 0.20.9", - "serde", - "sha2 0.10.8", - "simple-dns", - "smallvec", - "snow", - "socket2 0.5.8", - "static_assertions", - "str0m 0.2.0", - "thiserror", - "tokio", - "tokio-stream", - "tokio-tungstenite", - "tokio-util", - "tracing", - "trust-dns-resolver 0.23.2", - "uint", - "unsigned-varint 0.7.2", - "url", - "webpki", - "x25519-dalek 2.0.1", - "x509-parser 0.15.1", - "yasna", - "zeroize", -] - [[package]] name = "litep2p" version = "0.6.2" @@ -4502,7 +4961,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "cid 0.10.1", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "futures", "futures-timer", "hex-literal", @@ -4518,7 +4977,7 @@ dependencies = [ "prost 0.12.6", "prost-build 0.11.9", "quinn 0.9.4", - "rand 0.8.5", + "rand", "rcgen", "ring 0.16.20", "rustls 0.20.9", @@ -4529,19 +4988,19 @@ dependencies = [ "snow", "socket2 0.5.8", "static_assertions", - "str0m 0.5.1", - "thiserror", + "str0m", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-tungstenite", "tokio-util", "tracing", - "trust-dns-resolver 0.23.2", + "trust-dns-resolver", "uint", "unsigned-varint 0.8.0", "url", "webpki", - "x25519-dalek 2.0.1", + "x25519-dalek", "x509-parser 0.16.0", "yasna", "zeroize", @@ -4563,15 +5022,6 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -[[package]] -name = "lru" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" -dependencies = [ - "hashbrown 0.13.2", -] - [[package]] name = "lru" version = "0.12.5" @@ -4666,6 +5116,28 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "macrotest" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e2035deb453578ff1cd2da2761ac78abbffffd1d06a0f59261c082ea713fdad" +dependencies = [ + "basic-toml", + "diff", + "glob", + "prettyplease 0.2.25", + "serde", + "serde_derive", + "serde_json", + "syn 2.0.90", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + [[package]] name = "match_cfg" version = "0.1.0" @@ -4770,7 +5242,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core 0.6.4", + "rand_core", "zeroize", ] @@ -4796,7 +5268,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.52.0", ] @@ -4811,17 +5283,17 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "either", "hashlink", "lioness", "log", "parking_lot 0.12.3", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "rand_distr", "subtle 2.6.1", - "thiserror", + "thiserror 1.0.69", "zeroize", ] @@ -4907,7 +5379,7 @@ dependencies = [ "arrayref", "byteorder", "data-encoding", - "libp2p-identity 0.2.10", + "libp2p-identity", "multibase", "multihash 0.19.3", "percent-encoding", @@ -4998,20 +5470,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" -[[package]] -name = "multistream-select" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" -dependencies = [ - "bytes", - "futures", - "log", - "pin-project", - "smallvec", - "unsigned-varint 0.7.2", -] - [[package]] name = "multistream-select" version = "0.13.0" @@ -5041,6 +5499,32 @@ dependencies = [ "typenum", ] +[[package]] +name = "names" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" +dependencies = [ + "rand", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "netlink-packet-core" version = "0.7.0" @@ -5075,7 +5559,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -5089,7 +5573,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.69", "tokio", ] @@ -5114,7 +5598,7 @@ checksum = "a4a43439bf756eed340bdf8feba761e2d50c7d47175d87545cd5cbe4a137c4d1" dependencies = [ "cc", "libc", - "thiserror", + "thiserror 1.0.69", "winapi", ] @@ -5179,6 +5663,20 @@ dependencies = [ "winapi", ] +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + [[package]] name = "num-bigint" version = "0.4.6" @@ -5223,6 +5721,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-rational" version = "0.4.2" @@ -5254,6 +5763,27 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "object" version = "0.30.4" @@ -5303,108 +5833,410 @@ dependencies = [ ] [[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "openssl" +version = "0.10.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-src" +version = "300.4.1+3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pallet-aura" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b31da6e794d655d1f9c4da6557a57399538d75905a7862a2ed3f7e5fb711d7e4" +dependencies = [ + "frame-support", + "frame-system", + "log", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", +] + +[[package]] +name = "pallet-authorship" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625d47577cabbe1318ccec5d612e2379002d1b6af1ab6edcef3243c66ec246df" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + +[[package]] +name = "pallet-babe" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee096c0def13832475b340d00121025e0225de29604d44bc6dfcaa294c995b4" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-application-crypto", + "sp-consensus-babe", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", +] + +[[package]] +name = "pallet-balances" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6945b078919acb14d126490e4b0973a688568b30142476ca69c6df2bed27ad" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + +[[package]] +name = "pallet-base-fee" +version = "1.0.0" +dependencies = [ + "fp-evm", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-dynamic-fee" +version = "4.0.0-dev" +dependencies = [ + "fp-dynamic-fee", + "fp-evm", + "frame-support", + "frame-system", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-ethereum" +version = "4.0.0-dev" +dependencies = [ + "ethereum", + "ethereum-types", + "evm", + "fp-consensus", + "fp-ethereum", + "fp-evm", + "fp-rpc", + "fp-self-contained", + "fp-storage", + "frame-support", + "frame-system", + "hex", + "libsecp256k1", + "pallet-balances", + "pallet-evm", + "pallet-timestamp", + "parity-scale-codec", + "rlp", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-version", +] + +[[package]] +name = "pallet-evm" +version = "6.0.0-dev" +dependencies = [ + "environmental", + "evm", + "fp-account", + "fp-evm", + "frame-benchmarking", + "frame-support", + "frame-system", + "hash-db", + "hex", + "hex-literal", + "impl-trait-for-tuples", + "log", + "pallet-balances", + "pallet-evm-precompile-simple", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-evm-chain-id" +version = "1.0.0-dev" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "pallet-evm-precompile-blake2" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "pallet-evm-test-vector-support", +] + +[[package]] +name = "pallet-evm-precompile-bls12377" +version = "1.0.0-dev" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff", + "ark-std", + "fp-evm", + "pallet-evm-test-vector-support", + "paste", +] + +[[package]] +name = "pallet-evm-precompile-bls12381" +version = "1.0.0-dev" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-std", + "fp-evm", + "pallet-evm-test-vector-support", +] [[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +name = "pallet-evm-precompile-bn128" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "pallet-evm-test-vector-support", + "sp-core", + "substrate-bn", +] [[package]] -name = "openssl" -version = "0.10.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +name = "pallet-evm-precompile-bw6761" +version = "1.0.0-dev" dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", + "ark-bw6-761", + "ark-ec", + "ark-ff", + "ark-std", + "fp-evm", + "pallet-evm-test-vector-support", ] [[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +name = "pallet-evm-precompile-curve25519" +version = "1.0.0-dev" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.90", + "curve25519-dalek", + "fp-evm", ] [[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +name = "pallet-evm-precompile-dispatch" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-evm", + "pallet-timestamp", + "pallet-utility", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", +] [[package]] -name = "openssl-src" -version = "300.4.1+3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" +name = "pallet-evm-precompile-ed25519" +version = "2.0.0-dev" dependencies = [ - "cc", + "ed25519-dalek", + "fp-evm", ] [[package]] -name = "openssl-sys" -version = "0.9.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +name = "pallet-evm-precompile-modexp" +version = "2.0.0-dev" dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", + "fp-evm", + "hex", + "num", + "pallet-evm-test-vector-support", ] [[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +name = "pallet-evm-precompile-sha3fips" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "tiny-keccak", +] [[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +name = "pallet-evm-precompile-simple" +version = "2.0.0-dev" +dependencies = [ + "fp-evm", + "pallet-evm-test-vector-support", + "ripemd", + "sp-io", +] [[package]] -name = "pallet-authorship" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625d47577cabbe1318ccec5d612e2379002d1b6af1ab6edcef3243c66ec246df" +name = "pallet-evm-precompile-storage-cleaner" +version = "0.1.0" dependencies = [ + "fp-evm", "frame-support", "frame-system", - "impl-trait-for-tuples", + "pallet-balances", + "pallet-evm", + "pallet-timestamp", + "pallet-utility", "parity-scale-codec", + "precompile-utils", + "rlp", "scale-info", - "sp-runtime 39.0.3", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-babe" +name = "pallet-evm-test-vector-support" +version = "1.0.0-dev" +dependencies = [ + "evm", + "fp-evm", + "hex", + "serde", + "serde_json", + "sp-core", +] + +[[package]] +name = "pallet-grandpa" version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee096c0def13832475b340d00121025e0225de29604d44bc6dfcaa294c995b4" +checksum = "6d3a570a4aac3173ea46b600408183ca2bcfdaadc077f802f11e6055963e2449" dependencies = [ "frame-benchmarking", "frame-support", @@ -5412,32 +6244,30 @@ dependencies = [ "log", "pallet-authorship", "pallet-session", - "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 38.0.0", - "sp-consensus-babe", - "sp-core 34.0.0", - "sp-io 38.0.0", - "sp-runtime 39.0.3", + "sp-application-crypto", + "sp-consensus-grandpa", + "sp-core", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", ] [[package]] -name = "pallet-balances" -version = "39.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6945b078919acb14d126490e4b0973a688568b30142476ca69c6df2bed27ad" +name = "pallet-hotfix-sufficients" +version = "1.0.0" dependencies = [ - "docify", "frame-benchmarking", "frame-support", "frame-system", - "log", + "pallet-evm", "parity-scale-codec", "scale-info", - "sp-runtime 39.0.3", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -5453,13 +6283,29 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-io 38.0.0", - "sp-runtime 39.0.3", + "sp-core", + "sp-io", + "sp-runtime", "sp-session", "sp-staking", - "sp-state-machine 0.43.0", - "sp-trie 37.0.0", + "sp-state-machine", + "sp-trie", +] + +[[package]] +name = "pallet-sudo" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1574fe2aed3d52db4a389b77b53d8c9758257b121e3e7bbe24c4904e11681e0e" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-io", + "sp-runtime", ] [[package]] @@ -5475,13 +6321,75 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-inherents 34.0.0", - "sp-io 38.0.0", - "sp-runtime 39.0.3", + "sp-inherents", + "sp-io", + "sp-runtime", "sp-storage", "sp-timestamp", ] +[[package]] +name = "pallet-transaction-payment" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b1aa3498107a30237f941b0f02180db3b79012c3488878ff01a4ac3e8ee04e" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-transaction-payment-rpc" +version = "41.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291a021e6828d43b5165042d31691c5c20b5748ea8d5fc51e0359752482a04c2" +dependencies = [ + "jsonrpsee", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-weights", +] + +[[package]] +name = "pallet-transaction-payment-rpc-runtime-api" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49fdf5ab71e9dbcadcf7139736b6ea6bac8ec4a83985d46cbd130e1eec770e41" +dependencies = [ + "pallet-transaction-payment", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-weights", +] + +[[package]] +name = "pallet-utility" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fdcade6efc0b66fc7fc4138964802c02d0ffb7380d894e26b9dd5073727d2b3" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", +] + [[package]] name = "parity-bip39" version = "2.0.1" @@ -5489,8 +6397,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" dependencies = [ "bitcoin_hashes", - "rand 0.8.5", - "rand_core 0.6.4", + "rand", + "rand_core", "serde", "unicode-normalization", ] @@ -5510,7 +6418,7 @@ dependencies = [ "lz4", "memmap2 0.5.10", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "siphasher", "snap", "winapi", @@ -5616,7 +6524,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ "base64ct", - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", ] @@ -5636,6 +6544,12 @@ dependencies = [ "password-hash", ] +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + [[package]] name = "pem" version = "1.1.1" @@ -5651,6 +6565,51 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pest" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" +dependencies = [ + "memchr", + "thiserror 2.0.7", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "pest_meta" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" +dependencies = [ + "once_cell", + "pest", + "sha2 0.10.8", +] + [[package]] name = "petgraph" version = "0.6.5" @@ -5681,12 +6640,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - [[package]] name = "pin-project-lite" version = "0.2.15" @@ -5807,7 +6760,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", - "pin-project-lite 0.2.15", + "pin-project-lite", "rustix 0.38.42", "tracing", "windows-sys 0.59.0", @@ -5857,6 +6810,72 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "precompile-utils" +version = "0.1.0" +dependencies = [ + "derive_more 0.99.18", + "environmental", + "evm", + "fp-evm", + "frame-support", + "frame-system", + "hex", + "hex-literal", + "impl-trait-for-tuples", + "log", + "num_enum", + "pallet-evm", + "parity-scale-codec", + "precompile-utils-macro", + "scale-info", + "serde", + "similar-asserts", + "sp-core", + "sp-io", + "sp-runtime", + "sp-weights", + "staging-xcm", +] + +[[package]] +name = "precompile-utils-macro" +version = "0.1.0" +dependencies = [ + "case", + "fp-evm", + "frame-support", + "macrotest", + "num_enum", + "precompile-utils", + "prettyplease 0.2.25", + "proc-macro2", + "quote", + "sp-crypto-hashing", + "syn 1.0.109", + "trybuild", +] + +[[package]] +name = "precompile-utils-tests-external" +version = "0.1.0" +dependencies = [ + "evm", + "fp-evm", + "frame-support", + "frame-system", + "hex-literal", + "pallet-balances", + "pallet-evm", + "pallet-timestamp", + "parity-scale-codec", + "precompile-utils", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", +] + [[package]] name = "predicates" version = "2.1.5" @@ -5925,6 +6944,7 @@ checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", + "impl-rlp", "impl-serde", "scale-info", "uint", @@ -5936,7 +6956,7 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "thiserror", + "thiserror 1.0.69", "toml 0.5.11", ] @@ -6015,14 +7035,14 @@ dependencies = [ "lazy_static", "memchr", "parking_lot 0.12.3", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "prometheus-client" -version = "0.19.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" +checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" dependencies = [ "dtoa", "itoa", @@ -6031,26 +7051,28 @@ dependencies = [ ] [[package]] -name = "prometheus-client" -version = "0.21.2" +name = "prometheus-client-derive-encode" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "dtoa", - "itoa", - "parking_lot 0.12.3", - "prometheus-client-derive-encode", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] -name = "prometheus-client-derive-encode" -version = "0.4.2" +name = "proptest" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.90", + "bitflags 2.6.0", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "unarray", ] [[package]] @@ -6179,7 +7201,7 @@ dependencies = [ "libc", "once_cell", "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "web-sys", "winapi", ] @@ -6199,19 +7221,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "quick-protobuf-codec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" -dependencies = [ - "asynchronous-codec", - "bytes", - "quick-protobuf", - "thiserror", - "unsigned-varint 0.7.2", -] - [[package]] name = "quick-protobuf-codec" version = "0.2.0" @@ -6221,21 +7230,10 @@ dependencies = [ "asynchronous-codec", "bytes", "quick-protobuf", - "thiserror", + "thiserror 1.0.69", "unsigned-varint 0.7.2", ] -[[package]] -name = "quicksink" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" -dependencies = [ - "futures-core", - "futures-sink", - "pin-project-lite 0.1.12", -] - [[package]] name = "quinn" version = "0.9.4" @@ -6243,12 +7241,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ "bytes", - "pin-project-lite 0.2.15", + "pin-project-lite", "quinn-proto 0.9.6", "quinn-udp 0.3.2", "rustc-hash 1.1.0", "rustls 0.20.9", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "webpki", @@ -6262,12 +7260,12 @@ checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" dependencies = [ "bytes", "futures-io", - "pin-project-lite 0.2.15", + "pin-project-lite", "quinn-proto 0.10.6", "quinn-udp 0.4.1", "rustc-hash 1.1.0", "rustls 0.21.12", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -6279,12 +7277,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustc-hash 1.1.0", "rustls 0.20.9", "slab", - "thiserror", + "thiserror 1.0.69", "tinyvec", "tracing", "webpki", @@ -6297,12 +7295,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustc-hash 1.1.0", "rustls 0.21.12", "slab", - "thiserror", + "thiserror 1.0.69", "tinyvec", "tracing", ] @@ -6348,19 +7346,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -6368,18 +7353,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "rand_chacha", + "rand_core", ] [[package]] @@ -6389,16 +7364,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", + "rand_core", ] [[package]] @@ -6407,7 +7373,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom", ] [[package]] @@ -6417,25 +7383,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand 0.8.5", + "rand", ] [[package]] -name = "rand_hc" -version = "0.2.0" +name = "rand_pcg" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core 0.5.1", + "rand_core", ] [[package]] -name = "rand_pcg" -version = "0.3.1" +name = "rand_xorshift" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -6509,9 +7475,9 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -6646,19 +7612,71 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom", "libc", "spin 0.9.8", "untrusted 0.9.0", "windows-sys 0.52.0", ] +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rocksdb" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" +dependencies = [ + "libc", + "librocksdb-sys", +] + [[package]] name = "route-recognizer" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" +[[package]] +name = "rpassword" +version = "7.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" +dependencies = [ + "libc", + "rtoolbox", + "windows-sys 0.48.0", +] + [[package]] name = "rtnetlink" version = "0.13.1" @@ -6673,10 +7691,20 @@ dependencies = [ "netlink-proto", "netlink-sys", "nix", - "thiserror", + "thiserror 1.0.69", "tokio", ] +[[package]] +name = "rtoolbox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -6752,7 +7780,6 @@ version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" dependencies = [ - "log", "ring 0.16.20", "sct", "webpki", @@ -6807,17 +7834,6 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" -[[package]] -name = "rw-stream-sink" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" -dependencies = [ - "futures", - "pin-project", - "static_assertions", -] - [[package]] name = "rw-stream-sink" version = "0.4.0" @@ -6855,26 +7871,37 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "27.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97e78771bbc491d4d601afbbf01f5718d6d724d0d971c8581cf5b4c62a9502f7" +checksum = "b975ee3a95eaacb611e7b415737a7fa2db4d8ad7b880cc1b97371b04e95c7903" dependencies = [ "log", - "sp-core 32.0.0", + "sp-core", "sp-wasm-interface", - "thiserror", + "thiserror 1.0.69", ] [[package]] -name = "sc-allocator" -version = "29.0.0" +name = "sc-basic-authorship" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b975ee3a95eaacb611e7b415737a7fa2db4d8ad7b880cc1b97371b04e95c7903" +checksum = "2d3f4152eda19b140abc876a3b7434fce27c4c8cd47eff4095af0398d82f8141" dependencies = [ + "futures", + "futures-timer", "log", - "sp-core 34.0.0", - "sp-wasm-interface", - "thiserror", + "parity-scale-codec", + "sc-block-builder", + "sc-proposer-metrics", + "sc-telemetry", + "sc-transaction-pool-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "substrate-prometheus-endpoint", ] [[package]] @@ -6884,13 +7911,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f666f8ff11f96bf6d90676739eb7ccb6a156a4507634b7af83b94f0aa8195a50" dependencies = [ "parity-scale-codec", - "sp-api 34.0.0", + "sp-api", "sp-block-builder", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", - "sp-inherents 34.0.0", - "sp-runtime 39.0.3", - "sp-trie 37.0.0", + "sp-blockchain", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", ] [[package]] @@ -6905,19 +7932,19 @@ dependencies = [ "memmap2 0.9.5", "parity-scale-codec", "sc-chain-spec-derive", - "sc-client-api 37.0.0", - "sc-executor 0.40.1", - "sc-network 0.45.1", + "sc-client-api", + "sc-executor", + "sc-network", "sc-telemetry", "serde", "serde_json", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", + "sp-blockchain", + "sp-core", "sp-crypto-hashing", "sp-genesis-builder", - "sp-io 38.0.0", - "sp-runtime 39.0.3", - "sp-state-machine 0.43.0", + "sp-io", + "sp-runtime", + "sp-state-machine", "sp-tracing", ] @@ -6934,31 +7961,45 @@ dependencies = [ ] [[package]] -name = "sc-client-api" -version = "33.0.0" +name = "sc-cli" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec1bf37389619d861680f7da315ac5a815e5cd924ec9a0adb86e4ba4aac7c99" +checksum = "55a161ee7bf9d571c567f208b89ef4f2fd3c082180a54399403f7fdc44e94da5" dependencies = [ - "fnv", + "array-bytes", + "chrono", + "clap", + "fdlimit", "futures", + "itertools 0.11.0", + "libp2p-identity", "log", + "names", + "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.3", - "sc-executor 0.37.0", - "sc-transaction-pool-api 33.0.0", + "rand", + "regex", + "rpassword", + "sc-client-api", + "sc-client-db", + "sc-keystore", + "sc-mixnet", + "sc-network", + "sc-service", + "sc-telemetry", + "sc-tracing", "sc-utils", - "sp-api 31.0.0", - "sp-blockchain 33.0.0", - "sp-consensus 0.37.0", - "sp-core 32.0.0", - "sp-database", - "sp-externalities 0.28.0", - "sp-runtime 36.0.0", - "sp-state-machine 0.40.0", - "sp-statement-store 15.0.0", - "sp-storage", - "sp-trie 34.0.0", - "substrate-prometheus-endpoint", + "serde", + "serde_json", + "sp-blockchain", + "sp-core", + "sp-keyring", + "sp-keystore", + "sp-panic-handler", + "sp-runtime", + "sp-version", + "thiserror 1.0.69", + "tokio", ] [[package]] @@ -6972,20 +8013,20 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-executor 0.40.1", - "sc-transaction-pool-api 37.0.0", + "sc-executor", + "sc-transaction-pool-api", "sc-utils", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-consensus 0.40.0", - "sp-core 34.0.0", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", "sp-database", - "sp-externalities 0.29.0", - "sp-runtime 39.0.3", - "sp-state-machine 0.43.0", - "sp-statement-store 18.0.0", + "sp-externalities", + "sp-runtime", + "sp-state-machine", + "sp-statement-store", "sp-storage", - "sp-trie 37.0.0", + "sp-trie", "substrate-prometheus-endpoint", ] @@ -6998,134 +8039,257 @@ dependencies = [ "hash-db", "kvdb", "kvdb-memorydb", + "kvdb-rocksdb", "linked-hash-map", "log", "parity-db", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api 37.0.0", + "sc-client-api", "sc-state-db", "schnellru", "sp-arithmetic", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", + "sp-blockchain", + "sp-core", "sp-database", - "sp-runtime 39.0.3", - "sp-state-machine 0.43.0", - "sp-trie 37.0.0", + "sp-runtime", + "sp-state-machine", + "sp-trie", ] [[package]] name = "sc-consensus" -version = "0.38.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0178e3ef8d317456e352466a9c5d3b6d9b5861a64b43c01ab62435e24fc68a51" +checksum = "f64e538ab9edefbf0ddc105ff5b088344c88bc86f21650a2d2020be04a957730" dependencies = [ "async-trait", "futures", - "futures-timer", "log", "mockall 0.11.4", "parking_lot 0.12.3", - "sc-client-api 33.0.0", - "sc-network-types 0.10.0", + "sc-client-api", + "sc-network-types", "sc-utils", "serde", - "sp-api 31.0.0", - "sp-blockchain 33.0.0", - "sp-consensus 0.37.0", - "sp-core 32.0.0", - "sp-runtime 36.0.0", - "sp-state-machine 0.40.0", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] -name = "sc-consensus" +name = "sc-consensus-aura" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "067552bcf461c0089272b2575b2ac512fd8ca7a7bd7098aee49ccc4d67041787" +dependencies = [ + "async-trait", + "futures", + "log", + "parity-scale-codec", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-consensus-slots", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-babe" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39a6aecbb63f5e046c83055d656cf9f203715b38e000ae0df157461582c90eba" +dependencies = [ + "async-trait", + "fork-tree", + "futures", + "log", + "num-bigint", + "num-rational", + "num-traits", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-client-api", + "sc-consensus", + "sc-consensus-epochs", + "sc-consensus-slots", + "sc-telemetry", + "sc-transaction-pool-api", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-crypto-hashing", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-epochs" version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64e538ab9edefbf0ddc105ff5b088344c88bc86f21650a2d2020be04a957730" +checksum = "3634e8f5dfc397e0d3fc8e3a714c21338eacb3ed276089a6df47e7aa926d51d4" +dependencies = [ + "fork-tree", + "parity-scale-codec", + "sc-client-api", + "sc-consensus", + "sp-blockchain", + "sp-runtime", +] + +[[package]] +name = "sc-consensus-grandpa" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3aaab70cf6f93ceea829ef0a4980ce95d84d5c7f4b5419b29bbed17fa04e1a6" dependencies = [ + "ahash", + "array-bytes", "async-trait", + "dyn-clone", + "finality-grandpa", + "fork-tree", "futures", + "futures-timer", "log", - "mockall 0.11.4", + "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api 37.0.0", - "sc-network-types 0.12.1", + "rand", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-gossip", + "sc-network-sync", + "sc-network-types", + "sc-telemetry", + "sc-transaction-pool-api", "sc-utils", - "serde", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-consensus 0.40.0", - "sp-core 34.0.0", - "sp-runtime 39.0.3", - "sp-state-machine 0.43.0", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core", + "sp-crypto-hashing", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] -name = "sc-executor" -version = "0.37.0" +name = "sc-consensus-manual-seal" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0738d2e654f8cadb8b5b5f64c281654838202bf77641656b7fe2bd5346a25b" +checksum = "98b4b6feaedf2f6e7b05f27a8add78f5835f026d642e387ef379a48baf9a96e9" dependencies = [ + "assert_matches", + "async-trait", + "futures", + "futures-timer", + "jsonrpsee", + "log", "parity-scale-codec", - "parking_lot 0.12.3", - "sc-executor-common 0.33.0", - "sc-executor-polkavm 0.30.0", - "sc-executor-wasmtime 0.33.1", - "schnellru", - "sp-api 31.0.0", - "sp-core 32.0.0", - "sp-externalities 0.28.0", - "sp-io 35.0.0", - "sp-panic-handler", - "sp-runtime-interface 27.0.0", - "sp-trie 34.0.0", - "sp-version 34.0.0", - "sp-wasm-interface", - "tracing", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-timestamp", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", ] [[package]] -name = "sc-executor" -version = "0.40.1" +name = "sc-consensus-slots" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f0cc0a3728fd033589183460c5a49b2e7545d09dc89a098216ef9e9aadcd9dc" +checksum = "30fcce6ff513c2479c57eac880ba8d4254c146b678a0072d90f81796d47091df" dependencies = [ + "async-trait", + "futures", + "futures-timer", + "log", "parity-scale-codec", - "parking_lot 0.12.3", - "sc-executor-common 0.35.0", - "sc-executor-polkavm 0.32.0", - "sc-executor-wasmtime 0.35.0", - "schnellru", - "sp-api 34.0.0", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "sp-io 38.0.0", - "sp-panic-handler", - "sp-runtime-interface 28.0.0", - "sp-trie 37.0.0", - "sp-version 37.0.0", - "sp-wasm-interface", - "tracing", + "sc-client-api", + "sc-consensus", + "sc-telemetry", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", ] [[package]] -name = "sc-executor-common" -version = "0.33.0" +name = "sc-executor" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c61ef111d7ccc7697ee4788654f4f998662db057c27ca2de4b94f20e3e6ed1" +checksum = "3f0cc0a3728fd033589183460c5a49b2e7545d09dc89a098216ef9e9aadcd9dc" dependencies = [ - "polkavm", - "sc-allocator 27.0.0", - "sp-maybe-compressed-blob", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-executor-common", + "sc-executor-polkavm", + "sc-executor-wasmtime", + "schnellru", + "sp-api", + "sp-core", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", + "sp-trie", + "sp-version", "sp-wasm-interface", - "thiserror", - "wasm-instrument", + "tracing", ] [[package]] @@ -7135,25 +8299,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c3b703a33dcb7cddf19176fdf12294b9a6408125836b0f4afee3e6969e7f190" dependencies = [ "polkavm", - "sc-allocator 29.0.0", + "sc-allocator", "sp-maybe-compressed-blob", "sp-wasm-interface", - "thiserror", + "thiserror 1.0.69", "wasm-instrument", ] -[[package]] -name = "sc-executor-polkavm" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb96b22b779ba14f449d114b63efd162f95f1cdf773cdac29f75fe6a250de24" -dependencies = [ - "log", - "polkavm", - "sc-executor-common 0.33.0", - "sp-wasm-interface", -] - [[package]] name = "sc-executor-polkavm" version = "0.32.0" @@ -7162,29 +8314,10 @@ checksum = "26fe58d9cacfab73e5595fa84b80f7bd03efebe54a0574daaeb221a1d1f7ab80" dependencies = [ "log", "polkavm", - "sc-executor-common 0.35.0", + "sc-executor-common", "sp-wasm-interface", ] -[[package]] -name = "sc-executor-wasmtime" -version = "0.33.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f45912e90278c06bacf2c37a11937ed6878ee0cd056ae2be2d0b45ec7ac34d1" -dependencies = [ - "anyhow", - "cfg-if", - "libc", - "log", - "parking_lot 0.12.3", - "rustix 0.36.17", - "sc-allocator 27.0.0", - "sc-executor-common 0.33.0", - "sp-runtime-interface 27.0.0", - "sp-wasm-interface", - "wasmtime", -] - [[package]] name = "sc-executor-wasmtime" version = "0.35.0" @@ -7197,9 +8330,9 @@ dependencies = [ "log", "parking_lot 0.12.3", "rustix 0.36.17", - "sc-allocator 29.0.0", - "sc-executor-common 0.35.0", - "sp-runtime-interface 28.0.0", + "sc-allocator", + "sc-executor-common", + "sp-runtime-interface", "sp-wasm-interface", "wasmtime", ] @@ -7214,12 +8347,12 @@ dependencies = [ "futures", "futures-timer", "log", - "sc-client-api 37.0.0", - "sc-network 0.45.1", - "sc-network-common 0.44.0", + "sc-client-api", + "sc-network", + "sc-network-common", "sc-network-sync", - "sp-blockchain 37.0.1", - "sp-runtime 39.0.3", + "sp-blockchain", + "sp-runtime", ] [[package]] @@ -7231,10 +8364,10 @@ dependencies = [ "array-bytes", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto 38.0.0", - "sp-core 34.0.0", - "sp-keystore 0.40.0", - "thiserror", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "thiserror 1.0.69", ] [[package]] @@ -7254,69 +8387,17 @@ dependencies = [ "multiaddr 0.18.2", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api 37.0.0", - "sc-network 0.45.1", - "sc-network-types 0.12.1", - "sc-transaction-pool-api 37.0.0", - "sp-api 34.0.0", - "sp-consensus 0.40.0", - "sp-core 34.0.0", - "sp-keystore 0.40.0", + "sc-client-api", + "sc-network", + "sc-network-types", + "sc-transaction-pool-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-keystore", "sp-mixnet", - "sp-runtime 39.0.3", - "thiserror", -] - -[[package]] -name = "sc-network" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94a6131f2c50126601a01d9b60a8df569aa8483cf6754e280b754a5e716a297" -dependencies = [ - "array-bytes", - "async-channel", - "async-trait", - "asynchronous-codec", - "bytes", - "cid 0.9.0", - "either", - "fnv", - "futures", - "futures-timer", - "ip_network", - "libp2p 0.51.4", - "linked_hash_set", - "litep2p 0.3.0", - "log", - "mockall 0.11.4", - "once_cell", - "parity-scale-codec", - "parking_lot 0.12.3", - "partial_sort", - "pin-project", - "prost 0.11.9", - "prost-build 0.11.9", - "rand 0.8.5", - "sc-client-api 33.0.0", - "sc-network-common 0.38.0", - "sc-network-types 0.10.0", - "sc-utils", - "schnellru", - "serde", - "serde_json", - "smallvec", - "sp-arithmetic", - "sp-blockchain 33.0.0", - "sp-core 32.0.0", - "sp-runtime 36.0.0", - "substrate-prometheus-endpoint", - "thiserror", - "tokio", - "tokio-stream", - "unsigned-varint 0.7.2", - "void", - "wasm-timer", - "zeroize", + "sp-runtime", + "thiserror 1.0.69", ] [[package]] @@ -7336,9 +8417,9 @@ dependencies = [ "futures", "futures-timer", "ip_network", - "libp2p 0.52.4", + "libp2p", "linked_hash_set", - "litep2p 0.6.2", + "litep2p", "log", "mockall 0.11.4", "once_cell", @@ -7348,21 +8429,21 @@ dependencies = [ "pin-project", "prost 0.12.6", "prost-build 0.12.6", - "rand 0.8.5", - "sc-client-api 37.0.0", - "sc-network-common 0.44.0", - "sc-network-types 0.12.1", + "rand", + "sc-client-api", + "sc-network-common", + "sc-network-types", "sc-utils", "schnellru", "serde", "serde_json", "smallvec", "sp-arithmetic", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", - "sp-runtime 39.0.3", + "sp-blockchain", + "sp-core", + "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", "unsigned-varint 0.7.2", @@ -7373,40 +8454,41 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.38.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae304be8447d6101c7d314932137ff2405db43bc7daf4b9c0c52341bdc9265ac" +checksum = "dbff059c0ca497757f633cfa13625fbaa3028f23a77a9696e94e700008f8dd5a" dependencies = [ "async-trait", "bitflags 1.3.2", "futures", - "libp2p-identity 0.1.3", + "libp2p-identity", "parity-scale-codec", - "prost-build 0.11.9", - "sc-consensus 0.38.0", - "sc-network-types 0.10.0", - "sp-consensus 0.37.0", - "sp-consensus-grandpa 18.0.0", - "sp-runtime 36.0.0", + "prost-build 0.12.6", + "sc-consensus", + "sc-network-types", + "sp-consensus", + "sp-consensus-grandpa", + "sp-runtime", ] [[package]] -name = "sc-network-common" -version = "0.44.0" +name = "sc-network-gossip" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff059c0ca497757f633cfa13625fbaa3028f23a77a9696e94e700008f8dd5a" +checksum = "d4086f4ac6b94ff2efd24f1776280c580454c5990b8665aa9f293fcd33c80630" dependencies = [ - "async-trait", - "bitflags 1.3.2", + "ahash", "futures", - "libp2p-identity 0.2.10", - "parity-scale-codec", - "prost-build 0.12.6", - "sc-consensus 0.44.0", - "sc-network-types 0.12.1", - "sp-consensus 0.40.0", - "sp-consensus-grandpa 21.0.0", - "sp-runtime 39.0.3", + "futures-timer", + "log", + "sc-network", + "sc-network-common", + "sc-network-sync", + "sc-network-types", + "schnellru", + "sp-runtime", + "substrate-prometheus-endpoint", + "tracing", ] [[package]] @@ -7422,13 +8504,13 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build 0.12.6", - "sc-client-api 37.0.0", - "sc-network 0.45.1", - "sc-network-types 0.12.1", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", - "sp-runtime 39.0.3", - "thiserror", + "sc-client-api", + "sc-network", + "sc-network-types", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", ] [[package]] @@ -7443,28 +8525,28 @@ dependencies = [ "fork-tree", "futures", "futures-timer", - "libp2p 0.52.4", + "libp2p", "log", "mockall 0.11.4", "parity-scale-codec", "prost 0.12.6", "prost-build 0.12.6", - "sc-client-api 37.0.0", - "sc-consensus 0.44.0", - "sc-network 0.45.1", - "sc-network-common 0.44.0", - "sc-network-types 0.12.1", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-types", "sc-utils", "schnellru", "smallvec", "sp-arithmetic", - "sp-blockchain 37.0.1", - "sp-consensus 0.40.0", - "sp-consensus-grandpa 21.0.0", - "sp-core 34.0.0", - "sp-runtime 39.0.3", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", ] @@ -7479,31 +8561,16 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "sc-network 0.45.1", - "sc-network-common 0.44.0", + "sc-network", + "sc-network-common", "sc-network-sync", - "sc-network-types 0.12.1", + "sc-network-types", "sc-utils", - "sp-consensus 0.40.0", - "sp-runtime 39.0.3", + "sp-consensus", + "sp-runtime", "substrate-prometheus-endpoint", ] -[[package]] -name = "sc-network-types" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6b473a65393f65579019e4280cc116848439985c62724db8402bbfa7da462d1" -dependencies = [ - "bs58 0.4.0", - "libp2p-identity 0.1.3", - "litep2p 0.3.0", - "multiaddr 0.17.1", - "multihash 0.17.0", - "rand 0.8.5", - "thiserror", -] - [[package]] name = "sc-network-types" version = "0.12.1" @@ -7511,22 +8578,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c372dbda66644a1df0daa8c0d99c36b6f74db7dca213d2416cd84f507125224" dependencies = [ "bs58 0.5.1", - "ed25519-dalek 2.1.1", - "libp2p-identity 0.2.10", - "litep2p 0.6.2", + "ed25519-dalek", + "libp2p-identity", + "litep2p", "log", "multiaddr 0.18.2", "multihash 0.19.3", - "rand 0.8.5", - "thiserror", + "rand", + "thiserror 1.0.69", "zeroize", ] [[package]] name = "sc-offchain" -version = "34.0.0" +version = "40.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb6f76c65abdabfadb497a5fe33733ec67af15221aa1c72686096aed75b28b8" +checksum = "9185b82ad10f21f3eb977a079f772219bd216bf4eafedad7d5e4a0ff32383c75" dependencies = [ "array-bytes", "bytes", @@ -7535,29 +8602,38 @@ dependencies = [ "futures-timer", "hyper 0.14.31", "hyper-rustls", - "libp2p 0.51.4", "log", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", - "sc-client-api 33.0.0", - "sc-network 0.39.0", - "sc-network-common 0.38.0", - "sc-network-types 0.10.0", - "sc-transaction-pool-api 33.0.0", + "rand", + "sc-client-api", + "sc-network", + "sc-network-common", + "sc-network-types", + "sc-transaction-pool-api", "sc-utils", - "sp-api 31.0.0", - "sp-core 32.0.0", - "sp-externalities 0.28.0", - "sp-keystore 0.38.0", - "sp-offchain 31.0.0", - "sp-runtime 36.0.0", + "sp-api", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-offchain", + "sp-runtime", "threadpool", "tracing", ] +[[package]] +name = "sc-proposer-metrics" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f680a0bed67dab19898624246376ba85d5f70a89859ba030830aacd079c28d3c" +dependencies = [ + "log", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-rpc" version = "40.0.0" @@ -7571,23 +8647,23 @@ dependencies = [ "parking_lot 0.12.3", "sc-block-builder", "sc-chain-spec", - "sc-client-api 37.0.0", + "sc-client-api", "sc-mixnet", "sc-rpc-api", "sc-tracing", - "sc-transaction-pool-api 37.0.0", + "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", - "sp-keystore 0.40.0", - "sp-offchain 34.0.0", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-offchain", "sp-rpc", - "sp-runtime 39.0.3", + "sp-runtime", "sp-session", - "sp-statement-store 18.0.0", - "sp-version 37.0.0", + "sp-statement-store", + "sp-version", "tokio", ] @@ -7601,15 +8677,15 @@ dependencies = [ "parity-scale-codec", "sc-chain-spec", "sc-mixnet", - "sc-transaction-pool-api 37.0.0", + "sc-transaction-pool-api", "scale-info", "serde", "serde_json", - "sp-core 34.0.0", + "sp-core", "sp-rpc", - "sp-runtime 39.0.3", - "sp-version 37.0.0", - "thiserror", + "sp-runtime", + "sp-version", + "thiserror 1.0.69", ] [[package]] @@ -7651,21 +8727,21 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "sc-chain-spec", - "sc-client-api 37.0.0", + "sc-client-api", "sc-rpc", - "sc-transaction-pool-api 37.0.0", + "sc-transaction-pool-api", "sc-utils", "schnellru", "serde", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", + "sp-api", + "sp-blockchain", + "sp-core", "sp-rpc", - "sp-runtime 39.0.3", - "sp-version 37.0.0", - "thiserror", + "sp-runtime", + "sp-version", + "thiserror 1.0.69", "tokio", "tokio-stream", ] @@ -7686,20 +8762,20 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "sc-chain-spec", - "sc-client-api 37.0.0", + "sc-client-api", "sc-client-db", - "sc-consensus 0.44.0", - "sc-executor 0.40.1", + "sc-consensus", + "sc-executor", "sc-informant", "sc-keystore", - "sc-network 0.45.1", - "sc-network-common 0.44.0", + "sc-network", + "sc-network-common", "sc-network-light", "sc-network-sync", "sc-network-transactions", - "sc-network-types 0.12.1", + "sc-network-types", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", @@ -7707,29 +8783,29 @@ dependencies = [ "sc-telemetry", "sc-tracing", "sc-transaction-pool", - "sc-transaction-pool-api 37.0.0", + "sc-transaction-pool-api", "sc-utils", "schnellru", "serde", "serde_json", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-consensus 0.40.0", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "sp-keystore 0.40.0", - "sp-runtime 39.0.3", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime", "sp-session", - "sp-state-machine 0.43.0", + "sp-state-machine", "sp-storage", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie 37.0.0", - "sp-version 37.0.0", + "sp-trie", + "sp-version", "static_init", "substrate-prometheus-endpoint", "tempfile", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "tracing-futures", @@ -7744,7 +8820,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sp-core 34.0.0", + "sp-core", ] [[package]] @@ -7757,15 +8833,15 @@ dependencies = [ "futures", "libc", "log", - "rand 0.8.5", + "rand", "rand_pcg", "regex", "sc-telemetry", "serde", "serde_json", - "sp-core 34.0.0", + "sp-core", "sp-crypto-hashing", - "sp-io 38.0.0", + "sp-io", "sp-std", ] @@ -7777,16 +8853,16 @@ checksum = "e9e28cab12625bcdb8828f9a1177b8d061972f90fda89a70c10763da50e0aaa5" dependencies = [ "chrono", "futures", - "libp2p 0.52.4", + "libp2p", "log", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", - "sc-network 0.45.1", + "rand", + "sc-network", "sc-utils", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "wasm-timer", ] @@ -7805,16 +8881,16 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "rustc-hash 1.1.0", - "sc-client-api 37.0.0", + "sc-client-api", "sc-tracing-proc-macro", "serde", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", + "sp-api", + "sp-blockchain", + "sp-core", "sp-rpc", - "sp-runtime 39.0.3", + "sp-runtime", "sp-tracing", - "thiserror", + "thiserror 1.0.69", "tracing", "tracing-log", "tracing-subscriber", @@ -7845,36 +8921,19 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sc-client-api 37.0.0", - "sc-transaction-pool-api 37.0.0", + "sc-client-api", + "sc-transaction-pool-api", "sc-utils", "serde", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", + "sp-api", + "sp-blockchain", + "sp-core", "sp-crypto-hashing", - "sp-runtime 39.0.3", + "sp-runtime", "sp-tracing", "sp-transaction-pool", "substrate-prometheus-endpoint", - "thiserror", -] - -[[package]] -name = "sc-transaction-pool-api" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618532cf1e4afbc3a3f9046bfb4aaceba46fa9888ec9d1d12e9fe5448aa7ee82" -dependencies = [ - "async-trait", - "futures", - "log", - "parity-scale-codec", - "serde", - "sp-blockchain 33.0.0", - "sp-core 32.0.0", - "sp-runtime 36.0.0", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -7888,10 +8947,10 @@ dependencies = [ "log", "parity-scale-codec", "serde", - "sp-blockchain 37.0.1", - "sp-core 34.0.0", - "sp-runtime 39.0.3", - "thiserror", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", ] [[package]] @@ -7980,7 +9039,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ - "ahash 0.8.11", + "ahash", "cfg-if", "hashbrown 0.13.2", ] @@ -7994,10 +9053,10 @@ dependencies = [ "aead", "arrayref", "arrayvec", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "getrandom_or_panic", "merlin", - "rand_core 0.6.4", + "rand_core", "serde_bytes", "sha2 0.10.8", "subtle 2.6.1", @@ -8026,21 +9085,6 @@ dependencies = [ "untrusted 0.9.0", ] -[[package]] -name = "sctp-proto" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f64cef148d3295c730c3cb340b0b252a4d570b1c7d4bf0808f88540b0a888bc" -dependencies = [ - "bytes", - "crc", - "fxhash", - "log", - "rand 0.8.5", - "slab", - "thiserror", -] - [[package]] name = "sctp-proto" version = "0.2.2" @@ -8051,9 +9095,9 @@ dependencies = [ "crc", "fxhash", "log", - "rand 0.8.5", + "rand", "slab", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -8211,19 +9255,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.1", -] - [[package]] name = "sha-1" version = "0.10.1" @@ -8306,10 +9337,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "signature" -version = "1.6.4" +name = "signal-hook-registry" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] [[package]] name = "signature" @@ -8318,7 +9352,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -8334,6 +9368,26 @@ dependencies = [ "wide", ] +[[package]] +name = "similar" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +dependencies = [ + "bstr", + "unicode-segmentation", +] + +[[package]] +name = "similar-asserts" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" +dependencies = [ + "console", + "similar", +] + [[package]] name = "simple-dns" version = "0.5.7" @@ -8391,8 +9445,8 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", "ring 0.17.8", "rustc_version", "sha2 0.10.8", @@ -8419,22 +9473,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "soketto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" -dependencies = [ - "base64 0.13.1", - "bytes", - "flate2", - "futures", - "httparse", - "log", - "rand 0.8.5", - "sha-1 0.9.8", -] - [[package]] name = "soketto" version = "0.8.1" @@ -8447,33 +9485,10 @@ dependencies = [ "http 1.2.0", "httparse", "log", - "rand 0.8.5", + "rand", "sha1", ] -[[package]] -name = "sp-api" -version = "31.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b500647cfe266d58781f44af9b13c3bd57fb3be08642f2a9f13e024cc5e22359" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro 19.0.0", - "sp-core 32.0.0", - "sp-externalities 0.28.0", - "sp-metadata-ir", - "sp-runtime 36.0.0", - "sp-runtime-interface 27.0.0", - "sp-state-machine 0.40.0", - "sp-std", - "sp-trie 34.0.0", - "sp-version 34.0.0", - "thiserror", -] - [[package]] name = "sp-api" version = "34.0.0" @@ -8485,31 +9500,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro 20.0.0", - "sp-core 34.0.0", - "sp-externalities 0.29.0", + "sp-api-proc-macro", + "sp-core", + "sp-externalities", "sp-metadata-ir", - "sp-runtime 39.0.3", - "sp-runtime-interface 28.0.0", - "sp-state-machine 0.43.0", - "sp-trie 37.0.0", - "sp-version 37.0.0", - "thiserror", -] - -[[package]] -name = "sp-api-proc-macro" -version = "19.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213a4bec1b18bd0750e7b81d11d8276c24f68b53cde83950b00b178ecc9ab24a" -dependencies = [ - "Inflector", - "blake2 0.10.6", - "expander", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.90", + "sp-runtime", + "sp-runtime-interface", + "sp-state-machine", + "sp-trie", + "sp-version", + "thiserror 1.0.69", ] [[package]] @@ -8527,20 +9527,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "sp-application-crypto" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57541120624a76379cc993cbb85064a5148957a92da032567e54bce7977f51fc" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 32.0.0", - "sp-io 35.0.0", - "sp-std", -] - [[package]] name = "sp-application-crypto" version = "38.0.0" @@ -8550,8 +9536,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-core", + "sp-io", ] [[package]] @@ -8576,28 +9562,9 @@ version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74738809461e3d4bd707b5b94e0e0c064a623a74a6a8fe5c98514417a02858dd" dependencies = [ - "sp-api 34.0.0", - "sp-inherents 34.0.0", - "sp-runtime 39.0.3", -] - -[[package]] -name = "sp-blockchain" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488d3cc94c345ce55d1890239bb256f4418f9566e29b7b90f01817bc7b553a08" -dependencies = [ - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.3", - "schnellru", - "sp-api 31.0.0", - "sp-consensus 0.37.0", - "sp-database", - "sp-runtime 36.0.0", - "sp-state-machine 0.40.0", - "thiserror", + "sp-api", + "sp-inherents", + "sp-runtime", ] [[package]] @@ -8610,32 +9577,16 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "schnellru", - "sp-api 34.0.0", - "sp-consensus 0.40.0", - "sp-core 34.0.0", + "sp-api", + "sp-consensus", + "sp-core", "sp-database", - "sp-runtime 39.0.3", - "sp-state-machine 0.43.0", - "thiserror", + "sp-runtime", + "sp-state-machine", + "thiserror 1.0.69", "tracing", ] -[[package]] -name = "sp-consensus" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f400a20113301fa91094c210b9b9b63f066cee55f22517768eaadf3519124d8" -dependencies = [ - "async-trait", - "futures", - "log", - "sp-core 32.0.0", - "sp-inherents 31.0.0", - "sp-runtime 36.0.0", - "sp-state-machine 0.40.0", - "thiserror", -] - [[package]] name = "sp-consensus" version = "0.40.0" @@ -8645,11 +9596,11 @@ dependencies = [ "async-trait", "futures", "log", - "sp-core 34.0.0", - "sp-inherents 34.0.0", - "sp-runtime 39.0.3", - "sp-state-machine 0.43.0", - "thiserror", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "thiserror 1.0.69", ] [[package]] @@ -8661,11 +9612,11 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api 34.0.0", - "sp-application-crypto 38.0.0", + "sp-api", + "sp-application-crypto", "sp-consensus-slots", - "sp-inherents 34.0.0", - "sp-runtime 39.0.3", + "sp-inherents", + "sp-runtime", "sp-timestamp", ] @@ -8679,33 +9630,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 34.0.0", - "sp-application-crypto 38.0.0", + "sp-api", + "sp-application-crypto", "sp-consensus-slots", - "sp-core 34.0.0", - "sp-inherents 34.0.0", - "sp-runtime 39.0.3", + "sp-core", + "sp-inherents", + "sp-runtime", "sp-timestamp", ] -[[package]] -name = "sp-consensus-grandpa" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f4d90b65fd82e77c3b8c382c3a9e669bba5ccfb5402a945cde88984c98681b" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 31.0.0", - "sp-application-crypto 35.0.0", - "sp-core 32.0.0", - "sp-keystore 0.38.0", - "sp-runtime 36.0.0", -] - [[package]] name = "sp-consensus-grandpa" version = "21.0.0" @@ -8717,70 +9650,23 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 34.0.0", - "sp-application-crypto 38.0.0", - "sp-core 34.0.0", - "sp-keystore 0.40.0", - "sp-runtime 39.0.3", -] - -[[package]] -name = "sp-consensus-slots" -version = "0.40.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbafb7ed44f51c22fa277fb39b33dc601fa426133a8e2b53f3f46b10f07fba43" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-timestamp", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", ] [[package]] -name = "sp-core" -version = "32.0.0" +name = "sp-consensus-slots" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2dac7e47c7ddbb61efe196d5cce99f6ea88926c961fa39909bfeae46fc5a7b" +checksum = "bbafb7ed44f51c22fa277fb39b33dc601fa426133a8e2b53f3f46b10f07fba43" dependencies = [ - "array-bytes", - "bitflags 1.3.2", - "blake2 0.10.6", - "bounded-collections", - "bs58 0.5.1", - "dyn-clonable", - "ed25519-zebra 3.1.0", - "futures", - "hash-db", - "hash256-std-hasher", - "impl-serde", - "itertools 0.10.5", - "k256", - "libsecp256k1", - "log", - "merlin", - "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.3", - "paste", - "primitive-types", - "rand 0.8.5", "scale-info", - "schnorrkel", - "secp256k1", - "secrecy", "serde", - "sp-crypto-hashing", - "sp-debug-derive", - "sp-externalities 0.28.0", - "sp-runtime-interface 27.0.0", - "sp-std", - "sp-storage", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tracing", - "w3f-bls", - "zeroize", + "sp-timestamp", ] [[package]] @@ -8795,7 +9681,7 @@ dependencies = [ "bounded-collections", "bs58 0.5.1", "dyn-clonable", - "ed25519-zebra 4.0.3", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", @@ -8810,7 +9696,7 @@ dependencies = [ "parking_lot 0.12.3", "paste", "primitive-types", - "rand 0.8.5", + "rand", "scale-info", "schnorrkel", "secp256k1", @@ -8818,13 +9704,13 @@ dependencies = [ "serde", "sp-crypto-hashing", "sp-debug-derive", - "sp-externalities 0.29.0", - "sp-runtime-interface 28.0.0", + "sp-externalities", + "sp-runtime-interface", "sp-std", "sp-storage", "ss58-registry", "substrate-bip39", - "thiserror", + "thiserror 1.0.69", "tracing", "w3f-bls", "zeroize", @@ -8876,17 +9762,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "sp-externalities" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33abaec4be69b1613796bbf430decbbcaaf978756379e2016e683a4d6379cd02" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-storage", -] - [[package]] name = "sp-externalities" version = "0.29.0" @@ -8907,22 +9782,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 34.0.0", - "sp-runtime 39.0.3", -] - -[[package]] -name = "sp-inherents" -version = "31.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170537049d57fc645637e4586fe98a3291392b2ecfd7988ea31639cf43470b42" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime 36.0.0", - "thiserror", + "sp-api", + "sp-runtime", ] [[package]] @@ -8935,35 +9796,8 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 39.0.3", - "thiserror", -] - -[[package]] -name = "sp-io" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b64ab18a0e29def6511139a8c45a59c14a846105aab6f9cc653523bd3b81f55" -dependencies = [ - "bytes", - "ed25519-dalek 2.1.1", - "libsecp256k1", - "log", - "parity-scale-codec", - "polkavm-derive", - "rustversion", - "secp256k1", - "sp-core 32.0.0", - "sp-crypto-hashing", - "sp-externalities 0.28.0", - "sp-keystore 0.38.0", - "sp-runtime-interface 27.0.0", - "sp-state-machine 0.40.0", - "sp-std", - "sp-tracing", - "sp-trie 34.0.0", - "tracing", - "tracing-core", + "sp-runtime", + "thiserror 1.0.69", ] [[package]] @@ -8974,21 +9808,21 @@ checksum = "59ef7eb561bb4839cc8424ce58c5ea236cbcca83f26fcc0426d8decfe8aa97d4" dependencies = [ "bytes", "docify", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", "polkavm-derive", "rustversion", "secp256k1", - "sp-core 34.0.0", + "sp-core", "sp-crypto-hashing", - "sp-externalities 0.29.0", - "sp-keystore 0.40.0", - "sp-runtime-interface 28.0.0", - "sp-state-machine 0.43.0", + "sp-externalities", + "sp-keystore", + "sp-runtime-interface", + "sp-state-machine", "sp-tracing", - "sp-trie 37.0.0", + "sp-trie", "tracing", "tracing-core", ] @@ -8999,23 +9833,11 @@ version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c0e20624277f578b27f44ecfbe2ebc2e908488511ee2c900c5281599f700ab3" dependencies = [ - "sp-core 34.0.0", - "sp-runtime 39.0.3", + "sp-core", + "sp-runtime", "strum 0.26.3", ] -[[package]] -name = "sp-keystore" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6c7a7abd860a5211a356cf9d5fcabf0eb37d997985e5d722b6b33dcc815528" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.3", - "sp-core 32.0.0", - "sp-externalities 0.28.0", -] - [[package]] name = "sp-keystore" version = "0.40.0" @@ -9024,8 +9846,8 @@ checksum = "0248b4d784cb4a01472276928977121fa39d977a5bb24793b6b15e64b046df42" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sp-core 34.0.0", - "sp-externalities 0.29.0", + "sp-core", + "sp-externalities", ] [[package]] @@ -9034,7 +9856,7 @@ version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0c768c11afbe698a090386876911da4236af199cd38a5866748df4d8628aeff" dependencies = [ - "thiserror", + "thiserror 1.0.69", "zstd 0.12.4", ] @@ -9057,19 +9879,8 @@ checksum = "3b0b017dd54823b6e62f9f7171a1df350972e5c6d0bf17e0c2f78680b5c31942" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 34.0.0", - "sp-application-crypto 38.0.0", -] - -[[package]] -name = "sp-offchain" -version = "31.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cbbd2096fda34c2f6f9f268c808ca280c08565e759309ea24f17dcd0808097b" -dependencies = [ - "sp-api 31.0.0", - "sp-core 32.0.0", - "sp-runtime 36.0.0", + "sp-api", + "sp-application-crypto", ] [[package]] @@ -9078,9 +9889,9 @@ version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d9de237d72ecffd07f90826eef18360208b16d8de939d54e61591fac0fcbf99" dependencies = [ - "sp-api 34.0.0", - "sp-core 34.0.0", - "sp-runtime 39.0.3", + "sp-api", + "sp-core", + "sp-runtime", ] [[package]] @@ -9102,32 +9913,7 @@ checksum = "45458f0955870a92b3969098d4f1f4e9b55b4282d9f1dc112a51bb5bb6584900" dependencies = [ "rustc-hash 1.1.0", "serde", - "sp-core 34.0.0", -] - -[[package]] -name = "sp-runtime" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6b85cb874b78ebb17307a910fc27edf259a0455ac5155d87eaed8754c037e07" -dependencies = [ - "docify", - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "paste", - "rand 0.8.5", - "scale-info", - "serde", - "simple-mermaid", - "sp-application-crypto 35.0.0", - "sp-arithmetic", - "sp-core 32.0.0", - "sp-io 35.0.0", - "sp-std", - "sp-weights", + "sp-core", ] [[package]] @@ -9144,39 +9930,19 @@ dependencies = [ "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", "simple-mermaid", - "sp-application-crypto 38.0.0", + "sp-application-crypto", "sp-arithmetic", - "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-core", + "sp-io", "sp-std", "sp-weights", "tracing", ] -[[package]] -name = "sp-runtime-interface" -version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "647db5e1dc481686628b41554e832df6ab400c4b43a6a54e54d3b0a71ca404aa" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkavm-derive", - "primitive-types", - "sp-externalities 0.28.0", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", - "static_assertions", -] - [[package]] name = "sp-runtime-interface" version = "28.0.0" @@ -9188,7 +9954,7 @@ dependencies = [ "parity-scale-codec", "polkavm-derive", "primitive-types", - "sp-externalities 0.29.0", + "sp-externalities", "sp-runtime-interface-proc-macro", "sp-std", "sp-storage", @@ -9219,10 +9985,10 @@ checksum = "00a3a307fedc423fb8cd2a7726a3bbb99014f1b4b52f26153993e2aae3338fe6" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 34.0.0", - "sp-core 34.0.0", - "sp-keystore 0.40.0", - "sp-runtime 39.0.3", + "sp-api", + "sp-core", + "sp-keystore", + "sp-runtime", "sp-staking", ] @@ -9236,29 +10002,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 34.0.0", - "sp-runtime 39.0.3", -] - -[[package]] -name = "sp-state-machine" -version = "0.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18084cb996c27d5d99a88750e0a8eb4af6870a40df97872a5923e6d293d95fb9" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand 0.8.5", - "smallvec", - "sp-core 32.0.0", - "sp-externalities 0.28.0", - "sp-panic-handler", - "sp-trie 34.0.0", - "thiserror", - "tracing", - "trie-db", + "sp-core", + "sp-runtime", ] [[package]] @@ -9271,42 +10016,17 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "smallvec", - "sp-core 34.0.0", - "sp-externalities 0.29.0", + "sp-core", + "sp-externalities", "sp-panic-handler", - "sp-trie 37.0.0", - "thiserror", + "sp-trie", + "thiserror 1.0.69", "tracing", "trie-db", ] -[[package]] -name = "sp-statement-store" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7ac525ad4b3533aebdd68ae097d0a55887b6499b565c5a592f6c18372a40caf" -dependencies = [ - "aes-gcm", - "curve25519-dalek 4.1.3", - "ed25519-dalek 2.1.1", - "hkdf", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sha2 0.10.8", - "sp-api 31.0.0", - "sp-application-crypto 35.0.0", - "sp-core 32.0.0", - "sp-crypto-hashing", - "sp-externalities 0.28.0", - "sp-runtime 36.0.0", - "sp-runtime-interface 27.0.0", - "thiserror", - "x25519-dalek 2.0.1", -] - [[package]] name = "sp-statement-store" version = "18.0.0" @@ -9314,22 +10034,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c219bc34ef4d1f9835f3ed881f965643c32034fcc030eb33b759dadbc802c1c2" dependencies = [ "aes-gcm", - "curve25519-dalek 4.1.3", - "ed25519-dalek 2.1.1", + "curve25519-dalek", + "ed25519-dalek", "hkdf", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sha2 0.10.8", - "sp-api 34.0.0", - "sp-application-crypto 38.0.0", - "sp-core 34.0.0", + "sp-api", + "sp-application-crypto", + "sp-core", "sp-crypto-hashing", - "sp-externalities 0.29.0", - "sp-runtime 39.0.3", - "sp-runtime-interface 28.0.0", - "thiserror", - "x25519-dalek 2.0.1", + "sp-externalities", + "sp-runtime", + "sp-runtime-interface", + "thiserror 1.0.69", + "x25519-dalek", ] [[package]] @@ -9359,9 +10079,9 @@ checksum = "72a1cb4df653d62ccc0dbce1db45d1c9443ec60247ee9576962d24da4c9c6f07" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents 34.0.0", - "sp-runtime 39.0.3", - "thiserror", + "sp-inherents", + "sp-runtime", + "thiserror 1.0.69", ] [[package]] @@ -9382,8 +10102,8 @@ version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc4bf251059485a7dd38fe4afeda8792983511cc47f342ff4695e2dcae6b5247" dependencies = [ - "sp-api 34.0.0", - "sp-runtime 39.0.3", + "sp-api", + "sp-runtime", ] [[package]] @@ -9395,34 +10115,10 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-inherents 34.0.0", - "sp-runtime 39.0.3", - "sp-trie 37.0.0", -] - -[[package]] -name = "sp-trie" -version = "34.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87727eced997f14d0f79e3a5186a80e38a9de87f6e9dc0baea5ebf8b7f9d8b66" -dependencies = [ - "ahash 0.8.11", - "hash-db", - "lazy_static", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand 0.8.5", - "scale-info", - "schnellru", - "sp-core 32.0.0", - "sp-externalities 0.28.0", - "thiserror", - "tracing", - "trie-db", - "trie-root", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", ] [[package]] @@ -9431,42 +10127,24 @@ version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd" dependencies = [ - "ahash 0.8.11", + "ahash", "hash-db", "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "scale-info", "schnellru", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "thiserror", + "sp-core", + "sp-externalities", + "thiserror 1.0.69", "tracing", "trie-db", "trie-root", ] -[[package]] -name = "sp-version" -version = "34.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8e3856686aa2719b1c05af07ba7e6021d844944472f246f3b5f1c585be04cd" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-crypto-hashing-proc-macro", - "sp-runtime 36.0.0", - "sp-std", - "sp-version-proc-macro", - "thiserror", -] - [[package]] name = "sp-version" version = "37.0.0" @@ -9479,10 +10157,10 @@ dependencies = [ "scale-info", "serde", "sp-crypto-hashing-proc-macro", - "sp-runtime 39.0.3", + "sp-runtime", "sp-std", "sp-version-proc-macro", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -9535,25 +10213,148 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spinning_top" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlformat" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" +dependencies = [ + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" +dependencies = [ + "ahash", + "atoi", + "byteorder", + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener 2.5.3", + "futures-channel", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashlink", + "hex", + "indexmap 2.7.0", + "log", + "memchr", + "native-tls", + "once_cell", + "paste", + "percent-encoding", + "serde", + "sha2 0.10.8", + "smallvec", + "sqlformat", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn 1.0.109", +] [[package]] -name = "spinning_top" -version = "0.3.0" +name = "sqlx-macros-core" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" dependencies = [ - "lock_api", + "dotenvy", + "either", + "heck 0.4.1", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2 0.10.8", + "sqlx-core", + "sqlx-sqlite", + "syn 1.0.109", + "tempfile", + "tokio", + "url", ] [[package]] -name = "spki" -version = "0.7.3" +name = "sqlx-sqlite" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" dependencies = [ - "base64ct", - "der", + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "sqlx-core", + "tracing", + "url", + "urlencoding", ] [[package]] @@ -9577,6 +10378,26 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "staging-xcm" +version = "14.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bee7cd999e9cdf10f8db72342070d456e21e82a0f5962ff3b87edbd5f2b20e" +dependencies = [ + "array-bytes", + "bounded-collections", + "derivative", + "environmental", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-runtime", + "sp-weights", + "xcm-procedural", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -9611,26 +10432,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "str0m" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee48572247f422dcbe68630c973f8296fbd5157119cd36a3223e48bf83d47727" -dependencies = [ - "combine", - "crc", - "hmac 0.12.1", - "once_cell", - "openssl", - "openssl-sys", - "rand 0.8.5", - "sctp-proto 0.1.7", - "serde", - "sha-1 0.10.1", - "thiserror", - "tracing", -] - [[package]] name = "str0m" version = "0.5.1" @@ -9644,10 +10445,10 @@ dependencies = [ "once_cell", "openssl", "openssl-sys", - "sctp-proto 0.2.2", + "sctp-proto", "serde", - "sha-1 0.10.1", - "thiserror", + "sha-1", + "thiserror 1.0.69", "tracing", ] @@ -9711,6 +10512,46 @@ dependencies = [ "zeroize", ] +[[package]] +name = "substrate-bn" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c" +dependencies = [ + "byteorder", + "crunchy", + "lazy_static", + "rand", + "rustc-hex", +] + +[[package]] +name = "substrate-build-script-utils" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b285e7d183a32732fdc119f3d81b7915790191fad602b7c709ef247073c77a2e" + +[[package]] +name = "substrate-frame-rpc-system" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d071d325decc80d906afd957ee83673d1cbd27b7b421a7f1c9f6132a437e17fd" +dependencies = [ + "docify", + "frame-system-rpc-runtime-api", + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "sc-rpc-api", + "sc-transaction-pool-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-runtime", +] + [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" @@ -9720,7 +10561,7 @@ dependencies = [ "hyper 0.14.31", "log", "prometheus", - "thiserror", + "thiserror 1.0.69", "tokio", ] @@ -9732,21 +10573,21 @@ dependencies = [ "async-trait", "futures", "parity-scale-codec", - "sc-client-api 37.0.0", + "sc-client-api", "sc-client-db", - "sc-consensus 0.44.0", - "sc-executor 0.40.1", + "sc-consensus", + "sc-executor", "sc-offchain", "sc-service", "serde", "serde_json", - "sp-blockchain 37.0.1", - "sp-consensus 0.40.0", - "sp-core 34.0.0", + "sp-blockchain", + "sp-consensus", + "sp-core", "sp-keyring", - "sp-keystore 0.40.0", - "sp-runtime 39.0.3", - "sp-state-machine 0.43.0", + "sp-keystore", + "sp-runtime", + "sp-state-machine", "tokio", ] @@ -9768,34 +10609,34 @@ dependencies = [ "parity-scale-codec", "sc-block-builder", "sc-chain-spec", - "sc-executor 0.40.1", - "sc-executor-common 0.35.0", + "sc-executor", + "sc-executor-common", "sc-service", "scale-info", "serde", "serde_json", - "sp-api 34.0.0", - "sp-application-crypto 38.0.0", + "sp-api", + "sp-application-crypto", "sp-block-builder", - "sp-consensus 0.40.0", + "sp-consensus", "sp-consensus-aura", "sp-consensus-babe", - "sp-consensus-grandpa 21.0.0", - "sp-core 34.0.0", + "sp-consensus-grandpa", + "sp-core", "sp-crypto-hashing", - "sp-externalities 0.29.0", + "sp-externalities", "sp-genesis-builder", - "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-inherents", + "sp-io", "sp-keyring", - "sp-offchain 34.0.0", - "sp-runtime 39.0.3", + "sp-offchain", + "sp-runtime", "sp-session", - "sp-state-machine 0.43.0", + "sp-state-machine", "sp-tracing", "sp-transaction-pool", - "sp-trie 37.0.0", - "sp-version 37.0.0", + "sp-trie", + "sp-version", "substrate-test-runtime-client", "substrate-wasm-builder", "tracing", @@ -9808,17 +10649,27 @@ version = "2.0.0" dependencies = [ "futures", "sc-block-builder", - "sc-client-api 37.0.0", - "sc-consensus 0.44.0", - "sp-api 34.0.0", - "sp-blockchain 37.0.1", - "sp-consensus 0.40.0", - "sp-core 34.0.0", - "sp-runtime 39.0.3", + "sc-client-api", + "sc-consensus", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", "substrate-test-client", "substrate-test-runtime", ] +[[package]] +name = "substrate-test-utils" +version = "3.0.0" +dependencies = [ + "futures", + "sc-service", + "tokio", + "trybuild", +] + [[package]] name = "substrate-wasm-builder" version = "24.0.1" @@ -9836,12 +10687,12 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "polkavm-linker", - "sc-executor 0.40.1", - "sp-core 34.0.0", - "sp-io 38.0.0", + "sc-executor", + "sp-core", + "sp-io", "sp-maybe-compressed-blob", "sp-tracing", - "sp-version 37.0.0", + "sp-version", "strum 0.26.3", "tempfile", "toml 0.8.19", @@ -9939,6 +10790,12 @@ version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +[[package]] +name = "target-triple" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078" + [[package]] name = "tempfile" version = "3.14.0" @@ -9961,6 +10818,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" +dependencies = [ + "rustix 0.38.42", + "windows-sys 0.59.0", +] + [[package]] name = "termtree" version = "0.4.1" @@ -9973,7 +10840,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +dependencies = [ + "thiserror-impl 2.0.7", ] [[package]] @@ -9987,6 +10863,23 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "thiserror-impl" +version = "2.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "thousands" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" + [[package]] name = "thread_local" version = "1.1.8" @@ -10006,6 +10899,16 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "tikv-jemalloc-sys" +version = "0.5.4+5.3.0-patched" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "time" version = "0.3.37" @@ -10082,7 +10985,8 @@ dependencies = [ "libc", "mio", "parking_lot 0.12.3", - "pin-project-lite 0.2.15", + "pin-project-lite", + "signal-hook-registry", "socket2 0.5.8", "tokio-macros", "windows-sys 0.52.0", @@ -10116,7 +11020,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", - "pin-project-lite 0.2.15", + "pin-project-lite", "tokio", "tokio-util", ] @@ -10146,7 +11050,7 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.15", + "pin-project-lite", "tokio", ] @@ -10202,7 +11106,7 @@ dependencies = [ "futures-core", "futures-util", "pin-project", - "pin-project-lite 0.2.15", + "pin-project-lite", "tower-layer", "tower-service", "tracing", @@ -10219,7 +11123,7 @@ dependencies = [ "http 1.2.0", "http-body 1.0.1", "http-body-util", - "pin-project-lite 0.2.15", + "pin-project-lite", "tower-layer", "tower-service", ] @@ -10243,7 +11147,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", - "pin-project-lite 0.2.15", + "pin-project-lite", "tracing-attributes", "tracing-core", ] @@ -10347,10 +11251,10 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", - "thiserror", + "thiserror 1.0.69", "tinyvec", "tokio", "tracing", @@ -10373,35 +11277,15 @@ dependencies = [ "idna 0.4.0", "ipnet", "once_cell", - "rand 0.8.5", + "rand", "smallvec", - "thiserror", + "thiserror 1.0.69", "tinyvec", "tokio", "tracing", "url", ] -[[package]] -name = "trust-dns-resolver" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" -dependencies = [ - "cfg-if", - "futures-util", - "ipconfig", - "lazy_static", - "lru-cache", - "parking_lot 0.12.3", - "resolv-conf", - "smallvec", - "thiserror", - "tokio", - "tracing", - "trust-dns-proto 0.22.0", -] - [[package]] name = "trust-dns-resolver" version = "0.23.2" @@ -10414,10 +11298,10 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "trust-dns-proto 0.23.2", @@ -10429,6 +11313,22 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "trybuild" +version = "1.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dcd332a5496c026f1e14b7f3d2b7bd98e509660c04239c58b0ba38a12daded4" +dependencies = [ + "dissimilar", + "glob", + "serde", + "serde_derive", + "serde_json", + "target-triple", + "termcolor", + "toml 0.8.19", +] + [[package]] name = "tt-call" version = "1.0.9" @@ -10447,10 +11347,10 @@ dependencies = [ "http 0.2.12", "httparse", "log", - "rand 0.8.5", + "rand", "rustls 0.21.12", "sha1", - "thiserror", + "thiserror 1.0.69", "url", "utf-8", ] @@ -10463,7 +11363,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -10473,6 +11373,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + [[package]] name = "uint" version = "0.9.5" @@ -10485,6 +11391,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + [[package]] name = "unicode-bidi" version = "0.3.17" @@ -10506,18 +11418,36 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + [[package]] name = "unicode-width" version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +[[package]] +name = "unicode-width" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + [[package]] name = "unicode-xid" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + [[package]] name = "universal-hash" version = "0.5.1" @@ -10538,7 +11468,6 @@ dependencies = [ "bytes", "futures-io", "futures-util", - "tokio-util", ] [[package]] @@ -10574,6 +11503,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "utf-8" version = "0.7.6" @@ -10592,6 +11527,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "valuable" version = "0.1.0" @@ -10631,12 +11572,12 @@ dependencies = [ "arrayref", "constcat", "digest 0.10.7", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_core 0.6.4", + "rand", + "rand_chacha", + "rand_core", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.69", "zeroize", ] @@ -10659,12 +11600,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -10758,7 +11693,7 @@ dependencies = [ "strum 0.24.1", "strum_macros 0.24.3", "tempfile", - "thiserror", + "thiserror 1.0.69", "wasm-opt-cxx-sys", "wasm-opt-sys", ] @@ -10885,7 +11820,7 @@ dependencies = [ "log", "object 0.30.4", "target-lexicon", - "thiserror", + "thiserror 1.0.69", "wasmparser", "wasmtime-cranelift-shared", "wasmtime-environ", @@ -10920,7 +11855,7 @@ dependencies = [ "object 0.30.4", "serde", "target-lexicon", - "thiserror", + "thiserror 1.0.69", "wasmparser", "wasmtime-types", ] @@ -10987,7 +11922,7 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand 0.8.5", + "rand", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -11003,7 +11938,7 @@ checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" dependencies = [ "cranelift-entity", "serde", - "thiserror", + "thiserror 1.0.69", "wasmparser", ] @@ -11027,15 +11962,6 @@ dependencies = [ "untrusted 0.9.0", ] -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] - [[package]] name = "webpki-roots" version = "0.25.4" @@ -11408,47 +12334,18 @@ dependencies = [ "tap", ] -[[package]] -name = "x25519-dalek" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" -dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.5.1", - "zeroize", -] - [[package]] name = "x25519-dalek" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", "serde", "zeroize", ] -[[package]] -name = "x509-parser" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" -dependencies = [ - "asn1-rs 0.5.2", - "base64 0.13.1", - "data-encoding", - "der-parser 8.2.0", - "lazy_static", - "nom", - "oid-registry 0.6.1", - "rusticata-macros", - "thiserror", - "time", -] - [[package]] name = "x509-parser" version = "0.15.1" @@ -11462,7 +12359,7 @@ dependencies = [ "nom", "oid-registry 0.6.1", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] @@ -11479,10 +12376,22 @@ dependencies = [ "nom", "oid-registry 0.7.1", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] +[[package]] +name = "xcm-procedural" +version = "10.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87fb4f14094d65c500a59bcf540cf42b99ee82c706edd6226a92e769ad60563e" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "xml-rs" version = "0.8.24" @@ -11498,20 +12407,6 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "yamux" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" -dependencies = [ - "futures", - "log", - "nohash-hasher", - "parking_lot 0.12.3", - "rand 0.8.5", - "static_assertions", -] - [[package]] name = "yamux" version = "0.12.1" @@ -11523,7 +12418,7 @@ dependencies = [ "nohash-hasher", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index c79eaa6098..daa3cdf341 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,46 +1,45 @@ [workspace] members = [ - # "frame/base-fee", - # "frame/dynamic-fee", - # "frame/ethereum", - # "frame/evm", - # "frame/evm/precompile/sha3fips", - # "frame/evm/precompile/simple", - # "frame/evm/precompile/modexp", - # "frame/evm/precompile/ed25519", - # "frame/evm/precompile/bn128", - # "frame/evm/precompile/blake2", - # "frame/evm/precompile/bw6761", - # "frame/evm/precompile/bls12377", - # "frame/evm/precompile/bls12381", - # "frame/evm/precompile/dispatch", - # "frame/evm/precompile/curve25519", - # "frame/evm/precompile/storage-cleaner", - # "frame/evm-chain-id", - # "frame/hotfix-sufficients", - # "client/api", - # "client/consensus", - # "client/rpc-core", - # "client/rpc", - # "client/rpc-v2", - # "client/rpc-v2/api", - # "client/rpc-v2/types", - # "client/db", - # "client/storage", - # "client/mapping-sync", - # "primitives/account", - # "primitives/consensus", - # "primitives/dynamic-fee", - # "primitives/evm", - # "primitives/rpc", - # "primitives/self-contained", - # "template/node", - # "template/runtime", - # "precompiles", - # "precompiles/macro", - # "precompiles/tests-external", + "frame/base-fee", + "frame/dynamic-fee", + "frame/ethereum", + "frame/evm", + "frame/evm/precompile/sha3fips", + "frame/evm/precompile/simple", + "frame/evm/precompile/modexp", + "frame/evm/precompile/ed25519", + "frame/evm/precompile/bn128", + "frame/evm/precompile/blake2", + "frame/evm/precompile/bw6761", + "frame/evm/precompile/bls12377", + "frame/evm/precompile/bls12381", + "frame/evm/precompile/dispatch", + "frame/evm/precompile/curve25519", + "frame/evm/precompile/storage-cleaner", + "frame/evm-chain-id", + "frame/hotfix-sufficients", + "client/api", + "client/consensus", + "client/rpc-core", + "client/rpc", + "client/rpc-v2", + "client/rpc-v2/api", + "client/rpc-v2/types", + "client/db", + "client/storage", + "client/mapping-sync", + "primitives/account", + "primitives/consensus", + "primitives/dynamic-fee", + "primitives/evm", + "primitives/rpc", + "primitives/self-contained", + "template/node", + "template/runtime", + "precompiles", + "precompiles/macro", + "precompiles/tests-external", "test-utils", - # "test-utils/cli", "test-utils/client", "test-utils/runtime", "test-utils/runtime/client", @@ -104,7 +103,7 @@ sc-keystore = { version = "33.0.0", default-features = false } sc-network = { version = "0.45.0", default-features = false } sc-network-common = { version = "0.44.0", default-features = false } sc-network-sync = { version = "0.44.0", default-features = false } -sc-offchain = { version = "34.0.0", default-features = false } +sc-offchain = { version = "40.0.0", default-features = false } sc-rpc = { version = "40.0.0", default-features = false } sc-rpc-api = { version = "0.44.0", default-features = false } sc-service = { version = "0.46.0", default-features = false } @@ -158,11 +157,11 @@ pallet-transaction-payment-rpc-runtime-api = { version = "38.0.0", default-featu pallet-utility = { version = "38.0.0", default-features = false } pallet-babe = { version = "38.0.0", default-features = false } # Substrate Utility -frame-benchmarking-cli = { default-features = false, version = "42.0.1" } -prometheus-endpoint = { default-features = false, package = "substrate-prometheus-endpoint", version = "0.17.0" } +frame-benchmarking-cli = { version = "43.0.0", default-features = false } +prometheus-endpoint = { version = "0.17.0", default-features = false, package = "substrate-prometheus-endpoint" } substrate-build-script-utils = { version = "11.0.0", default-features = false } substrate-frame-rpc-system = { version = "39.0.0", default-features = false } -substrate-wasm-builder = { version = "24.0.0", default-features = false } +substrate-wasm-builder = { version = "24.0.1", default-features = false } substrate-test-client = { path = "test-utils/client", version = "2.0.1" } substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0" } substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0" } @@ -179,57 +178,51 @@ ark-ff = { version = "0.4.0", default-features = false } ark-std = { version = "0.4.0", default-features = false } # Frontier Client -# fc-api = { path = "client/api" } -# fc-cli = { path = "client/cli", default-features = false } -# fc-consensus = { path = "client/consensus" } -# fc-db = { path = "client/db", default-features = false } -# fc-mapping-sync = { path = "client/mapping-sync", default-features = false } -# fc-rpc = { path = "client/rpc", default-features = false } -# fc-rpc-core = { path = "client/rpc-core" } -# fc-rpc-v2 = { path = "client/rpc-v2" } -# fc-rpc-v2-api = { path = "client/rpc-v2/api" } -# fc-rpc-v2-types = { path = "client/rpc-v2/types" } -# fc-storage = { path = "client/storage" } +fc-api = { path = "client/api" } +fc-cli = { path = "client/cli", default-features = false } +fc-consensus = { path = "client/consensus" } +fc-db = { path = "client/db", default-features = false } +fc-mapping-sync = { path = "client/mapping-sync", default-features = false } +fc-rpc = { path = "client/rpc", default-features = false } +fc-rpc-core = { path = "client/rpc-core" } +fc-rpc-v2 = { path = "client/rpc-v2" } +fc-rpc-v2-api = { path = "client/rpc-v2/api" } +fc-rpc-v2-types = { path = "client/rpc-v2/types" } +fc-storage = { path = "client/storage" } # Frontier Primitive -# fp-account = { path = "primitives/account", default-features = false } -# fp-consensus = { path = "primitives/consensus", default-features = false } -# fp-dynamic-fee = { path = "primitives/dynamic-fee", default-features = false } -# fp-ethereum = { path = "primitives/ethereum", default-features = false } -# fp-evm = { path = "primitives/evm", default-features = false } -# fp-rpc = { path = "primitives/rpc", default-features = false } -# fp-self-contained = { path = "primitives/self-contained", default-features = false } -# fp-storage = { path = "primitives/storage", default-features = false } +fp-account = { path = "primitives/account", default-features = false } +fp-consensus = { path = "primitives/consensus", default-features = false } +fp-dynamic-fee = { path = "primitives/dynamic-fee", default-features = false } +fp-ethereum = { path = "primitives/ethereum", default-features = false } +fp-evm = { path = "primitives/evm", default-features = false } +fp-rpc = { path = "primitives/rpc", default-features = false } +fp-self-contained = { path = "primitives/self-contained", default-features = false } +fp-storage = { path = "primitives/storage", default-features = false } # Frontier FRAME -# pallet-base-fee = { path = "frame/base-fee", default-features = false } -# pallet-dynamic-fee = { path = "frame/dynamic-fee", default-features = false } -# pallet-ethereum = { path = "frame/ethereum", default-features = false } -# pallet-evm = { path = "frame/evm", default-features = false } -# pallet-evm-chain-id = { path = "frame/evm-chain-id", default-features = false } -# pallet-evm-precompile-modexp = { path = "frame/evm/precompile/modexp", default-features = false } -# pallet-evm-precompile-sha3fips = { path = "frame/evm/precompile/sha3fips", default-features = false } -# pallet-evm-precompile-simple = { path = "frame/evm/precompile/simple", default-features = false } -# pallet-evm-test-vector-support = { path = "frame/evm/test-vector-support" } -# pallet-hotfix-sufficients = { path = "frame/hotfix-sufficients", default-features = false } +pallet-base-fee = { path = "frame/base-fee", default-features = false } +pallet-dynamic-fee = { path = "frame/dynamic-fee", default-features = false } +pallet-ethereum = { path = "frame/ethereum", default-features = false } +pallet-evm = { path = "frame/evm", default-features = false } +pallet-evm-chain-id = { path = "frame/evm-chain-id", default-features = false } +pallet-evm-precompile-modexp = { path = "frame/evm/precompile/modexp", default-features = false } +pallet-evm-precompile-sha3fips = { path = "frame/evm/precompile/sha3fips", default-features = false } +pallet-evm-precompile-simple = { path = "frame/evm/precompile/simple", default-features = false } +pallet-evm-test-vector-support = { path = "frame/evm/test-vector-support" } +pallet-hotfix-sufficients = { path = "frame/hotfix-sufficients", default-features = false } # Frontier Utility -# precompile-utils = { path = "precompiles", default-features = false } +precompile-utils = { path = "precompiles", default-features = false } # Frontier Template -# frontier-template-runtime = { path = "template/runtime", default-features = false } +frontier-template-runtime = { path = "template/runtime", default-features = false } array-bytes = { version = "6.2.2", default-features = false } codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } sp-application-crypto = { version = "38.0.0", default-features = false } -sp-consensus-babe = { default-features = false, version = "0.40.0" } -sp-trie = { default-features = false, version = "37.0.0" } +sp-consensus-babe = { version = "0.40.0", default-features = false } +sp-trie = { version = "37.0.0", default-features = false } tracing = { version = "0.1.37", default-features = false } trie-db = { version = "0.29.0", default-features = false } -sc-executor-common = { default-features = false, version = "0.35.0" } -sp-tracing = { default-features = false, version = "17.0.0" } - -# [workspace.dev-dependencies] -# substrate-test-client = { path = "test-utils/client", version = "2.0.1", default-features = false } -# substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0", default-features = false } -# substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0", default-features = false } - +sc-executor-common = { version = "0.35.0", default-features = false } +sp-tracing = { version = "17.0.1", default-features = false } [profile.release] # Substrate runtime requires unwinding. From 1123170b6615223d339e96b0a173a523ce21e862 Mon Sep 17 00:00:00 2001 From: magecnion Date: Tue, 17 Dec 2024 12:58:24 +0100 Subject: [PATCH 08/15] order Cargo.toml --- Cargo.toml | 88 ++++++++++++++++++------------------ client/cli/Cargo.toml | 1 - client/rpc/Cargo.toml | 2 +- frame/dynamic-fee/Cargo.toml | 2 +- 4 files changed, 45 insertions(+), 48 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index daa3cdf341..663c03009d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,8 +53,10 @@ repository = "https://github.com/paritytech/frontier/" [workspace.dependencies] async-trait = "0.1" +array-bytes = { version = "6.2.2", default-features = false } bn = { package = "substrate-bn", version = "0.6", default-features = false } clap = { version = "4.5", features = ["derive", "deprecated"] } +codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } const-hex = { version = "1.12", default-features = false, features = ["alloc"] } derive_more = "0.99" environmental = { version = "1.1.4", default-features = false } @@ -79,53 +81,57 @@ quote = "1.0.37" rlp = { version = "0.5.2", default-features = false } scale-codec = { package = "parity-scale-codec", version = "3.6.12", default-features = false, features = ["derive"] } scale-info = { version = "2.11.3", default-features = false, features = ["derive"] } -serde = { version = "1.0.197", default-features = false } -serde_json = { version = "1.0.121", default-features = false } -serde_derive = { version = "1.0.117" } +serde = { version = "1.0", default-features = false, features = ["derive", "alloc"] } +serde_json = "1.0" similar-asserts = "1.6.0" sqlx = { version = "0.7.4", default-features = false, features = ["macros"] } -thiserror = { version = "1.0.48" } -tokio = { version = "1.37.0", default-features = false } +thiserror = "1.0" +tokio = "1.40.0" +tracing = { version = "0.1.37", default-features = false } +trie-db = { version = "0.29.0", default-features = false } # Substrate Client -sc-basic-authorship = { version = "0.45.0", default-features = false } -sc-block-builder = { version = "0.42.0", default-features = false } -sc-chain-spec = { version = "38.0.0", default-features = false } +sc-basic-authorship = { version = "0.45.0" } +sc-block-builder = { version = "0.42.0" } +sc-chain-spec = { version = "38.0.0" } sc-cli = { version = "0.47.0", default-features = false } -sc-client-api = { version = "37.0.0", default-features = false } +sc-client-api = { version = "37.0.0" } sc-client-db = { version = "0.44.0", default-features = false } -sc-consensus = { version = "0.44.0", default-features = false } -sc-consensus-aura = { version = "0.45.0", default-features = false } -sc-consensus-grandpa = { version = "0.30.0", default-features = false } -sc-consensus-manual-seal = { version = "0.46.0", default-features = false } -sc-executor = { version = "0.40.1", default-features = false } -sc-keystore = { version = "33.0.0", default-features = false } -sc-network = { version = "0.45.0", default-features = false } -sc-network-common = { version = "0.44.0", default-features = false } -sc-network-sync = { version = "0.44.0", default-features = false } -sc-offchain = { version = "40.0.0", default-features = false } -sc-rpc = { version = "40.0.0", default-features = false } -sc-rpc-api = { version = "0.44.0", default-features = false } +sc-consensus = { version = "0.44.0" } +sc-consensus-aura = { version = "0.45.0" } +sc-consensus-grandpa = { version = "0.30.0" } +sc-consensus-manual-seal = { version = "0.46.0" } +sc-executor = { version = "0.40.1" } +sc-executor-common = { version = "0.35.0", default-features = false } +sc-keystore = { version = "33.0.0" } +sc-network = { version = "0.45.0" } +sc-network-common = { version = "0.44.0" } +sc-network-sync = { version = "0.44.0" } +sc-offchain = { version = "40.0.0" } +sc-rpc = { version = "40.0.0" } +sc-rpc-api = { version = "0.44.0" } sc-service = { version = "0.46.0", default-features = false } -sc-telemetry = { version = "25.0.0", default-features = false } -sc-transaction-pool = { version = "37.0.0", default-features = false } -sc-transaction-pool-api = { version = "37.0.0", default-features = false } -sc-utils = { version = "17.0.0", default-features = false } +sc-telemetry = { version = "25.0.0" } +sc-transaction-pool = { version = "37.0.0" } +sc-transaction-pool-api = { version = "37.0.0" } +sc-utils = { version = "17.0.0" } # Substrate Primitive sp-api = { version = "34.0.0", default-features = false } +sp-application-crypto = { version = "38.0.0", default-features = false } sp-block-builder = { version = "34.0.0", default-features = false } -sp-blockchain = { version = "37.0.1", default-features = false } -sp-consensus = { version = "0.40.0", default-features = false } +sp-blockchain = { version = "37.0.1" } +sp-consensus = { version = "0.40.0" } +sp-consensus-babe = { version = "0.40.0", default-features = false } sp-consensus-aura = { version = "0.40.0", default-features = false } sp-consensus-grandpa = { version = "21.0.0", default-features = false } sp-core = { version = "34.0.0", default-features = false } sp-crypto-hashing = { version = "0.1.0", default-features = false } -sp-database = { version = "10.0.0", default-features = false } +sp-database = { version = "10.0.0" } sp-externalities = { version = "0.29.0", default-features = false } sp-genesis-builder = { version = "0.15.1", default-features = false } sp-inherents = { version = "34.0.0", default-features = false } sp-io = { version = "38.0.0", default-features = false } -sp-keyring = { version = "39.0.0", default-features = false } +sp-keyring = { version = "39.0.0" } sp-keystore = { version = "0.40.0", default-features = false } sp-offchain = { version = "34.0.0", default-features = false } sp-runtime = { version = "39.0.1", default-features = false } @@ -135,7 +141,9 @@ sp-state-machine = { version = "0.43.0", default-features = false } sp-std = { version = "14.0.0", default-features = false } sp-storage = { version = "21.0.0", default-features = false } sp-timestamp = { version = "34.0.0", default-features = false } +sp-tracing = { version = "17.0.1", default-features = false } sp-transaction-pool = { version = "34.0.0", default-features = false } +sp-trie = { version = "37.0.0", default-features = false } sp-version = { version = "37.0.0", default-features = false } sp-weights = { version = "31.0.0", default-features = false } # Substrate FRAME @@ -152,16 +160,16 @@ pallet-grandpa = { version = "38.0.0", default-features = false } pallet-sudo = { version = "38.0.0", default-features = false } pallet-timestamp = { version = "37.0.0", default-features = false } pallet-transaction-payment = { version = "38.0.0", default-features = false } -pallet-transaction-payment-rpc = { version = "41.0.0", default-features = false } +pallet-transaction-payment-rpc = { version = "41.0.0" } pallet-transaction-payment-rpc-runtime-api = { version = "38.0.0", default-features = false } pallet-utility = { version = "38.0.0", default-features = false } pallet-babe = { version = "38.0.0", default-features = false } # Substrate Utility -frame-benchmarking-cli = { version = "43.0.0", default-features = false } -prometheus-endpoint = { version = "0.17.0", default-features = false, package = "substrate-prometheus-endpoint" } -substrate-build-script-utils = { version = "11.0.0", default-features = false } -substrate-frame-rpc-system = { version = "39.0.0", default-features = false } -substrate-wasm-builder = { version = "24.0.1", default-features = false } +frame-benchmarking-cli = { version = "43.0.0" } +prometheus-endpoint = { version = "0.17.0", package = "substrate-prometheus-endpoint" } +substrate-build-script-utils = { version = "11.0.0" } +substrate-frame-rpc-system = { version = "39.0.0" } +substrate-wasm-builder = { version = "24.0.1" } substrate-test-client = { path = "test-utils/client", version = "2.0.1" } substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0" } substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0" } @@ -214,16 +222,6 @@ precompile-utils = { path = "precompiles", default-features = false } # Frontier Template frontier-template-runtime = { path = "template/runtime", default-features = false } -array-bytes = { version = "6.2.2", default-features = false } -codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } -sp-application-crypto = { version = "38.0.0", default-features = false } -sp-consensus-babe = { version = "0.40.0", default-features = false } -sp-trie = { version = "37.0.0", default-features = false } -tracing = { version = "0.1.37", default-features = false } -trie-db = { version = "0.29.0", default-features = false } -sc-executor-common = { version = "0.35.0", default-features = false } -sp-tracing = { version = "17.0.1", default-features = false } - [profile.release] # Substrate runtime requires unwinding. panic = "unwind" diff --git a/client/cli/Cargo.toml b/client/cli/Cargo.toml index 5f9b900a03..e05c20c63e 100644 --- a/client/cli/Cargo.toml +++ b/client/cli/Cargo.toml @@ -35,7 +35,6 @@ sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } sp-io = { workspace = true } substrate-test-runtime-client = { workspace = true } - # Frontier fc-api = { workspace = true } fc-db = { workspace = true, features = ["rocksdb"] } diff --git a/client/rpc/Cargo.toml b/client/rpc/Cargo.toml index ddf65c3449..4db1948c5e 100644 --- a/client/rpc/Cargo.toml +++ b/client/rpc/Cargo.toml @@ -68,7 +68,7 @@ tempfile = "3.10.1" sc-block-builder = { workspace = true } sc-client-db = { workspace = true, features = ["rocksdb"] } sp-consensus = { workspace = true } -substrate-test-runtime-client ={ workspace = true } +substrate-test-runtime-client = { workspace = true } # Frontier fc-db = { workspace = true } diff --git a/frame/dynamic-fee/Cargo.toml b/frame/dynamic-fee/Cargo.toml index c5b9908939..a544d3088e 100644 --- a/frame/dynamic-fee/Cargo.toml +++ b/frame/dynamic-fee/Cargo.toml @@ -29,7 +29,7 @@ sp-io = { workspace = true, features = ["default"] } sp-runtime = { workspace = true, features = ["default"] } [features] -default = [ "std" ] +default = ["std"] std = [ "scale-codec/std", "scale-info/std", From e90051df6177a14f54407378789144dcb1eafdfc Mon Sep 17 00:00:00 2001 From: magecnion Date: Tue, 17 Dec 2024 16:29:45 +0100 Subject: [PATCH 09/15] include README --- rust-toolchain.toml | 13 ++----------- test-utils/README.md | 3 +++ 2 files changed, 5 insertions(+), 11 deletions(-) create mode 100644 test-utils/README.md diff --git a/rust-toolchain.toml b/rust-toolchain.toml index d2f5edab55..18e88df68c 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,17 +1,8 @@ [toolchain] # Stable -channel = "stable" # rustc 1.79.0 (129f3b996 2024-06-10) +channel = "1.79.0" # rustc 1.79.0 (129f3b996 2024-06-10) # Nightly #channel = "nightly-2024-02-05" # rustc 1.78.0-nightly (f067fd608 2024-02-05) -components = [ - "cargo", - "clippy", - "rust-analyzer", - "rust-src", - "rust-std", - "rustc", - "rustc-dev", - "rustfmt", -] +components = ["cargo", "clippy", "rustc", "rustfmt", "rust-src", "rust-docs"] profile = "minimal" targets = ["wasm32-unknown-unknown"] \ No newline at end of file diff --git a/test-utils/README.md b/test-utils/README.md new file mode 100644 index 0000000000..caa00596f3 --- /dev/null +++ b/test-utils/README.md @@ -0,0 +1,3 @@ +# substrate test-utils + +This package is a fork from polkadot-sdk branch [stable2409]() \ No newline at end of file From 65f09a48f154176de7a840545d075d97c524cc13 Mon Sep 17 00:00:00 2001 From: magecnion Date: Tue, 17 Dec 2024 16:45:34 +0100 Subject: [PATCH 10/15] typo --- test-utils/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-utils/README.md b/test-utils/README.md index caa00596f3..4fb96dcb30 100644 --- a/test-utils/README.md +++ b/test-utils/README.md @@ -1,3 +1,3 @@ # substrate test-utils -This package is a fork from polkadot-sdk branch [stable2409]() \ No newline at end of file +This package is a fork from polkadot-sdk branch [stable2409](https://github.com/paritytech/polkadot-sdk/tree/stable2409/substrate/test-utils) \ No newline at end of file From c3003fb8d6b9be67f6f5839b959569e7862ca4a2 Mon Sep 17 00:00:00 2001 From: magecnion Date: Wed, 18 Dec 2024 12:35:36 +0100 Subject: [PATCH 11/15] add default features so compiling works --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cefd661d83..12eaea05fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -82,7 +82,7 @@ rlp = { version = "0.5.2", default-features = false } scale-codec = { package = "parity-scale-codec", version = "3.6.12", default-features = false, features = ["derive"] } scale-info = { version = "2.11.3", default-features = false, features = ["derive"] } serde = { version = "1.0", default-features = false, features = ["derive", "alloc"] } -serde_json = "1.0" +serde_json = { version = "1.0", default-features = false } similar-asserts = "1.6.0" sqlx = { version = "0.7.4", default-features = false, features = ["macros"] } thiserror = "1.0" @@ -131,7 +131,7 @@ sp-externalities = { version = "0.29.0", default-features = false } sp-genesis-builder = { version = "0.15.1", default-features = false } sp-inherents = { version = "34.0.0", default-features = false } sp-io = { version = "38.0.0", default-features = false } -sp-keyring = { version = "39.0.0" } +sp-keyring = { version = "39.0.0", default-features = false } sp-keystore = { version = "0.40.0", default-features = false } sp-offchain = { version = "34.0.0", default-features = false } sp-runtime = { version = "39.0.1", default-features = false } From f1e1694ac5cfbad0a773aa2d36318e81dcbd62ca Mon Sep 17 00:00:00 2001 From: magecnion Date: Wed, 18 Dec 2024 12:59:48 +0100 Subject: [PATCH 12/15] run taplo --- Cargo.toml | 12 +++---- test-utils/Cargo.toml | 3 +- test-utils/client/Cargo.toml | 26 +++++++------- test-utils/runtime/Cargo.toml | 52 ++++++++++++++-------------- test-utils/runtime/client/Cargo.toml | 16 ++++----- test-utils/runtime/src/lib.rs | 6 ++-- 6 files changed, 56 insertions(+), 59 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 12eaea05fe..71cb1e16f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,8 +52,8 @@ edition = "2021" repository = "https://github.com/paritytech/frontier/" [workspace.dependencies] -async-trait = "0.1" array-bytes = { version = "6.2.2", default-features = false } +async-trait = "0.1" bn = { package = "substrate-bn", version = "0.6", default-features = false } clap = { version = "4.5", features = ["derive", "deprecated"] } codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } @@ -121,8 +121,8 @@ sp-application-crypto = { version = "38.0.0", default-features = false } sp-block-builder = { version = "34.0.0", default-features = false } sp-blockchain = { version = "37.0.1" } sp-consensus = { version = "0.40.0" } -sp-consensus-babe = { version = "0.40.0", default-features = false } sp-consensus-aura = { version = "0.40.0", default-features = false } +sp-consensus-babe = { version = "0.40.0", default-features = false } sp-consensus-grandpa = { version = "21.0.0", default-features = false } sp-core = { version = "34.0.0", default-features = false } sp-crypto-hashing = { version = "0.1.0", default-features = false } @@ -149,12 +149,13 @@ sp-weights = { version = "31.0.0", default-features = false } # Substrate FRAME frame-benchmarking = { version = "38.0.0", default-features = false } frame-executive = { version = "38.0.0", default-features = false } +frame-metadata-hash-extension = { version = "0.6.0", default-features = false } frame-support = { version = "38.0.0", default-features = false } frame-system = { version = "38.0.0", default-features = false } frame-system-benchmarking = { version = "38.0.0", default-features = false } frame-system-rpc-runtime-api = { version = "34.0.0", default-features = false } -frame-metadata-hash-extension = { version = "0.6.0", default-features = false } pallet-aura = { version = "37.0.0", default-features = false } +pallet-babe = { version = "38.0.0", default-features = false } pallet-balances = { version = "39.0.0", default-features = false } pallet-grandpa = { version = "38.0.0", default-features = false } pallet-sudo = { version = "38.0.0", default-features = false } @@ -163,20 +164,19 @@ pallet-transaction-payment = { version = "38.0.0", default-features = false } pallet-transaction-payment-rpc = { version = "41.0.0" } pallet-transaction-payment-rpc-runtime-api = { version = "38.0.0", default-features = false } pallet-utility = { version = "38.0.0", default-features = false } -pallet-babe = { version = "38.0.0", default-features = false } # Substrate Utility frame-benchmarking-cli = { version = "43.0.0" } prometheus-endpoint = { version = "0.17.0", package = "substrate-prometheus-endpoint" } substrate-build-script-utils = { version = "11.0.0" } substrate-frame-rpc-system = { version = "39.0.0" } -substrate-wasm-builder = { version = "24.0.1" } substrate-test-client = { path = "test-utils/client", version = "2.0.1" } substrate-test-runtime = { path = "test-utils/runtime", version = "2.0.0" } substrate-test-runtime-client = { path = "test-utils/runtime/client", version = "2.0.0" } substrate-test-utils = { path = "test-utils" } +substrate-wasm-builder = { version = "24.0.1" } # XCM -xcm = { version = "14.2.0", package = "staging-xcm", default-features = false } trybuild = { version = "1.0.88" } +xcm = { version = "14.2.0", package = "staging-xcm", default-features = false } # Arkworks ark-bls12-377 = { version = "0.4.0", default-features = false, features = ["curve"] } ark-bls12-381 = { version = "0.4.0", default-features = false, features = ["curve"] } diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml index 869d879d05..89c67b4d78 100644 --- a/test-utils/Cargo.toml +++ b/test-utils/Cargo.toml @@ -9,7 +9,6 @@ repository.workspace = true description = "Substrate test utilities (polkadot v1.15.0)" publish = false - [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -18,5 +17,5 @@ futures = { workspace = true } tokio = { features = ["macros", "time"], workspace = true, default-features = true } [dev-dependencies] +sc-service = { default-features = true, workspace = true } trybuild = { features = ["diff"], workspace = true } -sc-service = { default-features = true, workspace = true } diff --git a/test-utils/client/Cargo.toml b/test-utils/client/Cargo.toml index c28e602b98..7672da821b 100644 --- a/test-utils/client/Cargo.toml +++ b/test-utils/client/Cargo.toml @@ -17,30 +17,30 @@ array-bytes = { workspace = true, default-features = true } async-trait = { workspace = true } codec = { workspace = true, default-features = true } futures = { workspace = true } -serde = { workspace = true, default-features = true } -serde_json = { workspace = true, default-features = true } -sc-client-api.workspace = true sc-client-api.default-features = true +sc-client-api.workspace = true sc-client-db = { features = ["test-helpers"], workspace = true } -sc-consensus.workspace = true sc-consensus.default-features = true -sc-executor.workspace = true +sc-consensus.workspace = true sc-executor.default-features = true -sc-offchain.workspace = true +sc-executor.workspace = true sc-offchain.default-features = true +sc-offchain.workspace = true sc-service = { features = ["test-helpers"], workspace = true } -sp-blockchain.workspace = true +serde = { workspace = true, default-features = true } +serde_json = { workspace = true, default-features = true } sp-blockchain.default-features = true -sp-consensus.workspace = true +sp-blockchain.workspace = true sp-consensus.default-features = true -sp-core.workspace = true +sp-consensus.workspace = true sp-core.default-features = true -sp-keyring.workspace = true +sp-core.workspace = true sp-keyring.default-features = true -sp-keystore.workspace = true +sp-keyring.workspace = true sp-keystore.default-features = true -sp-runtime.workspace = true +sp-keystore.workspace = true sp-runtime.default-features = true -sp-state-machine.workspace = true +sp-runtime.workspace = true sp-state-machine.default-features = true +sp-state-machine.workspace = true tokio = { features = ["sync"], workspace = true, default-features = true } diff --git a/test-utils/runtime/Cargo.toml b/test-utils/runtime/Cargo.toml index dc1c281021..5a84d144dc 100644 --- a/test-utils/runtime/Cargo.toml +++ b/test-utils/runtime/Cargo.toml @@ -14,43 +14,43 @@ description = "substrate-test-runtime (polkadot v1.15.0)" targets = ["x86_64-unknown-linux-gnu"] [dependencies] +codec = { features = ["derive"], workspace = true } +frame-executive.workspace = true +frame-metadata-hash-extension.workspace = true +frame-support.workspace = true +frame-system.workspace = true +frame-system-rpc-runtime-api.workspace = true +pallet-babe.workspace = true +pallet-balances.workspace = true +pallet-timestamp.workspace = true +sc-service = { features = ["test-helpers"], optional = true, workspace = true } +scale-info = { features = ["derive"], workspace = true } +sp-api.workspace = true sp-application-crypto = { features = ["serde"], workspace = true } +sp-block-builder.workspace = true sp-consensus-aura = { features = ["serde"], workspace = true } sp-consensus-babe = { features = ["serde"], workspace = true } +sp-consensus-grandpa = { features = ["serde"], workspace = true } +sp-core = { features = ["serde"], workspace = true } +sp-crypto-hashing.workspace = true +sp-externalities.workspace = true sp-genesis-builder.workspace = true -sp-block-builder.workspace = true -codec = { features = ["derive"], workspace = true } -scale-info = { features = ["derive"], workspace = true } sp-inherents.workspace = true +sp-io.workspace = true sp-keyring.workspace = true sp-offchain.workspace = true -sp-core = { features = ["serde"], workspace = true } -sp-crypto-hashing.workspace = true -sp-io.workspace = true -frame-support.workspace = true -sp-version.workspace = true -sp-session.workspace = true -sp-api.workspace = true sp-runtime = { features = ["serde"], workspace = true } -pallet-babe.workspace = true -pallet-balances.workspace = true -frame-executive.workspace = true -frame-metadata-hash-extension.workspace = true -frame-system.workspace = true -frame-system-rpc-runtime-api.workspace = true -pallet-timestamp.workspace = true -sp-consensus-grandpa = { features = ["serde"], workspace = true } -sp-trie.workspace = true +sp-session.workspace = true +sp-state-machine.workspace = true sp-transaction-pool.workspace = true +sp-trie.workspace = true +sp-version.workspace = true trie-db = { workspace = true } -sc-service = { features = ["test-helpers"], optional = true, workspace = true } -sp-state-machine.workspace = true -sp-externalities.workspace = true # 3rd party array-bytes = { optional = true, workspace = true, default-features = true } -serde_json = { workspace = true, features = ["alloc"] } log = { workspace = true } +serde_json = { workspace = true, features = ["alloc"] } tracing = { workspace = true, default-features = false } [dev-dependencies] @@ -59,11 +59,11 @@ sc-block-builder = { default-features = true, workspace = true } sc-chain-spec = { default-features = true, workspace = true } sc-executor = { default-features = true, workspace = true } sc-executor-common = { default-features = true, workspace = true } -sp-consensus = { default-features = true, workspace = true } -substrate-test-runtime-client = { workspace = true } -sp-tracing = { default-features = true, workspace = true } serde = { features = ["alloc", "derive"], workspace = true } serde_json = { features = ["alloc"], workspace = true } +sp-consensus = { default-features = true, workspace = true } +sp-tracing = { default-features = true, workspace = true } +substrate-test-runtime-client = { workspace = true } [build-dependencies] substrate-wasm-builder = { optional = true, features = ["metadata-hash"], workspace = true, default-features = true } diff --git a/test-utils/runtime/client/Cargo.toml b/test-utils/runtime/client/Cargo.toml index 7a9cda38d9..7ff6c7b3cc 100644 --- a/test-utils/runtime/client/Cargo.toml +++ b/test-utils/runtime/client/Cargo.toml @@ -14,21 +14,21 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] futures = { workspace = true } -sc-block-builder.workspace = true sc-block-builder.default-features = true -sc-client-api.workspace = true +sc-block-builder.workspace = true sc-client-api.default-features = true -sc-consensus.workspace = true +sc-client-api.workspace = true sc-consensus.default-features = true -sp-api.workspace = true +sc-consensus.workspace = true sp-api.default-features = true -sp-blockchain.workspace = true +sp-api.workspace = true sp-blockchain.default-features = true -sp-consensus.workspace = true +sp-blockchain.workspace = true sp-consensus.default-features = true -sp-core.workspace = true +sp-consensus.workspace = true sp-core.default-features = true -sp-runtime.workspace = true +sp-core.workspace = true sp-runtime.default-features = true +sp-runtime.workspace = true substrate-test-client.workspace = true substrate-test-runtime.workspace = true diff --git a/test-utils/runtime/src/lib.rs b/test-utils/runtime/src/lib.rs index 9680d73f76..f2c1419735 100644 --- a/test-utils/runtime/src/lib.rs +++ b/test-utils/runtime/src/lib.rs @@ -95,8 +95,7 @@ pub mod wasm_binary_logging_disabled { #[cfg(feature = "std")] pub fn wasm_binary_unwrap() -> &'static [u8] { WASM_BINARY.expect( - "Development wasm binary is not available. Testing is only supported with the flag - disabled.", + "Development wasm binary is not available. Testing is only supported with the flag disabled.", ) } @@ -104,8 +103,7 @@ pub fn wasm_binary_unwrap() -> &'static [u8] { #[cfg(feature = "std")] pub fn wasm_binary_logging_disabled_unwrap() -> &'static [u8] { wasm_binary_logging_disabled::WASM_BINARY.expect( - "Development wasm binary is not available. Testing is only supported with the flag - disabled.", + "Development wasm binary is not available. Testing is only supported with the flag disabled.", ) } From 5e82c0b5212053e35ed42cc7efae953ad0ce651f Mon Sep 17 00:00:00 2001 From: magecnion Date: Wed, 18 Dec 2024 13:30:29 +0100 Subject: [PATCH 13/15] fix tests --- client/cli/src/frontier_db_cmd/tests.rs | 10 +++++----- client/db/src/kv/upgrade.rs | 2 +- client/mapping-sync/src/kv/worker.rs | 4 ++-- client/mapping-sync/src/sql/mod.rs | 20 ++++++++++---------- client/rpc/src/lib.rs | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/client/cli/src/frontier_db_cmd/tests.rs b/client/cli/src/frontier_db_cmd/tests.rs index 0baa7ed7d0..28c4757cc1 100644 --- a/client/cli/src/frontier_db_cmd/tests.rs +++ b/client/cli/src/frontier_db_cmd/tests.rs @@ -367,7 +367,7 @@ fn tips_update_works() { let test_value_path = test_json_file(&tmp, &tips_test_value()); // Test client. let (client, _) = TestClientBuilder::new().build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Create a temporary frontier secondary DB. let backend = open_frontier_backend::(client.clone(), tmp.into_path()) .expect("a temporary db was created"); @@ -394,7 +394,7 @@ fn tips_delete_works() { let tmp = tempdir().expect("create a temporary directory"); // Test client. let (client, _) = TestClientBuilder::new().build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Create a temporary frontier secondary DB. let backend = open_frontier_backend::(client.clone(), tmp.into_path()) .expect("a temporary db was created"); @@ -537,7 +537,7 @@ fn commitment_create() { // Test client. let (c, _) = TestClientBuilder::new().build_with_native_executor::(None); - let client = Arc::new(c); + let mut client = Arc::new(c); // Get some transaction status. let t1 = fp_rpc::TransactionStatus::default(); @@ -612,7 +612,7 @@ fn commitment_update() { // Test client. let (c, _) = TestClientBuilder::new().build_with_native_executor::(None); - let client = Arc::new(c); + let mut client = Arc::new(c); // Get some transaction status. let t1 = fp_rpc::TransactionStatus::default(); @@ -748,7 +748,7 @@ fn mapping_read_works() { // Test client. let (c, _) = TestClientBuilder::new().build_with_native_executor::(None); - let client = Arc::new(c); + let mut client = Arc::new(c); // Get some transaction status. let t1 = fp_rpc::TransactionStatus::default(); diff --git a/client/db/src/kv/upgrade.rs b/client/db/src/kv/upgrade.rs index 63cf899c8a..3eb1af4775 100644 --- a/client/db/src/kv/upgrade.rs +++ b/client/db/src/kv/upgrade.rs @@ -385,7 +385,7 @@ mod tests { .build_with_native_executor::( None, ); - let client = Arc::new(client); + let mut client = Arc::new(client); // Genesis block let chain_info = client.chain_info(); diff --git a/client/mapping-sync/src/kv/worker.rs b/client/mapping-sync/src/kv/worker.rs index d7cb5968ad..7beccd0f0f 100644 --- a/client/mapping-sync/src/kv/worker.rs +++ b/client/mapping-sync/src/kv/worker.rs @@ -246,7 +246,7 @@ mod tests { // Client let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Overrides let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); @@ -388,7 +388,7 @@ mod tests { // Client let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Overrides let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); diff --git a/client/mapping-sync/src/sql/mod.rs b/client/mapping-sync/src/sql/mod.rs index 31588c8ad9..72cb065fc6 100644 --- a/client/mapping-sync/src/sql/mod.rs +++ b/client/mapping-sync/src/sql/mod.rs @@ -547,7 +547,7 @@ mod test { // Client let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Overrides let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); // Indexer backend @@ -750,7 +750,7 @@ mod test { // Client let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Overrides let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); // Indexer backend @@ -954,7 +954,7 @@ mod test { // Client let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Overrides let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); // Indexer backend @@ -1120,7 +1120,7 @@ mod test { // Client let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); // Overrides let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); // Indexer backend @@ -1266,7 +1266,7 @@ mod test { let backend = builder.backend(); let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); let indexer_backend = fc_db::sql::Backend::new( fc_db::sql::BackendConfig::Sqlite(fc_db::sql::SqliteBackendConfig { @@ -1367,7 +1367,7 @@ mod test { let backend = builder.backend(); let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); let indexer_backend = fc_db::sql::Backend::new( fc_db::sql::BackendConfig::Sqlite(fc_db::sql::SqliteBackendConfig { @@ -1482,7 +1482,7 @@ mod test { let backend = builder.backend(); let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); let indexer_backend = fc_db::sql::Backend::new( fc_db::sql::BackendConfig::Sqlite(fc_db::sql::SqliteBackendConfig { @@ -1583,7 +1583,7 @@ mod test { let backend = builder.backend(); let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); let indexer_backend = fc_db::sql::Backend::new( fc_db::sql::BackendConfig::Sqlite(fc_db::sql::SqliteBackendConfig { @@ -1698,7 +1698,7 @@ mod test { let backend = builder.backend(); let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); let indexer_backend = fc_db::sql::Backend::new( fc_db::sql::BackendConfig::Sqlite(fc_db::sql::SqliteBackendConfig { @@ -1799,7 +1799,7 @@ mod test { let backend = builder.backend(); let (client, _) = builder.build_with_native_executor::(None); - let client = Arc::new(client); + let mut client = Arc::new(client); let storage_override = Arc::new(SchemaV3StorageOverride::new(client.clone())); let indexer_backend = fc_db::sql::Backend::new( fc_db::sql::BackendConfig::Sqlite(fc_db::sql::SqliteBackendConfig { diff --git a/client/rpc/src/lib.rs b/client/rpc/src/lib.rs index 7f1c19f657..2b6438afa6 100644 --- a/client/rpc/src/lib.rs +++ b/client/rpc/src/lib.rs @@ -389,7 +389,7 @@ mod tests { None, ); - let client = Arc::new(client); + let mut client = Arc::new(client); // Create a temporary frontier secondary DB. let backend = open_frontier_backend::(client.clone(), tmp.into_path()) From 2c45afc20ebaeab52c91f13e6777aed4ad306c61 Mon Sep 17 00:00:00 2001 From: magecnion Date: Wed, 18 Dec 2024 16:06:40 +0100 Subject: [PATCH 14/15] fix clippy --- client/cli/src/frontier_db_cmd/tests.rs | 4 +-- test-utils/client/src/lib.rs | 5 +-- test-utils/runtime/client/src/trait_tests.rs | 12 +++---- test-utils/runtime/src/genesismap.rs | 9 ++---- test-utils/runtime/src/lib.rs | 31 +++++++++---------- .../runtime/src/substrate_test_pallet.rs | 8 ++--- 6 files changed, 31 insertions(+), 38 deletions(-) diff --git a/client/cli/src/frontier_db_cmd/tests.rs b/client/cli/src/frontier_db_cmd/tests.rs index 28c4757cc1..e02c33a1bd 100644 --- a/client/cli/src/frontier_db_cmd/tests.rs +++ b/client/cli/src/frontier_db_cmd/tests.rs @@ -367,7 +367,7 @@ fn tips_update_works() { let test_value_path = test_json_file(&tmp, &tips_test_value()); // Test client. let (client, _) = TestClientBuilder::new().build_with_native_executor::(None); - let mut client = Arc::new(client); + let client = Arc::new(client); // Create a temporary frontier secondary DB. let backend = open_frontier_backend::(client.clone(), tmp.into_path()) .expect("a temporary db was created"); @@ -394,7 +394,7 @@ fn tips_delete_works() { let tmp = tempdir().expect("create a temporary directory"); // Test client. let (client, _) = TestClientBuilder::new().build_with_native_executor::(None); - let mut client = Arc::new(client); + let client = Arc::new(client); // Create a temporary frontier secondary DB. let backend = open_frontier_backend::(client.clone(), tmp.into_path()) .expect("a temporary db was created"); diff --git a/test-utils/client/src/lib.rs b/test-utils/client/src/lib.rs index 2eefe1c577..1a2571a7ab 100644 --- a/test-utils/client/src/lib.rs +++ b/test-utils/client/src/lib.rs @@ -89,7 +89,7 @@ impl { /// Create new `TestClientBuilder` with default backend. pub fn with_default_backend() -> Self { - let backend = Arc::new(Backend::new_test(std::u32::MAX, std::u64::MAX)); + let backend = Arc::new(Backend::new_test(u32::MAX, u64::MAX)); Self::with_backend(backend) } @@ -253,6 +253,7 @@ impl } } +#[allow(clippy::type_complexity)] impl TestClientBuilder>, Backend, G> { @@ -348,7 +349,7 @@ impl RpcHandlersExt for RpcHandlers { "params": ["0x{}"], "id": 0 }}"#, - array_bytes::bytes2hex("", &extrinsic.encode()) + array_bytes::bytes2hex("", extrinsic.encode()) )) .await .expect("valid JSON-RPC request object; qed"); diff --git a/test-utils/runtime/client/src/trait_tests.rs b/test-utils/runtime/client/src/trait_tests.rs index d27b608b17..24bc3dadb8 100644 --- a/test-utils/runtime/client/src/trait_tests.rs +++ b/test-utils/runtime/client/src/trait_tests.rs @@ -36,9 +36,9 @@ use sp_runtime::traits::Block as BlockT; use substrate_test_runtime::Transfer; /// helper to test the `leaves` implementation for various backends -pub fn test_leaves_for_backend(backend: Arc) +pub fn test_leaves_for_backend(backend: Arc) where - B: backend::Backend, + B: 'static + backend::Backend, { // block tree: // G -> A1 -> A2 -> A3 -> A4 -> A5 @@ -217,9 +217,9 @@ where } /// helper to test the `children` implementation for various backends -pub fn test_children_for_backend(backend: Arc) +pub fn test_children_for_backend(backend: Arc) where - B: backend::LocalBackend, + B: 'static + backend::LocalBackend, { // block tree: // G -> A1 -> A2 -> A3 -> A4 -> A5 @@ -387,9 +387,9 @@ where assert_eq!(vec![b3.hash(), c3.hash()], children4); } -pub fn test_blockchain_query_by_number_gets_canonical(backend: Arc) +pub fn test_blockchain_query_by_number_gets_canonical(backend: Arc) where - B: backend::LocalBackend, + B: 'static + backend::LocalBackend, { // block tree: // G -> A1 -> A2 -> A3 -> A4 -> A5 diff --git a/test-utils/runtime/src/genesismap.rs b/test-utils/runtime/src/genesismap.rs index a6cae054fb..aa3840449e 100644 --- a/test-utils/runtime/src/genesismap.rs +++ b/test-utils/runtime/src/genesismap.rs @@ -59,7 +59,6 @@ impl Default for GenesisStorageBuilder { Sr25519Keyring::Charlie.into(), ], (0..16_usize) - .into_iter() .map(|i| AccountKeyring::numeric(i).public()) .chain(vec![ AccountKeyring::Alice.into(), @@ -93,7 +92,7 @@ impl GenesisStorageBuilder { /// Override default wasm code to be placed into RuntimeGenesisConfig. pub fn with_wasm_code(mut self, wasm_code: &Option>) -> Self { - self.wasm_code = wasm_code.clone(); + self.wasm_code.clone_from(wasm_code); self } @@ -113,7 +112,7 @@ impl GenesisStorageBuilder { .authorities .clone() .into_iter() - .map(|id| sr25519::Public::from(id)) + .map(sr25519::Public::from) .collect(); RuntimeGenesisConfig { @@ -181,7 +180,5 @@ pub fn insert_genesis_block(storage: &mut Storage) -> sp_core::hash::H256 { sp_runtime::StateVersion::V1, ); let block: crate::Block = construct_genesis_block(state_root, StateVersion::V1); - let genesis_hash = block.header.hash(); - - genesis_hash + block.header.hash() } diff --git a/test-utils/runtime/src/lib.rs b/test-utils/runtime/src/lib.rs index f2c1419735..fc91b1c5b4 100644 --- a/test-utils/runtime/src/lib.rs +++ b/test-utils/runtime/src/lib.rs @@ -191,6 +191,7 @@ decl_runtime_apis! { fn benchmark_add_one(val: &u64) -> u64; /// A benchmark function that adds one to each value in the given vector and returns the /// result. + #[allow(clippy::ptr_arg)] fn benchmark_vector_add_one(vec: &Vec) -> Vec; /// A function for that the signature changed in version `2`. #[changed_in(2)] @@ -372,7 +373,7 @@ pub mod currency { } parameter_types! { - pub const ExistentialDeposit: Balance = 1 * currency::DOLLARS; + pub const ExistentialDeposit: Balance = currency::DOLLARS; // For weight estimation, we assume that the most locks on an individual account will be 50. // This number may need to be adjusted in the future if this assumption no longer holds true. pub const MaxLocks: u32 = 50; @@ -627,7 +628,7 @@ impl_runtime_apis! { } fn authorities() -> Vec { - SubstrateTest::authorities().into_iter().map(|auth| AuraId::from(auth)).collect() + SubstrateTest::authorities().into_iter().map(AuraId::from).collect() } } @@ -734,8 +735,8 @@ impl_runtime_apis! { let patch = match name.try_into() { Ok("staging") => { let endowed_accounts: Vec = vec![ - AccountKeyring::Bob.public().into(), - AccountKeyring::Charlie.public().into(), + AccountKeyring::Bob.public(), + AccountKeyring::Charlie.public(), ]; json!({ @@ -881,6 +882,7 @@ pub mod storage_key_generator { x.hex(Default::default()) } + #[allow(clippy::ptr_arg)] fn concat_hashes(input: &Vec<&[u8]>) -> String { input .iter() @@ -927,7 +929,6 @@ pub mod storage_key_generator { expected_keys.extend(literals.into_iter().map(hex)); let balances_map_keys = (0..16_usize) - .into_iter() .map(|i| AccountKeyring::numeric(i).public().to_vec()) .chain(vec![ AccountKeyring::Alice.public().to_vec(), @@ -1156,10 +1157,7 @@ mod tests { pub fn new_test_ext() -> sp_io::TestExternalities { genesismap::GenesisStorageBuilder::new( - vec![ - AccountKeyring::One.public().into(), - AccountKeyring::Two.public().into(), - ], + vec![AccountKeyring::One.public(), AccountKeyring::Two.public()], vec![AccountKeyring::One.into(), AccountKeyring::Two.into()], 1000 * currency::DOLLARS, ) @@ -1253,8 +1251,8 @@ mod tests { 16 ); - assert_eq!( - CheckSubstrateCall {} + assert!( + !CheckSubstrateCall {} .validate( &x, &ExtrinsicBuilder::new_call_do_not_propagate() @@ -1264,8 +1262,7 @@ mod tests { len ) .unwrap() - .propagate, - false + .propagate ); }) } @@ -1371,7 +1368,7 @@ mod tests { let r = Option::>::decode(&mut &r[..]) .unwrap() .expect("default config is there"); - let json = String::from_utf8(r.into()).expect("returned value is json. qed."); + let json = String::from_utf8(r).expect("returned value is json. qed."); let expected = r#"{"system":{},"babe":{"authorities":[],"epochConfig":{"c":[1,4],"allowed_slots":"PrimaryAndSecondaryVRFSlots"}},"substrateTest":{"authorities":[]},"balances":{"balances":[]}}"#; assert_eq!(expected.to_string(), json); @@ -1381,7 +1378,7 @@ mod tests { fn preset_names_listing_works() { sp_tracing::try_init_simple(); let mut t = BasicExternalities::new_empty(); - let r = executor_call(&mut t, "GenesisBuilder_preset_names", &vec![]).unwrap(); + let r = executor_call(&mut t, "GenesisBuilder_preset_names", &[]).unwrap(); let r = Vec::::decode(&mut &r[..]).unwrap(); assert_eq!( r, @@ -1403,8 +1400,7 @@ mod tests { ) .unwrap(); let r = Option::>::decode(&mut &r[..]).unwrap(); - let json = - String::from_utf8(r.unwrap().into()).expect("returned value is json. qed."); + let json = String::from_utf8(r.unwrap()).expect("returned value is json. qed."); log::info!("json: {:#?}", json); assert_eq!(expected.to_string(), json); }; @@ -1498,6 +1494,7 @@ mod tests { sp_tracing::try_init_simple(); let mut file = fs::OpenOptions::new() .create(true) + .truncate(true) .write(true) .open("/tmp/default_genesis_config.json") .unwrap(); diff --git a/test-utils/runtime/src/substrate_test_pallet.rs b/test-utils/runtime/src/substrate_test_pallet.rs index 1d361258de..7093e62ae6 100644 --- a/test-utils/runtime/src/substrate_test_pallet.rs +++ b/test-utils/runtime/src/substrate_test_pallet.rs @@ -200,12 +200,10 @@ pub mod pallet { sp_io::storage::get(&next); next_key = next; + } else if panic_at_end { + return Ok(()); } else { - if panic_at_end { - return Ok(()); - } else { - panic!("Could not read {read} times from the state"); - } + panic!("Could not read {read} times from the state"); } } From 856a5e9a3ba57c94daca0431177f51635dc74c84 Mon Sep 17 00:00:00 2001 From: magecnion Date: Wed, 18 Dec 2024 16:31:28 +0100 Subject: [PATCH 15/15] trigger ci