diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4c7ae454d9..3735742226 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -311,7 +311,7 @@ jobs: profile: ${{matrix.build-profile}} package: ${{matrix.package}} chain: ${{matrix.chain}} - tag: "1.77.0" + tag: "1.81.0" runtime_dir: ${{ matrix.runtime-dir }} - name: Rename WASM file run: | diff --git a/.github/workflows/verify-pr-commit.yml b/.github/workflows/verify-pr-commit.yml index f63282a65a..c0959b7a6c 100644 --- a/.github/workflows/verify-pr-commit.yml +++ b/.github/workflows/verify-pr-commit.yml @@ -379,7 +379,7 @@ jobs: package: ${{matrix.package}} chain: ${{matrix.chain}} runtime_dir: ${{ matrix.runtime-dir }} - tag: "1.77.0" + tag: "1.81.0" - name: Check Deterministic WASM Build Exists if: steps.cache-wasm.outputs.cache-hit != 'true' run: | diff --git a/.gitignore b/.gitignore index 56d876acd1..2ce3ae95c0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ **/*.rs.bk .idea +*.iws # General .DS_Store diff --git a/.tool-versions b/.tool-versions index a0f132c379..cb43afe6e0 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,3 +1,3 @@ -rust 1.77.0 +rust 1.81.0 make 4.3 cmake 3.24.1 diff --git a/Cargo.lock b/Cargo.lock index 1a6eae7cb0..13009284c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,18 +23,18 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli 0.29.0", + "gimli 0.31.1", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "adler32" @@ -87,7 +87,7 @@ dependencies = [ "getrandom 0.2.15", "once_cell", "version_check", - "zerocopy 0.7.34", + "zerocopy 0.7.35", ] [[package]] @@ -101,9 +101,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "always-assert" @@ -126,20 +126,11 @@ 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.14" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -152,69 +143,69 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "apache-avro" -version = "0.14.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf4144857f9e4d7dd6cc4ba4c78efd2a46bad682b029bd0d91e76a021af1b2a" +checksum = "1aef82843a0ec9f8b19567445ad2421ceeb1d711514384bdd3d49fe37102ee13" dependencies = [ - "byteorder", + "bigdecimal", "crc32fast", "digest 0.10.7", - "lazy_static", "libflate", "log", "num-bigint", "quad-rand", "rand 0.8.5", - "regex", + "regex-lite", "serde", + "serde_bytes", "serde_json", "snap", - "strum 0.24.1", - "strum_macros 0.24.3", - "thiserror", + "strum 0.26.3", + "strum_macros 0.26.4", + "thiserror 1.0.69", "typed-builder", "uuid", - "zerocopy 0.6.6", ] [[package]] @@ -237,7 +228,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -251,18 +242,6 @@ dependencies = [ "ark-std", ] -[[package]] -name = "ark-bls12-377-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-bls12-381" version = "0.4.0" @@ -275,45 +254,6 @@ dependencies = [ "ark-std", ] -[[package]] -name = "ark-bls12-381-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-models-ext", - "ark-serialize", - "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-bw6-761-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" -dependencies = [ - "ark-bw6-761", - "ark-ec", - "ark-ff", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-ec" version = "0.4.2" @@ -328,60 +268,9 @@ dependencies = [ "hashbrown 0.13.2", "itertools 0.10.5", "num-traits", - "rayon", "zeroize", ] -[[package]] -name = "ark-ed-on-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-377-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" -dependencies = [ - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ff", - "ark-models-ext", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" -dependencies = [ - "ark-ec", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-ff" version = "0.4.2" @@ -425,19 +314,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "ark-models-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", -] - [[package]] name = "ark-poly" version = "0.4.2" @@ -451,35 +327,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "ark-scale" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "ark-secret-scalar" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "ark-transcript", - "digest 0.10.7", - "getrandom_or_panic", - "zeroize", -] - [[package]] name = "ark-serialize" version = "0.4.2" @@ -511,20 +358,6 @@ checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", "rand 0.8.5", - "rayon", -] - -[[package]] -name = "ark-transcript" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "digest 0.10.7", - "rand_core 0.6.4", - "sha3", ] [[package]] @@ -535,9 +368,9 @@ 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" @@ -550,9 +383,9 @@ dependencies = [ [[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" @@ -560,13 +393,29 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", + "asn1-rs-derive 0.4.0", + "asn1-rs-impl 0.1.0", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror 1.0.69", + "time", +] + +[[package]] +name = "asn1-rs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" +dependencies = [ + "asn1-rs-derive 0.6.0", + "asn1-rs-impl 0.2.0", "displaydoc", "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 2.0.12", "time", ] @@ -579,7 +428,19 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "synstructure 0.13.1", ] [[package]] @@ -593,6 +454,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "asn1-rs-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "assert_matches" version = "1.5.0" @@ -619,19 +491,19 @@ dependencies = [ "concurrent-queue", "event-listener-strategy", "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.1.0", - "futures-lite 2.3.0", + "fastrand 2.3.0", + "futures-lite 2.6.0", "slab", ] @@ -647,6 +519,17 @@ dependencies = [ "futures-lite 1.13.0", ] +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock 3.4.0", + "blocking", + "futures-lite 2.6.0", +] + [[package]] name = "async-io" version = "1.13.0" @@ -661,7 +544,7 @@ dependencies = [ "log", "parking", "polling 2.8.0", - "rustix 0.37.27", + "rustix 0.37.28", "slab", "socket2 0.4.10", "waker-fn", @@ -669,21 +552,21 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" dependencies = [ "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.6.0", "parking", - "polling 3.7.2", - "rustix 0.38.34", + "polling 3.7.4", + "rustix 0.38.44", "slab", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -701,9 +584,9 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "event-listener-strategy", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -717,6 +600,17 @@ dependencies = [ "futures-lite 1.13.0", ] +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io 2.4.0", + "blocking", + "futures-lite 2.6.0", +] + [[package]] name = "async-process" version = "1.8.1" @@ -730,26 +624,45 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.34", + "rustix 0.38.44", "windows-sys 0.48.0", ] +[[package]] +name = "async-process" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" +dependencies = [ + "async-channel 2.3.1", + "async-io 2.4.0", + "async-lock 3.4.0", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener 5.4.0", + "futures-lite 2.6.0", + "rustix 0.38.44", + "tracing", +] + [[package]] name = "async-signal" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ - "async-io 2.3.3", + "async-io 2.4.0", "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.34", + "rustix 0.38.44", "signal-hook-registry", "slab", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -760,13 +673,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -779,7 +692,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -794,48 +707,36 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "attohttpc" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" +dependencies = [ + "http 0.2.12", + "log", + "url", +] + [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.22.0", - "cc", + "addr2line 0.24.2", "cfg-if", "libc", "miniz_oxide", - "object 0.36.0", + "object 0.36.7", "rustc-demangle", -] - -[[package]] -name = "bandersnatch_vrfs" -version = "0.0.4" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff", - "ark-serialize", - "ark-std", - "dleq_vrf", - "fflonk", - "merlin", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "ring 0.1.0", - "sha2 0.10.8", - "sp-ark-bls12-381", - "sp-ark-ed-on-bls12-381-bandersnatch", - "zeroize", + "windows-targets 0.52.6", ] [[package]] @@ -850,6 +751,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base58" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" + [[package]] name = "base64" version = "0.13.1" @@ -879,9 +786,9 @@ dependencies = [ [[package]] name = "base64ct" -version = "1.6.0" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "beef" @@ -893,12 +800,27 @@ dependencies = [ ] [[package]] -name = "binary-merkle-tree" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +name = "bigdecimal" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" dependencies = [ - "hash-db", - "log", + "autocfg", + "libm", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "binary-merkle-tree" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", ] [[package]] @@ -922,22 +844,41 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.20", + "prettyplease", "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", - "syn 2.0.66", + "syn 2.0.100", +] + +[[package]] +name = "bip32" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db40d3dfbeab4e031d78c844642fa0caa0b0db11ce1607ac9d2986dff1405c69" +dependencies = [ + "bs58", + "hmac 0.12.1", + "k256", + "rand_core 0.6.4", + "ripemd", + "secp256k1 0.27.0", + "sha2 0.10.8", + "subtle 2.6.1", + "zeroize", ] [[package]] name = "bip39" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" +checksum = "33415e24172c1b7d6066f6d999545375ab8e1d95421d6784bdfff9496f292387" dependencies = [ - "bitcoin_hashes 0.11.0", + "bitcoin_hashes", + "serde", + "unicode-normalization", ] [[package]] @@ -946,12 +887,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" -[[package]] -name = "bitcoin_hashes" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" - [[package]] name = "bitcoin_hashes" version = "0.13.0" @@ -970,9 +905,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" [[package]] name = "bitvec" @@ -1020,37 +955,37 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.3.0", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", ] [[package]] name = "blake2s_simd" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" +checksum = "e90f7deecfac93095eb874a40febd69427776e24e1bd7f87f33ac62d6f0174df" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.3.0", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", ] [[package]] name = "blake3" -version = "1.5.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "389a099b34312839e16420d499a9cad9650541715937ffbdd40d36f49e77eeb3" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "cc", "cfg-if", - "constant_time_eq 0.3.0", + "constant_time_eq 0.3.1", ] [[package]] @@ -1080,15 +1015,15 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.6.0", "piper", ] [[package]] name = "bounded-collections" -version = "0.2.0" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32385ecb91a31bddaf908e8dcf4a15aef1bcd3913cc03ebfad02ff6d568abc1" +checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" dependencies = [ "log", "parity-scale-codec", @@ -1102,21 +1037,16 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68534a48cbf63a4b1323c433cf21238c9ec23711e0df13b08c33e5c2082663ce" dependencies = [ - "thiserror", + "thiserror 1.0.69", ] -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - [[package]] name = "bs58" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ + "sha2 0.10.8", "tinyvec", ] @@ -1131,15 +1061,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "byte-tools" @@ -1149,9 +1079,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.16.3" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" [[package]] name = "byteorder" @@ -1161,18 +1091,17 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "bzip2-sys" -version = "0.1.11+1.0.8" +version = "0.1.13+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" dependencies = [ "cc", - "libc", "pkg-config", ] @@ -1188,18 +1117,18 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1212,23 +1141,29 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.26", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cc" -version = "1.0.99" +version = "1.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "525046617d8376e3db1deffb079e91cef90a89fc3ca5c185bbf8c9ecdd15cd5c" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cexpr" version = "0.6.0" @@ -1259,6 +1194,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chacha" version = "0.3.0" @@ -1295,16 +1236,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-link", ] [[package]] @@ -1323,8 +1264,7 @@ dependencies = [ [[package]] name = "cid" version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd94671561e36e4e7de75f753f577edafb0e7c05d6e4547229fdf7938fbcd2c3" +source = "git+https://github.com/multiformats/rust-cid?tag=v0.10.1#1df4e3fe0f6bcb8845655d2ccefd9da5ef81a1cd" dependencies = [ "core2", "multibase", @@ -1340,7 +1280,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" dependencies = [ "core2", - "multihash 0.19.1", + "multihash 0.19.3", "unsigned-varint 0.8.0", ] @@ -1377,9 +1317,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "d8aa86934b44c19c50f87cc2790e19f54f7a67aedb64101c2e1a2e5ecfb73944" dependencies = [ "clap_builder", "clap_derive", @@ -1387,34 +1327,34 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "2414dbb2dd0695280da6ea9261e327479e9d37b0630f6b53ba2a11c60c679fd9" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.11.1", "terminal_size", ] [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cli-opt" @@ -1425,9 +1365,9 @@ dependencies = [ [[package]] name = "coarsetime" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b3839cf01bb7960114be3ccf2340f541b6d0c81f8690b007b2b39f750f7e5d" +checksum = "91849686042de1b41cd81490edc83afbcb0abe5a9b6f2c4114f23ce8cca1bcf4" dependencies = [ "libc", "wasix", @@ -1436,19 +1376,20 @@ dependencies = [ [[package]] name = "codespan-reporting" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ + "serde", "termcolor", "unicode-width", ] [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "combine" @@ -1462,42 +1403,25 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.1" +version = "7.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" +checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" dependencies = [ - "strum 0.26.2", - "strum_macros 0.26.4", + "unicode-segmentation", "unicode-width", ] -[[package]] -name = "common" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#665f5f51af5734c7b6d90b985dd6861d4c5b4752" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "fflonk", - "getrandom_or_panic", - "merlin", - "rand_chacha 0.3.1", -] - [[package]] name = "common-helpers" version = "0.0.0" dependencies = [ "apache-avro", "common-primitives", - "jsonrpsee", + "jsonrpsee 0.24.9", "sp-api", "sp-io", "sp-runtime", - "thiserror", + "thiserror 2.0.12", ] [[package]] @@ -1513,7 +1437,7 @@ dependencies = [ "enumflags2", "frame-support", "frame-system", - "impl-serde", + "impl-serde 0.4.0", "libsecp256k1", "log", "numtoa", @@ -1524,11 +1448,11 @@ dependencies = [ "smallvec", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", + "sp-std", ] [[package]] @@ -1551,14 +1475,15 @@ dependencies = [ "pallet-sudo", "pallet-time-release", "pallet-timestamp", - "pallet-treasury", + "pallet-transaction-payment", + "pallet-treasury 27.0.0", "pallet-utility", "parity-scale-codec", "scale-info", "smallvec", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-weights", ] @@ -1573,15 +1498,28 @@ dependencies = [ [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", - "lazy_static", "libc", + "once_cell", "unicode-width", - "windows-sys 0.52.0", + "windows-sys 0.59.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]] @@ -1611,22 +1549,36 @@ dependencies = [ ] [[package]] -name = "constant_time_eq" -version = "0.1.5" +name = "const_format" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] -name = "constcat" +name = "constant_time_eq" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" @@ -1644,11 +1596,21 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -1680,9 +1642,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -1785,21 +1747,6 @@ dependencies = [ "wasmtime-types", ] -[[package]] -name = "crc" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - [[package]] name = "crc32fast" version = "1.4.2" @@ -1811,9 +1758,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1830,24 +1777,24 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -1903,8 +1850,8 @@ dependencies = [ [[package]] name = "cumulus-client-cli" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "clap", "parity-scale-codec", @@ -1920,8 +1867,8 @@ dependencies = [ [[package]] name = "cumulus-client-collator" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1943,8 +1890,8 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-client-collator", @@ -1956,8 +1903,10 @@ dependencies = [ "cumulus-relay-chain-interface", "futures", "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-node-subsystem", + "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", "sc-client-api", @@ -1966,6 +1915,7 @@ dependencies = [ "sc-consensus-babe", "sc-consensus-slots", "sc-telemetry", + "sc-utils", "schnellru", "sp-api", "sp-application-crypto", @@ -1980,13 +1930,14 @@ dependencies = [ "sp-state-machine", "sp-timestamp", "substrate-prometheus-endpoint", + "tokio", "tracing", ] [[package]] name = "cumulus-client-consensus-common" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2008,14 +1959,15 @@ dependencies = [ "sp-runtime", "sp-timestamp", "sp-trie", + "sp-version", "substrate-prometheus-endpoint", "tracing", ] [[package]] name = "cumulus-client-consensus-proposer" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "anyhow", "async-trait", @@ -2024,13 +1976,13 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cumulus-client-network" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2039,21 +1991,24 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "polkadot-node-primitives", + "polkadot-node-subsystem", "polkadot-parachain-primitives", "polkadot-primitives", "sc-client-api", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core", "sp-runtime", "sp-state-machine", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-parachain-inherent" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2062,22 +2017,20 @@ dependencies = [ "cumulus-test-relay-sproof-builder", "parity-scale-codec", "sc-client-api", - "scale-info", "sp-api", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-trie", "tracing", ] [[package]] name = "cumulus-client-pov-recovery" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2092,16 +2045,18 @@ dependencies = [ "rand 0.8.5", "sc-client-api", "sc-consensus", + "sp-api", "sp-consensus", "sp-maybe-compressed-blob", "sp-runtime", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-service" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.22.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2137,8 +2092,8 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2150,13 +2105,12 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "cumulus-pallet-parachain-system" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.18.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2176,12 +2130,12 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-inherents", "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-trie", "sp-version", "staging-xcm", @@ -2192,18 +2146,18 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "cumulus-pallet-session-benchmarking" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -2211,27 +2165,21 @@ dependencies = [ "pallet-session", "parity-scale-codec", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "cumulus-primitives-aura" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-primitives", "sp-api", "sp-consensus-aura", - "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "cumulus-primitives-core" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2240,15 +2188,14 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", "staging-xcm", ] [[package]] name = "cumulus-primitives-parachain-inherent" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2256,56 +2203,50 @@ dependencies = [ "scale-info", "sp-core", "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", ] [[package]] name = "cumulus-primitives-proof-size-hostfunction" -version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.11.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", + "sp-runtime-interface", "sp-trie", ] [[package]] name = "cumulus-primitives-storage-weight-reclaim" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "9.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", "docify", + "frame-benchmarking", "frame-support", "frame-system", "log", "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "cumulus-primitives-timestamp" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cumulus-primitives-core", - "futures", - "parity-scale-codec", "sp-inherents", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-timestamp", ] [[package]] name = "cumulus-relay-chain-inprocess-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.22.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2328,26 +2269,27 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-primitives-core", "futures", - "jsonrpsee-core", + "jsonrpsee-core 0.24.9", "parity-scale-codec", "polkadot-overseer", "sc-client-api", "sp-api", "sp-blockchain", "sp-state-machine", - "thiserror", + "sp-version", + "thiserror 1.0.69", ] [[package]] name = "cumulus-relay-chain-minimal-node" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.22.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "async-trait", @@ -2355,15 +2297,8 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "parking_lot 0.12.3", - "polkadot-availability-recovery", - "polkadot-collator-protocol", "polkadot-core-primitives", "polkadot-network-bridge", - "polkadot-node-collation-generation", - "polkadot-node-core-chain-api", - "polkadot-node-core-prospective-parachains", - "polkadot-node-core-runtime-api", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", @@ -2388,8 +2323,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.21.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2397,10 +2332,11 @@ dependencies = [ "either", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.24.9", "parity-scale-codec", "pin-project", "polkadot-overseer", + "prometheus", "rand 0.8.5", "sc-client-api", "sc-rpc-api", @@ -2408,17 +2344,18 @@ dependencies = [ "schnellru", "serde", "serde_json", - "smoldot", - "smoldot-light", + "smoldot 0.11.0", + "smoldot-light 0.9.0", "sp-api", "sp-authority-discovery", "sp-consensus-babe", "sp-core", "sp-runtime", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-version", - "thiserror", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", "tokio", "tokio-util", "tracing", @@ -2427,31 +2364,17 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", ] -[[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" @@ -2476,7 +2399,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -2494,72 +2417,163 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.124" +version = "1.0.156" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "273dcfd3acd4e1e276af13ed2a43eea7001318823e7a726a6b3ed39b4acc0b82" +checksum = "aa3a202fc4f3dd6d2ce5a2f87b04fb2becc00f5643ee9c4743ba10777efb314f" dependencies = [ "cc", + "cxxbridge-cmd", "cxxbridge-flags", "cxxbridge-macro", + "foldhash", "link-cplusplus", ] [[package]] name = "cxx-build" -version = "1.0.124" +version = "1.0.156" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b2766fbd92be34e9ed143898fce6c572dc009de39506ed6903e5a05b68914e" +checksum = "644bdf46f34f6325783f76a8ad8e737ab995a302d7868b5236a1ba55008883e0" dependencies = [ "cc", "codespan-reporting", - "once_cell", "proc-macro2", "quote", "scratch", - "syn 2.0.66", + "syn 2.0.100", +] + +[[package]] +name = "cxxbridge-cmd" +version = "1.0.156" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e8cefbebcb74ed0b4a08b76139e6c29d8884a0bb94d02c6f35de821a14a6e39" +dependencies = [ + "clap", + "codespan-reporting", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "cxxbridge-flags" -version = "1.0.124" +version = "1.0.156" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839fcd5e43464614ffaa989eaf1c139ef1f0c51672a1ed08023307fa1b909ccd" +checksum = "604e3eff62e2f27289d618f621491a068330c3c9f8eb06555dabc292c123596e" [[package]] name = "cxxbridge-macro" -version = "1.0.124" +version = "1.0.156" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2c1c1776b986979be68bb2285da855f8d8a35851a769fca8740df7c3d07877" +checksum = "130c3a05501d9c15dedbf08f2ff9af60f8e78422e3dffac1f43e2d83c5b489a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "rustversion", + "syn 2.0.100", ] [[package]] -name = "dashmap" -version = "5.5.3" +name = "darling" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core 0.9.10", + "darling_core 0.14.4", + "darling_macro 0.14.4", ] [[package]] -name = "data-encoding" -version = "2.6.0" +name = "darling" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core 0.20.11", + "darling_macro 0.20.11", +] [[package]] -name = "data-encoding-macro" -version = "0.1.15" +name = "darling_core" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 1.0.109", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.100", +] + +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core 0.14.4", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core 0.20.11", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "dary_heap" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d2cd9c18b9f454ed67da600630b021a8a80bf33f8c95896ab33aaf1c26b728" + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.10", +] + +[[package]] +name = "data-encoding" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" + +[[package]] +name = "data-encoding-macro" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9724adfcf41f45bf652b3995837669d73c4d49a1b5ac1ff82905ac7d9b5558" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -2567,12 +2581,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.13" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" +checksum = "18e4fdb82bd54a12e42fb58a800dcae6b9e13982238ce2296dc3570b92148e1f" dependencies = [ "data-encoding", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -2591,7 +2605,21 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" +dependencies = [ + "asn1-rs 0.7.1", "displaydoc", "nom", "num-bigint", @@ -2601,9 +2629,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] @@ -2621,37 +2649,57 @@ dependencies = [ [[package]] name = "derive-syn-parse" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] -name = "derive-syn-parse" -version = "0.2.0" +name = "derive-where" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" +checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "derive_more" -version = "0.99.18" +version = "0.99.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version", - "syn 2.0.66", + "syn 2.0.100", +] + +[[package]] +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 = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] @@ -2740,55 +2788,39 @@ 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.66", -] - -[[package]] -name = "dleq_vrf" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-scale", - "ark-secret-scalar", - "ark-serialize", - "ark-std", - "ark-transcript", - "arrayvec 0.7.4", - "zeroize", + "syn 2.0.100", ] [[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 0.2.0", + "derive-syn-parse", "once_cell", "proc-macro2", "quote", "regex", - "syn 2.0.66", + "syn 2.0.100", "termcolor", - "toml 0.8.14", + "toml 0.8.20", "walkdir", ] @@ -2806,15 +2838,15 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dtoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" +checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" [[package]] name = "dyn-clonable" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +checksum = "a36efbb9bfd58e1723780aa04b61aba95ace6a05d9ffabfdb0b43672552f0805" dependencies = [ "dyn-clonable-impl", "dyn-clone", @@ -2822,20 +2854,20 @@ dependencies = [ [[package]] name = "dyn-clonable-impl" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "ecdsa" @@ -2848,19 +2880,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" @@ -2868,21 +2891,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]] @@ -2891,8 +2900,8 @@ 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", + "curve25519-dalek", + "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", @@ -2906,8 +2915,8 @@ 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", @@ -2917,9 +2926,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" @@ -2943,9 +2952,9 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "enum-as-inner" @@ -2961,45 +2970,55 @@ 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.66", + "syn 2.0.100", ] [[package]] name = "enumflags2" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "enumn" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", +] + +[[package]] +name = "env_filter" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" +dependencies = [ + "log", + "regex", ] [[package]] @@ -3015,6 +3034,19 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "jiff", + "log", +] + [[package]] name = "environmental" version = "1.1.4" @@ -3023,18 +3055,18 @@ checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3051,28 +3083,38 @@ checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] name = "event-listener" -version = "5.3.1" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 5.3.1", - "pin-project-lite 0.2.14", + "event-listener 5.4.0", + "pin-project-lite", ] [[package]] @@ -3093,10 +3135,10 @@ dependencies = [ "blake2 0.10.6", "file-guard", "fs-err", - "prettyplease 0.2.20", + "prettyplease", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -3122,9 +3164,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fatality" @@ -3133,7 +3175,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec6f82451ff7f0568c6181287189126d492b5654e30a788add08027b6363d019" dependencies = [ "fatality-proc-macro", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3143,11 +3185,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb42427514b063d97ce21d5199f36c0c307d981434a6be32582bc79fe5bd2303" dependencies = [ "expander", - "indexmap 2.2.6", - "proc-macro-crate 3.1.0", + "indexmap 2.9.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -3157,32 +3199,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "ff" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "rand_core 0.6.4", "subtle 2.6.1", ] -[[package]] -name = "fflonk" -version = "0.1.0" -source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "merlin", -] - [[package]] name = "fiat-crypto" version = "0.2.9" @@ -3205,27 +3234,27 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "env_logger", + "env_logger 0.10.2", "log", ] [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] name = "finality-grandpa" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" +checksum = "b4f8f43dc520133541781ec03a8cab158ae8b7f7169cdf22e9050aa6cf0fbdfc" dependencies = [ "either", "futures", @@ -3237,6 +3266,16 @@ dependencies = [ "scale-info", ] +[[package]] +name = "finito" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2384245d85162258a14b43567a9ee3598f5ae746a1581fb5d3d2cb780f0dbf95" +dependencies = [ + "futures-timer", + "pin-project", +] + [[package]] name = "fixed-hash" version = "0.8.0" @@ -3256,15 +3295,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] -name = "flate2" -version = "1.0.30" +name = "fixedbitset" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "libz-sys", - "miniz_oxide", -] +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "float-cmp" @@ -3282,24 +3316,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" +name = "foldhash" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" -version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "13.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", ] @@ -3320,19 +3345,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" dependencies = [ "nonempty", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "fragile" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-support-procedural", @@ -3348,32 +3373,35 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", + "sp-storage", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" -version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "46.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "Inflector", "array-bytes", "chrono", "clap", "comfy-table", + "cumulus-client-parachain-inherent", + "cumulus-primitives-proof-size-hostfunction", "frame-benchmarking", "frame-support", "frame-system", "gethostname", "handlebars", + "hex", "itertools 0.11.0", - "lazy_static", "linked-hash-map", "log", "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-primitives", "rand 0.8.5", "rand_pcg", "sc-block-builder", @@ -3382,43 +3410,51 @@ dependencies = [ "sc-client-api", "sc-client-db", "sc-executor", + "sc-executor-common", "sc-service", "sc-sysinfo", "serde", "serde_json", "sp-api", + "sp-block-builder", "sp-blockchain", "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-genesis-builder", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", + "sp-timestamp", + "sp-transaction-pool", "sp-trie", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "thiserror", + "sp-version", + "sp-wasm-interface", + "subxt", + "subxt-signer", + "thiserror 1.0.69", "thousands", ] [[package]] name = "frame-election-provider-solution-type" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "14.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "frame-election-provider-support" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3429,13 +3465,12 @@ dependencies = [ "sp-core", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "frame-executive" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "aquamarine", "frame-support", @@ -3447,8 +3482,18 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", +] + +[[package]] +name = "frame-metadata" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "878babb0b136e731cc77ec2fd883ff02745ff21e6fb662729953d44923df009c" +dependencies = [ + "cfg-if", + "parity-scale-codec", + "scale-info", ] [[package]] @@ -3463,12 +3508,25 @@ dependencies = [ "serde", ] +[[package]] +name = "frame-metadata" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daaf440c68eb2c3d88e5760fe8c7af3f9fee9181fab6c2f2c4e7cc48dcc40bb8" +dependencies = [ + "cfg-if", + "parity-scale-codec", + "scale-info", + "serde", +] + [[package]] name = "frame-metadata-hash-extension" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", + "const-hex", "docify", "frame-support", "frame-system", @@ -3480,15 +3538,16 @@ dependencies = [ [[package]] name = "frame-support" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "aquamarine", "array-bytes", + "binary-merkle-tree", "bitflags 1.3.2", "docify", "environmental", - "frame-metadata", + "frame-metadata 18.0.0", "frame-support-procedural", "impl-trait-for-tuples", "k256", @@ -3504,7 +3563,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-crypto-hashing-proc-macro", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -3512,8 +3571,9 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", + "sp-tracing", + "sp-trie", "sp-weights", "static_assertions", "tt-call", @@ -3521,49 +3581,50 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "31.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "Inflector", "cfg-expr", - "derive-syn-parse 0.2.0", + "derive-syn-parse", + "docify", "expander", "frame-support-procedural-tools", "itertools 0.11.0", "macro_magic", - "proc-macro-warning", + "proc-macro-warning 1.84.1", "proc-macro2", "quote", - "sp-crypto-hashing", - "syn 2.0.66", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "syn 2.0.100", ] [[package]] name = "frame-support-procedural-tools" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "13.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "frame-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cfg-if", "docify", @@ -3575,15 +3636,15 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-version", "sp-weights", ] [[package]] name = "frame-system-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -3592,28 +3653,27 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "docify", "parity-scale-codec", "sp-api", ] [[package]] name = "frame-try-runtime" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.45.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -3638,7 +3698,7 @@ dependencies = [ "cumulus-client-service", "cumulus-primitives-core", "cumulus-primitives-storage-weight-reclaim", - "derive_more", + "derive_more 0.99.19", "frame-benchmarking", "frame-benchmarking-cli", "frame-metadata-hash-extension", @@ -3733,7 +3793,7 @@ dependencies = [ "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", + "pallet-treasury 27.0.0", "pallet-utility", "parity-scale-codec", "polkadot-parachain-primitives", @@ -3746,14 +3806,14 @@ dependencies = [ "sp-block-builder", "sp-consensus-aura", "sp-core", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", "sp-genesis-builder", "sp-inherents", "sp-io", "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -3783,7 +3843,7 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", "cumulus-relay-chain-rpc-interface", - "derive_more", + "derive_more 0.99.19", "frame-benchmarking", "frame-benchmarking-cli", "frame-system", @@ -3791,7 +3851,7 @@ dependencies = [ "futures", "hex", "hex-literal", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", "pallet-frequency-tx-payment-rpc", "pallet-frequency-tx-payment-runtime-api", @@ -3846,7 +3906,7 @@ dependencies = [ "sp-session", "sp-timestamp", "sp-transaction-pool", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", "substrate-build-script-utils", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", @@ -3879,7 +3939,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7" dependencies = [ - "rustix 0.38.34", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -3891,9 +3951,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", @@ -3904,6 +3964,16 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-bounded" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b07bbbe7d7e78809544c6f718d875627addc73a7c3582447abc052cd3dc67e0" +dependencies = [ + "futures-timer", + "futures-util", +] + [[package]] name = "futures-channel" version = "0.3.31" @@ -3922,9 +3992,9 @@ 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", @@ -3949,21 +4019,21 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", "waker-fn", ] [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ - "fastrand 2.1.0", + "fastrand 2.3.0", "futures-core", "futures-io", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3974,18 +4044,17 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "futures-rustls" -version = "0.22.2" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" +checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" dependencies = [ "futures-io", - "rustls 0.20.9", - "webpki", + "rustls 0.21.12", ] [[package]] @@ -4019,7 +4088,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", "pin-utils", "slab", ] @@ -4065,24 +4134,25 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", ] [[package]] name = "getrandom" -version = "0.2.15" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -4128,15 +4198,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "governor" @@ -4180,8 +4250,27 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 2.2.6", + "http 0.2.12", + "indexmap 2.9.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.3.1", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -4199,7 +4288,7 @@ dependencies = [ "pest_derive", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -4253,6 +4342,17 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + [[package]] name = "hashlink" version = "0.8.4" @@ -4286,6 +4386,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +[[package]] +name = "hermit-abi" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" + [[package]] name = "hex" version = "0.4.3" @@ -4304,6 +4410,51 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +[[package]] +name = "hickory-proto" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner 0.6.1", + "futures-channel", + "futures-io", + "futures-util", + "idna 1.0.3", + "ipnet", + "once_cell", + "rand 0.8.5", + "thiserror 1.0.69", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot 0.12.3", + "rand 0.8.5", + "resolv-conf", + "smallvec", + "thiserror 1.0.69", + "tokio", + "tracing", +] + [[package]] name = "hkdf" version = "0.12.4" @@ -4344,30 +4495,32 @@ dependencies = [ ] [[package]] -name = "home" -version = "0.5.9" +name = "hostname" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" dependencies = [ - "windows-sys 0.52.0", + "cfg-if", + "libc", + "windows-link", ] [[package]] -name = "hostname" -version = "0.3.1" +name = "http" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ - "libc", - "match_cfg", - "winapi", + "bytes", + "fnv", + "itoa", ] [[package]] name = "http" -version = "0.2.12" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -4381,21 +4534,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http", - "pin-project-lite 0.2.14", + "http 0.2.12", + "pin-project-lite", ] [[package]] -name = "http-range-header" -version = "0.3.1" +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.3.1", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http 1.3.1", + "http-body 1.0.1", + "pin-project-lite", +] [[package]] name = "httparse" -version = "1.9.4" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -4405,34 +4575,55 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.14", - "socket2 0.5.7", + "pin-project-lite", + "socket2 0.5.9", "tokio", "tower-service", "tracing", "want", ] +[[package]] +name = "hyper" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.8", + "http 1.3.1", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -4440,8 +4631,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", - "hyper", + "http 0.2.12", + "hyper 0.14.32", "log", "rustls 0.21.12", "rustls-native-certs 0.6.3", @@ -4449,18 +4640,58 @@ dependencies = [ "tokio-rustls 0.24.1", ] +[[package]] +name = "hyper-rustls" +version = "0.27.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +dependencies = [ + "futures-util", + "http 1.3.1", + "hyper 1.6.0", + "hyper-util", + "log", + "rustls 0.23.26", + "rustls-native-certs 0.8.1", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.2", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "hyper 1.6.0", + "libc", + "pin-project-lite", + "socket2 0.5.9", + "tokio", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", - "windows-core 0.52.0", + "windows-core 0.61.0", ] [[package]] @@ -4472,6 +4703,130 @@ 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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" + +[[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.100", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.2.3" @@ -4495,12 +4850,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]] @@ -4515,17 +4881,21 @@ 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 2.3.3", - "core-foundation", + "async-io 2.4.0", + "core-foundation 0.9.4", "fnv", "futures", "if-addrs", "ipnet", "log", + "netlink-packet-core", + "netlink-packet-route", + "netlink-proto", + "netlink-sys", "rtnetlink", "system-configuration", "tokio", @@ -4533,14 +4903,53 @@ dependencies = [ ] [[package]] -name = "impl-codec" -version = "0.6.0" +name = "igd-next" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" +dependencies = [ + "async-trait", + "attohttpc", + "bytes", + "futures", + "http 0.2.12", + "hyper 0.14.32", + "log", + "rand 0.8.5", + "tokio", + "url", + "xmltree", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-codec" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d40b9d5e17727407e55028eafc22b2dc68781786e6d7eb8a21103f5058e3a14" dependencies = [ "parity-scale-codec", ] +[[package]] +name = "impl-num-traits" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c" +dependencies = [ + "integer-sqrt", + "num-traits", + "uint 0.10.0", +] + [[package]] name = "impl-serde" version = "0.4.0" @@ -4550,15 +4959,24 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-serde" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a143eada6a1ec4aefa5049037a26a6d597bfd64f8c026d07b77133e02b7dd0b" +dependencies = [ + "serde", +] + [[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.100", ] [[package]] @@ -4593,12 +5011,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.2", ] [[package]] @@ -4609,9 +5027,9 @@ checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "generic-array 0.14.7", ] @@ -4625,12 +5043,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "integer-encoding" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" - [[package]] name = "integer-sqrt" version = "0.1.5" @@ -4663,7 +5075,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.9", "widestring", "windows-sys 0.48.0", "winreg", @@ -4671,35 +5083,35 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.5.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "is_executable" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9acdc6d67b75e626ad644734e8bc6df893d9cd2a834129065d3dd6158ea9c8" +checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" dependencies = [ "winapi", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -4719,27 +5131,107 @@ 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 = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f33145a5cbea837164362c7bd596106eb7c5198f97d1ba6f6ebb3223952e488" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43ce13c40ec6956157a3635d97a1ee2df323b263f09ea14165131289cb0f5c19" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ + "getrandom 0.3.2", "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -4749,11 +5241,34 @@ version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad" dependencies = [ - "jsonrpsee-core", + "jsonrpsee-client-transport 0.22.5", + "jsonrpsee-core 0.22.5", + "jsonrpsee-http-client", + "jsonrpsee-types 0.22.5", +] + +[[package]] +name = "jsonrpsee" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" +dependencies = [ + "jsonrpsee-core 0.23.2", + "jsonrpsee-types 0.23.2", + "jsonrpsee-ws-client 0.23.2", +] + +[[package]] +name = "jsonrpsee" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b26c20e2178756451cfeb0661fb74c47dd5988cb7e3939de7e9241fd604d42" +dependencies = [ + "jsonrpsee-core 0.24.9", "jsonrpsee-proc-macros", "jsonrpsee-server", - "jsonrpsee-types", - "jsonrpsee-ws-client", + "jsonrpsee-types 0.24.9", + "jsonrpsee-ws-client 0.24.9", "tokio", "tracing", ] @@ -4765,13 +5280,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" dependencies = [ "futures-util", - "http", - "jsonrpsee-core", + "http 0.2.12", + "jsonrpsee-core 0.22.5", "pin-project", - "rustls-native-certs 0.7.1", + "rustls-native-certs 0.7.3", "rustls-pki-types", - "soketto", - "thiserror", + "soketto 0.7.1", + "thiserror 1.0.69", "tokio", "tokio-rustls 0.25.0", "tokio-util", @@ -4779,6 +5294,52 @@ dependencies = [ "url", ] +[[package]] +name = "jsonrpsee-client-transport" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432" +dependencies = [ + "base64 0.22.1", + "futures-util", + "http 1.3.1", + "jsonrpsee-core 0.23.2", + "pin-project", + "rustls 0.23.26", + "rustls-pki-types", + "rustls-platform-verifier 0.3.4", + "soketto 0.8.1", + "thiserror 1.0.69", + "tokio", + "tokio-rustls 0.26.2", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bacb85abf4117092455e1573625e21b8f8ef4dec8aff13361140b2dc266cdff2" +dependencies = [ + "base64 0.22.1", + "futures-util", + "http 1.3.1", + "jsonrpsee-core 0.24.9", + "pin-project", + "rustls 0.23.26", + "rustls-pki-types", + "rustls-platform-verifier 0.5.1", + "soketto 0.8.1", + "thiserror 1.0.69", + "tokio", + "tokio-rustls 0.26.2", + "tokio-util", + "tracing", + "url", +] + [[package]] name = "jsonrpsee-core" version = "0.22.5" @@ -4790,50 +5351,119 @@ dependencies = [ "beef", "futures-timer", "futures-util", - "hyper", - "jsonrpsee-types", + "hyper 0.14.32", + "jsonrpsee-types 0.22.5", + "pin-project", + "rustc-hash 1.1.0", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b" +dependencies = [ + "anyhow", + "async-trait", + "beef", + "futures-timer", + "futures-util", + "jsonrpsee-types 0.23.2", + "pin-project", + "rustc-hash 1.1.0", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925" +dependencies = [ + "async-trait", + "bytes", + "futures-timer", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types 0.24.9", "parking_lot 0.12.3", "pin-project", "rand 0.8.5", - "rustc-hash", + "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", ] [[package]] -name = "jsonrpsee-proc-macros" +name = "jsonrpsee-http-client" version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d0bb047e79a143b32ea03974a6bf59b62c2a4c5f5d42a381c907a8bbb3f75c0" +checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5" dependencies = [ - "heck 0.4.1", - "proc-macro-crate 3.1.0", + "async-trait", + "hyper 0.14.32", + "hyper-rustls 0.24.2", + "jsonrpsee-core 0.22.5", + "jsonrpsee-types 0.22.5", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tower", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e65763c942dfc9358146571911b0cd1c361c2d63e2d2305622d40d36376ca80" +dependencies = [ + "heck 0.5.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "jsonrpsee-server" -version = "0.22.5" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12d8b6a9674422a8572e0b0abb12feeb3f2aeda86528c80d0350c2bd0923ab41" +checksum = "55e363146da18e50ad2b51a0a7925fc423137a0b1371af8235b1c231a0647328" dependencies = [ "futures-util", - "http", - "hyper", - "jsonrpsee-core", - "jsonrpsee-types", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.6.0", + "hyper-util", + "jsonrpsee-core 0.24.9", + "jsonrpsee-types 0.24.9", "pin-project", "route-recognizer", "serde", "serde_json", - "soketto", - "thiserror", + "soketto 0.8.1", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -4851,27 +5481,65 @@ dependencies = [ "beef", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" +dependencies = [ + "beef", + "http 1.3.1", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08a8e70baf945b6b5752fc8eb38c918a48f1234daf11355e07106d963f860089" +dependencies = [ + "http 1.3.1", + "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] name = "jsonrpsee-ws-client" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58b9db2dfd5bb1194b0ce921504df9ceae210a345bc2f6c5a61432089bbab070" +checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e" dependencies = [ - "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "http 1.3.1", + "jsonrpsee-client-transport 0.23.2", + "jsonrpsee-core 0.23.2", + "jsonrpsee-types 0.23.2", + "url", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b3323d890aa384f12148e8d2a1fd18eb66e9e7e825f9de4fa53bcc19b93eef" +dependencies = [ + "http 1.3.1", + "jsonrpsee-client-transport 0.24.9", + "jsonrpsee-core 0.24.9", + "jsonrpsee-types 0.24.9", "url", ] [[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", @@ -4890,6 +5558,16 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "keccak-hash" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b286e6b663fb926e1eeb68528e69cb70ed46c6d65871a21b2215ae8154c6d3c" +dependencies = [ + "primitive-types 0.12.2", + "tiny-keccak", +] + [[package]] name = "keystream" version = "1.0.0" @@ -4937,14 +5615,14 @@ checksum = "9baa9eeb6e315942429397e617a190f4fdc696ef1ee0342939d641029cbb4ea7" dependencies = [ "enumflags2", "libc", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lazycell" @@ -4954,53 +5632,58 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libflate" -version = "1.4.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18" +checksum = "45d9dfdc14ea4ef0900c1cddbc8dcd553fbaacd8a4a282cf4018ae9dd04fb21e" dependencies = [ "adler32", + "core2", "crc32fast", + "dary_heap", "libflate_lz77", ] [[package]] name = "libflate_lz77" -version = "1.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a52d3a8bfc85f250440e4424db7d857e241a3aebbbe301f3eb606ab15c39acbf" +checksum = "e6e0d73b369f386f1c44abd9c570d5318f55ccde816ff4b562fa452e5182863d" dependencies = [ + "core2", + "hashbrown 0.14.5", "rle-decode-fast", ] [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "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 = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libp2p" -version = "0.51.4" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" +checksum = "e94495eb319a85b70a68b85e2389a95bb3555c71c49025b78c691a854a7e6464" dependencies = [ "bytes", + "either", "futures", "futures-timer", "getrandom 0.2.15", @@ -5020,18 +5703,21 @@ dependencies = [ "libp2p-request-response", "libp2p-swarm", "libp2p-tcp", + "libp2p-upnp", "libp2p-wasm-ext", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.18.2", "pin-project", + "rw-stream-sink", + "thiserror 1.0.69", ] [[package]] name = "libp2p-allow-block-list" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" +checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5041,9 +5727,9 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" +checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5053,9 +5739,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.39.2" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" +checksum = "dd44289ab25e4c9230d9246c475a22241e301b23e8f4061d3bdef304a1a99713" dependencies = [ "either", "fnv", @@ -5064,8 +5750,8 @@ dependencies = [ "instant", "libp2p-identity", "log", - "multiaddr", - "multihash 0.17.0", + "multiaddr 0.18.2", + "multihash 0.19.3", "multistream-select", "once_cell", "parking_lot 0.12.3", @@ -5074,72 +5760,75 @@ dependencies = [ "rand 0.8.5", "rw-stream-sink", "smallvec", - "thiserror", + "thiserror 1.0.69", "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-dns" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" +checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" dependencies = [ + "async-trait", "futures", "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", "smallvec", - "trust-dns-resolver 0.22.0", + "trust-dns-resolver", ] [[package]] name = "libp2p-identify" -version = "0.42.2" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" +checksum = "45a96638a0a176bec0a4bcaebc1afa8cf909b114477209d7456ade52c61cd9cd" dependencies = [ "asynchronous-codec", "either", "futures", + "futures-bounded", "futures-timer", "libp2p-core", "libp2p-identity", "libp2p-swarm", "log", - "lru 0.10.1", + "lru 0.12.5", "quick-protobuf", "quick-protobuf-codec", "smallvec", - "thiserror", + "thiserror 1.0.69", "void", ] [[package]] name = "libp2p-identity" -version = "0.1.3" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ - "bs58 0.4.0", - "ed25519-dalek 2.1.1", - "log", - "multiaddr", - "multihash 0.17.0", + "bs58", + "ed25519-dalek", + "hkdf", + "multihash 0.19.3", "quick-protobuf", "rand 0.8.5", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.69", + "tracing", "zeroize", ] [[package]] name = "libp2p-kad" -version = "0.43.3" +version = "0.44.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" +checksum = "16ea178dabba6dde6ffc260a8e0452ccdc8f79becf544946692fff9d412fc29d" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "asynchronous-codec", "bytes", "either", @@ -5152,20 +5841,21 @@ dependencies = [ "libp2p-swarm", "log", "quick-protobuf", + "quick-protobuf-codec", "rand 0.8.5", "sha2 0.10.8", "smallvec", - "thiserror", - "uint", + "thiserror 1.0.69", + "uint 0.9.5", "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-mdns" -version = "0.43.1" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" +checksum = "42a2567c305232f5ef54185e9604579a894fd0674819402bb0ac0246da82f52a" dependencies = [ "data-encoding", "futures", @@ -5176,7 +5866,7 @@ dependencies = [ "log", "rand 0.8.5", "smallvec", - "socket2 0.4.10", + "socket2 0.5.9", "tokio", "trust-dns-proto 0.22.0", "void", @@ -5184,52 +5874,58 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" +checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" dependencies = [ + "instant", "libp2p-core", "libp2p-identify", + "libp2p-identity", "libp2p-kad", "libp2p-ping", "libp2p-swarm", + "once_cell", "prometheus-client", ] [[package]] name = "libp2p-noise" -version = "0.42.2" +version = "0.43.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" +checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" dependencies = [ "bytes", - "curve25519-dalek 3.2.0", + "curve25519-dalek", "futures", "libp2p-core", "libp2p-identity", "log", + "multiaddr 0.18.2", + "multihash 0.19.3", "once_cell", "quick-protobuf", "rand 0.8.5", "sha2 0.10.8", "snow", "static_assertions", - "thiserror", - "x25519-dalek 1.1.1", + "thiserror 1.0.69", + "x25519-dalek", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" +checksum = "e702d75cd0827dfa15f8fd92d15b9932abe38d10d21f47c50438c71dd1b5dae3" dependencies = [ "either", "futures", "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", "rand 0.8.5", @@ -5238,9 +5934,9 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.7.0-alpha.3" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" +checksum = "130d451d83f21b81eb7b35b360bc7972aeafb15177784adc56528db082e6b927" dependencies = [ "bytes", "futures", @@ -5251,18 +5947,20 @@ dependencies = [ "libp2p-tls", "log", "parking_lot 0.12.3", - "quinn-proto", + "quinn", "rand 0.8.5", - "rustls 0.20.9", - "thiserror", + "ring 0.16.20", + "rustls 0.21.12", + "socket2 0.5.9", + "thiserror 1.0.69", "tokio", ] [[package]] name = "libp2p-request-response" -version = "0.24.1" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" +checksum = "d8e3b4d67870478db72bac87bfc260ee6641d0734e0e3e275798f089c3fecfd4" dependencies = [ "async-trait", "futures", @@ -5270,15 +5968,17 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", + "log", "rand 0.8.5", "smallvec", + "void", ] [[package]] name = "libp2p-swarm" -version = "0.42.2" +version = "0.43.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" +checksum = "580189e0074af847df90e75ef54f3f30059aedda37ea5a1659e8b9fca05c0141" dependencies = [ "either", "fnv", @@ -5289,6 +5989,8 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", + "multistream-select", + "once_cell", "rand 0.8.5", "smallvec", "tokio", @@ -5297,36 +5999,39 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" +checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74" dependencies = [ "heck 0.4.1", + "proc-macro-warning 0.4.2", + "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] name = "libp2p-tcp" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" +checksum = "b558dd40d1bcd1aaaed9de898e9ec6a436019ecc2420dd0016e712fbb61c5508" dependencies = [ "futures", "futures-timer", "if-watch", "libc", "libp2p-core", + "libp2p-identity", "log", - "socket2 0.4.10", + "socket2 0.5.9", "tokio", ] [[package]] name = "libp2p-tls" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" +checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" dependencies = [ "futures", "futures-rustls", @@ -5334,57 +6039,75 @@ dependencies = [ "libp2p-identity", "rcgen", "ring 0.16.20", - "rustls 0.20.9", - "thiserror", - "webpki", - "x509-parser 0.14.0", + "rustls 0.21.12", + "rustls-webpki 0.101.7", + "thiserror 1.0.69", + "x509-parser 0.15.1", "yasna", ] +[[package]] +name = "libp2p-upnp" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82775a47b34f10f787ad3e2a22e2c1541e6ebef4fe9f28f3ac553921554c94c1" +dependencies = [ + "futures", + "futures-timer", + "igd-next", + "libp2p-core", + "libp2p-swarm", + "log", + "tokio", + "void", +] + [[package]] name = "libp2p-wasm-ext" -version = "0.39.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43" +checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" dependencies = [ "futures", "js-sys", "libp2p-core", - "parity-send-wrapper", + "send_wrapper", "wasm-bindgen", "wasm-bindgen-futures", ] [[package]] name = "libp2p-websocket" -version = "0.41.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" +checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" dependencies = [ "either", "futures", "futures-rustls", "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", - "quicksink", + "pin-project-lite", "rw-stream-sink", - "soketto", + "soketto 0.8.1", + "thiserror 1.0.69", "url", - "webpki-roots", + "webpki-roots 0.25.4", ] [[package]] name = "libp2p-yamux" -version = "0.43.1" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" +checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" dependencies = [ "futures", "libp2p-core", "log", - "thiserror", - "yamux", + "thiserror 1.0.69", + "yamux 0.12.1", ] [[package]] @@ -5393,8 +6116,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.9.0", "libc", + "redox_syscall 0.5.11", ] [[package]] @@ -5414,12 +6138,12 @@ dependencies = [ [[package]] name = "libsecp256k1" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" +checksum = "e79019718125edc905a079a70cfa5f3820bc76139fc91d6f9abc27ea2a887139" dependencies = [ "arrayref", - "base64 0.13.1", + "base64 0.22.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -5462,9 +6186,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" dependencies = [ "cc", "pkg-config", @@ -5473,9 +6197,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9" +checksum = "4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212" dependencies = [ "cc", ] @@ -5488,18 +6212,18 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linked_hash_set" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" dependencies = [ "linked-hash-map", ] [[package]] name = "linregress" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de04dcecc58d366391f9920245b85ffa684558a5ef6e7736e754347c3aea9c2" +checksum = "a9eda9dcf4f2a99787827661f312ac3219292549c2ee992bf9a6248ffb066bf7" dependencies = [ "nalgebra", ] @@ -5518,9 +6242,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "lioness" @@ -5534,32 +6264,37 @@ dependencies = [ "keystream", ] +[[package]] +name = "litemap" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" + [[package]] name = "litep2p" -version = "0.5.0" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f02542ae3a94b4c4ffa37dc56388c923e286afa3bf65452e3984b50b2a2f316" +checksum = "fa3aa5628ae2b2283aa01dfa58947f1926aedba0160dd25041e2cd4bc71534c9" dependencies = [ "async-trait", - "bs58 0.4.0", + "bs58", "bytes", "cid 0.10.1", - "ed25519-dalek 1.0.1", + "ed25519-dalek", "futures", "futures-timer", "hex-literal", - "indexmap 2.2.6", + "hickory-resolver", + "indexmap 2.9.0", "libc", - "mockall 0.12.1", - "multiaddr", + "mockall 0.13.1", + "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", + "prost 0.12.6", + "prost-build", "rand 0.8.5", "rcgen", "ring 0.16.20", @@ -5569,22 +6304,19 @@ dependencies = [ "simple-dns", "smallvec", "snow", - "socket2 0.5.7", - "static_assertions", - "str0m", - "thiserror", + "socket2 0.5.9", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-tungstenite", "tokio-util", "tracing", - "trust-dns-resolver 0.23.2", - "uint", - "unsigned-varint 0.7.2", + "uint 0.10.0", + "unsigned-varint 0.8.0", "url", - "webpki", - "x25519-dalek 2.0.1", - "x509-parser 0.15.1", + "x25519-dalek", + "x509-parser 0.17.0", + "yamux 0.13.4", "yasna", "zeroize", ] @@ -5601,24 +6333,24 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lru" -version = "0.10.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" -dependencies = [ - "hashbrown 0.13.2", -] +checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" [[package]] name = "lru" -version = "0.11.1" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown 0.15.2", +] [[package]] name = "lru-cache" @@ -5631,19 +6363,18 @@ dependencies = [ [[package]] name = "lz4" -version = "1.25.0" +version = "1.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" +checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" dependencies = [ - "libc", "lz4-sys", ] [[package]] name = "lz4-sys" -version = "1.9.5" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ "cc", "libc", @@ -5660,58 +6391,52 @@ dependencies = [ [[package]] name = "macro_magic" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03844fc635e92f3a0067e25fa4bf3e3dbf3f2927bf3aa01bb7bc8f1c428949d" +checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d" dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "macro_magic_core" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d" +checksum = "1687dc887e42f352865a393acae7cf79d98fab6351cde1f58e9e057da89bf150" dependencies = [ "const-random", - "derive-syn-parse 0.1.5", + "derive-syn-parse", "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "macro_magic_core_macros" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" +checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "macro_magic_macros" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" +checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.66", + "syn 2.0.100", ] -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matchers" version = "0.1.0" @@ -5729,9 +6454,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" dependencies = [ "autocfg", "rawpointer", @@ -5749,7 +6474,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.34", + "rustix 0.38.44", ] [[package]] @@ -5763,9 +6488,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", ] @@ -5790,13 +6515,13 @@ dependencies = [ [[package]] name = "merkleized-metadata" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f313fcff1d2a4bcaa2deeaa00bf7530d77d5f7bd0467a117dde2e29a75a7a17a" +checksum = "38c592efaf1b3250df14c8f3c2d952233f0302bb81d3586db2f303666c1cd607" dependencies = [ "array-bytes", "blake3", - "frame-metadata", + "frame-metadata 18.0.0", "parity-scale-codec", "scale-decode", "scale-info", @@ -5814,17 +6539,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "mick-jaeger" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" -dependencies = [ - "futures", - "rand 0.8.5", - "thrift", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -5833,22 +6547,22 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "0.8.11" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -5858,11 +6572,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daa3eb39495d8e2e2947a1d862852c90cc6a4a8845f8b41c8829cb9fcc047f4a" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "either", "hashlink", "lioness", @@ -5872,14 +6586,14 @@ dependencies = [ "rand_chacha 0.3.1", "rand_distr", "subtle 2.6.1", - "thiserror", + "thiserror 1.0.69", "zeroize", ] [[package]] name = "mmr-gadget" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "43.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "log", @@ -5897,10 +6611,10 @@ dependencies = [ [[package]] name = "mmr-rpc" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.9", "parity-scale-codec", "serde", "sp-api", @@ -5927,16 +6641,15 @@ dependencies = [ [[package]] name = "mockall" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48" +checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" dependencies = [ "cfg-if", "downcast", "fragile", - "lazy_static", - "mockall_derive 0.12.1", - "predicates 3.1.2", + "mockall_derive 0.13.1", + "predicates 3.1.3", "predicates-tree", ] @@ -5954,14 +6667,14 @@ dependencies = [ [[package]] name = "mockall_derive" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" +checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -5983,6 +6696,25 @@ dependencies = [ "url", ] +[[package]] +name = "multiaddr" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash 0.19.3", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.8.0", + "url", +] + [[package]] name = "multibase" version = "0.9.1" @@ -6005,7 +6737,7 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.0", + "multihash-derive", "sha2 0.10.8", "sha3", "unsigned-varint 0.7.2", @@ -6022,7 +6754,7 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.0", + "multihash-derive", "sha2 0.10.8", "sha3", "unsigned-varint 0.7.2", @@ -6030,84 +6762,39 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" -dependencies = [ - "core2", - "unsigned-varint 0.7.2", -] - -[[package]] -name = "multihash-codetable" -version = "0.1.1" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d815ecb3c8238d00647f8630ede7060a642c9f704761cd6082cb4028af6935" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", "core2", - "digest 0.10.7", - "multihash-derive 0.9.0", - "ripemd", - "serde", - "sha1", - "sha2 0.10.8", - "sha3", - "strobe-rs", -] - -[[package]] -name = "multihash-derive" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", + "unsigned-varint 0.8.0", ] [[package]] name = "multihash-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "890e72cb7396cb99ed98c1246a97b243cc16394470d94e0bc8b0c2c11d84290e" -dependencies = [ - "core2", - "multihash 0.19.1", - "multihash-derive-impl", -] - -[[package]] -name = "multihash-derive-impl" -version = "0.1.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38685e08adb338659871ecfc6ee47ba9b22dcc8abcf6975d379cc49145c3040" +checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] name = "multimap" -version = "0.8.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "multistream-select" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" +checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" dependencies = [ "bytes", "futures", @@ -6119,13 +6806,12 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.6" +version = "0.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" +checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" dependencies = [ "approx", "matrixmultiply", - "nalgebra-macros", "num-complex", "num-rational", "num-traits", @@ -6133,17 +6819,6 @@ 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" @@ -6161,21 +6836,20 @@ checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" [[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", @@ -6194,29 +6868,28 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "netlink-proto" -version = "0.10.0" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" +checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" dependencies = [ "bytes", "futures", "log", "netlink-packet-core", "netlink-sys", - "thiserror", - "tokio", + "thiserror 2.0.12", ] [[package]] name = "netlink-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" +checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" dependencies = [ "bytes", "futures", @@ -6233,15 +6906,15 @@ checksum = "a4a43439bf756eed340bdf8feba761e2d50c7d47175d87545cd5cbe4a137c4d1" dependencies = [ "cc", "libc", - "thiserror", + "thiserror 1.0.69", "winapi", ] [[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", @@ -6254,9 +6927,9 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.9.0", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.1.1", "libc", ] @@ -6324,12 +6997,13 @@ dependencies = [ [[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", + "serde", ] [[package]] @@ -6353,7 +7027,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "itoa", ] @@ -6426,9 +7100,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -6439,20 +7113,29 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", +] + +[[package]] +name = "oid-registry" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" +dependencies = [ + "asn1-rs 0.7.1", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "opaque-debug" @@ -6466,59 +7149,11 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "openssl" -version = "0.10.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" -dependencies = [ - "bitflags 2.5.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.66", -] - [[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.3.1+3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.103" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "option-ext" @@ -6528,9 +7163,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchestra" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92829eef0328a3d1cd22a02c0e51deb92a5362df3e7d21a4e9bdc38934694e66" +checksum = "41f6bbacc8c189a3f2e45e0fd0436e5d97f194db888e721bdbc3973e7dbed4c2" dependencies = [ "async-trait", "dyn-clonable", @@ -6539,35 +7174,26 @@ dependencies = [ "orchestra-proc-macro", "pin-project", "prioritized-metered-channel", - "thiserror", + "thiserror 1.0.69", "tracing", ] [[package]] name = "orchestra-proc-macro" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355" +checksum = "f7b1d40dd8f367db3c65bec8d3dd47d4a604ee8874480738f93191bddab4e0e0" dependencies = [ "expander", - "indexmap 2.2.6", + "indexmap 2.9.0", "itertools 0.11.0", - "petgraph", - "proc-macro-crate 3.1.0", + "petgraph 0.6.5", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", "syn 1.0.109", ] -[[package]] -name = "ordered-float" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7" -dependencies = [ - "num-traits", -] - [[package]] name = "overload" version = "0.1.1" @@ -6586,10 +7212,28 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "pallet-asset-conversion" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", +] + [[package]] name = "pallet-asset-rate" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6598,13 +7242,12 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-aura" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -6615,13 +7258,12 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-authority-discovery" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -6631,13 +7273,12 @@ dependencies = [ "sp-application-crypto", "sp-authority-discovery", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-authorship" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -6645,13 +7286,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-babe" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6669,13 +7309,12 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-bags-list" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "aquamarine", "docify", @@ -6690,14 +7329,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "pallet-balances" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "frame-benchmarking", @@ -6707,13 +7345,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-beefy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -6727,16 +7364,16 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-beefy-mmr" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "binary-merkle-tree", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -6752,31 +7389,29 @@ dependencies = [ "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-bounties" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-treasury", + "pallet-treasury 38.1.0", "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-broker" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "frame-benchmarking", @@ -6789,7 +7424,6 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -6809,7 +7443,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -6820,32 +7454,31 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-child-bounties" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-bounties", - "pallet-treasury", + "pallet-treasury 38.1.0", "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-collator-selection" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "20.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6859,14 +7492,14 @@ dependencies = [ "scale-info", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-collective" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", @@ -6876,13 +7509,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-conviction-voting" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6893,27 +7525,27 @@ dependencies = [ "serde", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-delegated-staking" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "6.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", + "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-democracy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6925,13 +7557,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-election-provider-multi-phase" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6947,14 +7578,13 @@ dependencies = [ "sp-io", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "strum 0.26.2", + "strum 0.26.3", ] [[package]] name = "pallet-election-provider-support-benchmarking" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6962,13 +7592,12 @@ dependencies = [ "parity-scale-codec", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-elections-phragmen" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6981,13 +7610,12 @@ dependencies = [ "sp-npos-elections", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-fast-unstake" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "frame-benchmarking", @@ -7000,7 +7628,6 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -7023,7 +7650,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -7032,7 +7659,7 @@ version = "0.0.0" dependencies = [ "common-helpers", "common-primitives", - "jsonrpsee", + "jsonrpsee 0.24.9", "pallet-frequency-tx-payment-runtime-api", "parity-scale-codec", "rayon", @@ -7042,7 +7669,7 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-weights", "tokio", ] @@ -7056,13 +7683,13 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-grandpa" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7079,7 +7706,6 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -7088,7 +7714,7 @@ version = "0.0.0" dependencies = [ "common-primitives", "common-runtime", - "env_logger", + "env_logger 0.11.8", "frame-benchmarking", "frame-support", "frame-system", @@ -7103,7 +7729,7 @@ dependencies = [ "sp-io", "sp-keystore", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -7113,14 +7739,14 @@ dependencies = [ "common-helpers", "common-primitives", "frame-support", - "jsonrpsee", + "jsonrpsee 0.24.9", "pallet-handles-runtime-api", "rayon", "sc-client-api", "sp-api", "sp-blockchain", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "tokio", ] @@ -7130,13 +7756,13 @@ version = "0.0.0" dependencies = [ "common-primitives", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-identity" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "enumflags2", "frame-benchmarking", @@ -7147,13 +7773,12 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-im-online" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7167,13 +7792,12 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-indices" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7184,13 +7808,12 @@ dependencies = [ "sp-io", "sp-keyring", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-membership" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7201,13 +7824,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-message-queue" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "42.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "environmental", "frame-benchmarking", @@ -7220,7 +7842,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", ] @@ -7238,14 +7859,14 @@ dependencies = [ "multibase", "parity-scale-codec", "pretty_assertions", - "rand 0.8.5", + "rand 0.9.0", "scale-info", "serde", "serde_json", "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -7255,7 +7876,7 @@ dependencies = [ "common-helpers", "common-primitives", "frame-support", - "jsonrpsee", + "jsonrpsee 0.24.9", "pallet-messages-runtime-api", "sc-client-api", "sp-api", @@ -7271,13 +7892,31 @@ dependencies = [ "common-primitives", "frame-support", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", +] + +[[package]] +name = "pallet-migrations" +version = "9.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" +dependencies = [ + "cfg-if", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", ] [[package]] name = "pallet-mmr" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7289,7 +7928,6 @@ dependencies = [ "sp-io", "sp-mmr-primitives", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -7317,7 +7955,7 @@ dependencies = [ "sp-keyring", "sp-keystore", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-weights", ] @@ -7327,7 +7965,7 @@ version = "0.0.0" dependencies = [ "common-helpers", "common-primitives", - "jsonrpsee", + "jsonrpsee 0.24.9", "pallet-msa-runtime-api", "parity-scale-codec", "parking_lot 0.12.3", @@ -7338,7 +7976,7 @@ dependencies = [ "sp-core", "sp-offchain", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "tokio", ] @@ -7350,29 +7988,24 @@ dependencies = [ "frame-support", "parity-scale-codec", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-multisig" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", "log", "parity-scale-codec", + "polkadot-sdk-frame", "scale-info", - "sp-io", - "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-nis" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7382,13 +8015,12 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-nomination-pools" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -7400,14 +8032,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "pallet-nomination-pools-benchmarking" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7420,26 +8051,24 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-nomination-pools-runtime-api" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-offences" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -7450,13 +8079,12 @@ dependencies = [ "serde", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-offences-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7474,13 +8102,12 @@ dependencies = [ "scale-info", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-parameters" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.10.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "frame-benchmarking", @@ -7492,7 +8119,6 @@ dependencies = [ "serde", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -7517,13 +8143,13 @@ dependencies = [ "sp-keyring", "sp-keystore", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-preimage" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7534,28 +8160,22 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-proxy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", "parity-scale-codec", + "polkadot-sdk-frame", "scale-info", - "sp-io", - "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-ranked-collective" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7568,13 +8188,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-recovery" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7583,13 +8202,12 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-referenda" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7602,13 +8220,12 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-root-testing" -version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -7617,13 +8234,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-scheduler" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "frame-benchmarking", @@ -7634,7 +8250,6 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", ] @@ -7660,7 +8275,7 @@ dependencies = [ "sp-io", "sp-keyring", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-weights", ] @@ -7671,7 +8286,7 @@ dependencies = [ "common-helpers", "common-primitives", "frame-support", - "jsonrpsee", + "jsonrpsee 0.24.9", "pallet-schemas-runtime-api", "sc-client-api", "sp-api", @@ -7679,7 +8294,7 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "tokio", ] @@ -7691,13 +8306,13 @@ dependencies = [ "frame-support", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-session" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", @@ -7712,14 +8327,13 @@ dependencies = [ "sp-session", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", ] [[package]] name = "pallet-session-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7730,13 +8344,12 @@ dependencies = [ "rand 0.8.5", "sp-runtime", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-society" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7748,13 +8361,12 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-staking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7771,24 +8383,12 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", -] - -[[package]] -name = "pallet-staking-reward-curve" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.66", ] [[package]] name = "pallet-staking-reward-fn" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "log", "sp-arithmetic", @@ -7796,8 +8396,8 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "sp-api", @@ -7806,8 +8406,8 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "43.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -7818,7 +8418,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -7827,7 +8426,7 @@ version = "0.0.0" dependencies = [ "common-primitives", "common-runtime", - "env_logger", + "env_logger 0.11.8", "frame-benchmarking", "frame-support", "frame-system", @@ -7840,7 +8439,7 @@ dependencies = [ "sp-io", "sp-keystore", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "twox-hash", ] @@ -7851,7 +8450,7 @@ dependencies = [ "common-helpers", "common-primitives", "frame-support", - "jsonrpsee", + "jsonrpsee 0.24.9", "pallet-stateful-storage-runtime-api", "sc-client-api", "sp-api", @@ -7859,7 +8458,7 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "tokio", ] @@ -7871,13 +8470,13 @@ dependencies = [ "frame-support", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-sudo" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "frame-benchmarking", @@ -7887,7 +8486,6 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -7909,13 +8507,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-timestamp" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "frame-benchmarking", @@ -7927,35 +8525,34 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-timestamp", ] [[package]] name = "pallet-tips" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-treasury", + "pallet-treasury 38.1.0", "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-transaction-payment" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -7964,15 +8561,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "42.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.9", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", "sp-api", @@ -7985,8 +8581,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7998,26 +8594,48 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +dependencies = [ + "common-primitives", + "common-runtime", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-balances", + "pallet-utility", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-treasury" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", + "log", "pallet-balances", "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-utility" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -8027,13 +8645,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-vesting" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -8042,13 +8659,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-whitelist" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -8057,19 +8673,17 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-xcm" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bounded-collections", "frame-benchmarking", "frame-support", "frame-system", - "log", "pallet-balances", "parity-scale-codec", "scale-info", @@ -8077,17 +8691,17 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", - "xcm-fee-payment-runtime-api", + "tracing", + "xcm-runtime-apis", ] [[package]] name = "pallet-xcm-benchmarks" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-benchmarking", "frame-support", @@ -8097,7 +8711,6 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -8109,7 +8722,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" dependencies = [ - "bitcoin_hashes 0.13.0", + "bitcoin_hashes", "rand 0.8.5", "rand_core 0.6.4", "serde", @@ -8132,44 +8745,40 @@ dependencies = [ "memmap2 0.5.10", "parking_lot 0.12.3", "rand 0.8.5", - "siphasher", + "siphasher 0.3.11", "snap", "winapi", ] [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitvec", "byte-slice-cast", "bytes", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -8178,9 +8787,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -8225,9 +8834,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.11", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -8286,20 +8895,20 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" dependencies = [ "memchr", - "thiserror", + "thiserror 2.0.12", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.10" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" +checksum = "d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5" dependencies = [ "pest", "pest_generator", @@ -8307,22 +8916,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.10" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" +checksum = "db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "pest_meta" -version = "2.7.10" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" +checksum = "7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0" dependencies = [ "once_cell", "pest", @@ -8335,15 +8944,25 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "fixedbitset", - "indexmap 2.2.6", + "fixedbitset 0.4.2", + "indexmap 2.9.0", +] + +[[package]] +name = "petgraph" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +dependencies = [ + "fixedbitset 0.5.7", + "indexmap 2.9.0", ] [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_macros", "phf_shared", @@ -8351,9 +8970,9 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", "rand 0.8.5", @@ -8361,57 +8980,51 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator", "phf_shared", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ - "siphasher", + "siphasher 1.0.1", ] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[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.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -8421,12 +9034,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.1.0", + "fastrand 2.3.0", "futures-io", ] @@ -8442,20 +9055,19 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "futures", "futures-timer", "itertools 0.11.0", - "polkadot-node-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -8468,8 +9080,8 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "always-assert", "futures", @@ -8484,10 +9096,10 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "derive_more", + "derive_more 0.99.19", "fatality", "futures", "parity-scale-codec", @@ -8502,14 +9114,14 @@ dependencies = [ "schnellru", "sp-core", "sp-keystore", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-availability-recovery" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "fatality", @@ -8524,7 +9136,7 @@ dependencies = [ "rand 0.8.5", "sc-network", "schnellru", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing-gum", ] @@ -8541,8 +9153,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cfg-if", "clap", @@ -8564,13 +9176,13 @@ dependencies = [ "sp-maybe-compressed-blob", "sp-runtime", "substrate-build-script-utils", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "polkadot-collator-protocol" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "fatality", @@ -8581,36 +9193,36 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", + "schnellru", "sp-core", "sp-keystore", "sp-runtime", - "thiserror", + "thiserror 1.0.69", "tokio-util", "tracing-gum", ] [[package]] name = "polkadot-core-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "polkadot-dispute-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "derive_more", + "derive_more 0.99.19", "fatality", "futures", "futures-timer", - "indexmap 2.2.6", + "indexmap 2.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -8622,14 +9234,14 @@ dependencies = [ "schnellru", "sp-application-crypto", "sp-keystore", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-erasure-coding" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -8637,13 +9249,13 @@ dependencies = [ "reed-solomon-novelpoly", "sp-core", "sp-trie", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "polkadot-gossip-support" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "futures-timer", @@ -8657,15 +9269,15 @@ dependencies = [ "sc-network-common", "sp-application-crypto", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-keystore", "tracing-gum", ] [[package]] name = "polkadot-network-bridge" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "always-assert", "async-trait", @@ -8681,14 +9293,14 @@ dependencies = [ "polkadot-primitives", "sc-network", "sp-consensus", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-collation-generation" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "parity-scale-codec", @@ -8697,26 +9309,27 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", + "schnellru", "sp-core", "sp-maybe-compressed-blob", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-approval-voting" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "async-trait", "bitvec", - "derive_more", + "derive_more 0.99.19", "futures", "futures-timer", "itertools 0.11.0", "kvdb", "merlin", "parity-scale-codec", - "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -8732,14 +9345,44 @@ dependencies = [ "sp-consensus", "sp-consensus-slots", "sp-runtime", - "thiserror", + "thiserror 1.0.69", + "tracing-gum", +] + +[[package]] +name = "polkadot-node-core-approval-voting-parallel" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "itertools 0.11.0", + "polkadot-approval-distribution", + "polkadot-node-core-approval-voting", + "polkadot-node-metrics", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "sc-keystore", + "sp-application-crypto", + "sp-consensus", + "sp-consensus-slots", + "sp-runtime", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-av-store" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "futures", @@ -8747,21 +9390,20 @@ dependencies = [ "kvdb", "parity-scale-codec", "polkadot-erasure-coding", - "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", "sp-consensus", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-backing" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "fatality", @@ -8770,33 +9412,34 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", + "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-statement-table", "schnellru", "sp-keystore", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-bitfield-signing" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", "sp-keystore", - "thiserror", + "thiserror 1.0.69", "tracing-gum", "wasm-timer", ] [[package]] name = "polkadot-node-core-candidate-validation" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -8810,14 +9453,15 @@ dependencies = [ "polkadot-overseer", "polkadot-parachain-primitives", "polkadot-primitives", - "sp-maybe-compressed-blob", + "sp-application-crypto", + "sp-keystore", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-api" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "polkadot-node-metrics", @@ -8830,8 +9474,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "futures-timer", @@ -8841,14 +9485,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "fatality", "futures", @@ -8860,14 +9504,14 @@ dependencies = [ "polkadot-primitives", "sc-keystore", "schnellru", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-parachains-inherent" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -8877,31 +9521,28 @@ dependencies = [ "polkadot-primitives", "sp-blockchain", "sp-inherents", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-prospective-parachains" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "bitvec", "fatality", "futures", - "parity-scale-codec", - "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-provisioner" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "fatality", @@ -8912,14 +9553,14 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "schnellru", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "always-assert", "array-bytes", @@ -8939,16 +9580,17 @@ dependencies = [ "rand 0.8.5", "slotmap", "sp-core", + "strum 0.26.3", "tempfile", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-checker" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "polkadot-node-primitives", @@ -8957,14 +9599,14 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "sp-keystore", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cpu-time", "futures", @@ -8979,18 +9621,18 @@ dependencies = [ "sc-executor-wasmtime", "seccompiler", "sp-core", - "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-externalities", "sp-io", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "thiserror", + "sp-tracing", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-runtime-api" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "polkadot-node-metrics", @@ -9002,31 +9644,12 @@ dependencies = [ "tracing-gum", ] -[[package]] -name = "polkadot-node-jaeger" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "lazy_static", - "log", - "mick-jaeger", - "parity-scale-codec", - "parking_lot 0.12.3", - "polkadot-node-primitives", - "polkadot-primitives", - "sc-network", - "sc-network-types", - "sp-core", - "thiserror", - "tokio", -] - [[package]] name = "polkadot-node-metrics" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "bs58 0.5.1", + "bs58", "futures", "futures-timer", "log", @@ -9042,18 +9665,17 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-channel 1.9.0", "async-trait", "bitvec", - "derive_more", + "derive_more 0.99.19", "fatality", "futures", "hex", "parity-scale-codec", - "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-primitives", "rand 0.8.5", @@ -9061,56 +9683,57 @@ dependencies = [ "sc-network", "sc-network-types", "sp-runtime", - "strum 0.26.2", - "thiserror", + "strum 0.26.3", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "bounded-vec", "futures", + "futures-timer", "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-primitives", + "sc-keystore", "schnorrkel 0.11.4", "serde", "sp-application-crypto", "sp-consensus-babe", + "sp-consensus-slots", "sp-core", "sp-keystore", "sp-maybe-compressed-blob", "sp-runtime", - "thiserror", + "thiserror 1.0.69", "zstd 0.12.4", ] [[package]] name = "polkadot-node-subsystem" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "polkadot-node-jaeger", "polkadot-node-subsystem-types", "polkadot-overseer", ] [[package]] name = "polkadot-node-subsystem-types" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "bitvec", - "derive_more", + "derive_more 0.99.19", "fatality", "futures", "orchestra", - "polkadot-node-jaeger", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-primitives", @@ -9126,16 +9749,16 @@ dependencies = [ "sp-consensus-babe", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "polkadot-node-subsystem-util" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", - "derive_more", + "derive_more 0.99.19", "fatality", "futures", "futures-channel", @@ -9146,7 +9769,6 @@ dependencies = [ "parking_lot 0.12.3", "pin-project", "polkadot-erasure-coding", - "polkadot-node-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -9161,14 +9783,14 @@ dependencies = [ "sp-application-crypto", "sp-core", "sp-keystore", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-overseer" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -9189,25 +9811,24 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bounded-collections", - "derive_more", + "derive_more 0.99.19", "parity-scale-codec", "polkadot-core-primitives", "scale-info", "serde", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", ] [[package]] name = "polkadot-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "hex-literal", @@ -9228,15 +9849,16 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", + "thiserror 1.0.69", ] [[package]] name = "polkadot-rpc" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.9", "mmr-rpc", "pallet-transaction-payment-rpc", "polkadot-primitives", @@ -9268,8 +9890,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitvec", "frame-benchmarking", @@ -9292,7 +9914,7 @@ dependencies = [ "pallet-staking-reward-fn", "pallet-timestamp", "pallet-transaction-payment", - "pallet-treasury", + "pallet-treasury 38.1.0", "pallet-vesting", "parity-scale-codec", "polkadot-primitives", @@ -9306,11 +9928,11 @@ dependencies = [ "sp-core", "sp-inherents", "sp-io", + "sp-keyring", "sp-npos-elections", "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -9319,25 +9941,24 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "bs58 0.5.1", + "bs58", "frame-benchmarking", "parity-scale-codec", "polkadot-primitives", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "polkadot-runtime-parachains" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bitflags 1.3.2", "bitvec", - "derive_more", + "derive_more 0.99.19", "frame-benchmarking", "frame-support", "frame-system", @@ -9349,6 +9970,7 @@ dependencies = [ "pallet-balances", "pallet-broker", "pallet-message-queue", + "pallet-mmr", "pallet-session", "pallet-staking", "pallet-timestamp", @@ -9360,7 +9982,6 @@ dependencies = [ "polkadot-runtime-metrics", "rand 0.8.5", "rand_chacha 0.3.1", - "rustc-hex", "scale-info", "serde", "sp-api", @@ -9373,32 +9994,62 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-executor", "static_assertions", ] +[[package]] +name = "polkadot-sdk-frame" +version = "0.8.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-arithmetic", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", + "sp-version", +] + [[package]] name = "polkadot-service" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "frame-benchmarking", "frame-benchmarking-cli", - "frame-support", "frame-system", "frame-system-rpc-runtime-api", "futures", - "hex-literal", "is_executable", "kvdb", "kvdb-rocksdb", "log", "mmr-gadget", - "pallet-babe", - "pallet-staking", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "parity-db", @@ -9415,6 +10066,7 @@ dependencies = [ "polkadot-network-bridge", "polkadot-node-collation-generation", "polkadot-node-core-approval-voting", + "polkadot-node-core-approval-voting-parallel", "polkadot-node-core-av-store", "polkadot-node-core-backing", "polkadot-node-core-bitfield-signing", @@ -9434,7 +10086,6 @@ dependencies = [ "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-rpc", "polkadot-runtime-parachains", @@ -9442,10 +10093,8 @@ dependencies = [ "rococo-runtime", "sc-authority-discovery", "sc-basic-authorship", - "sc-block-builder", "sc-chain-spec", "sc-client-api", - "sc-client-db", "sc-consensus", "sc-consensus-babe", "sc-consensus-beefy", @@ -9454,7 +10103,6 @@ dependencies = [ "sc-executor", "sc-keystore", "sc-network", - "sc-network-common", "sc-network-sync", "sc-offchain", "sc-service", @@ -9463,7 +10111,6 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-transaction-pool-api", - "schnellru", "serde", "serde_json", "sp-api", @@ -9475,39 +10122,37 @@ dependencies = [ "sp-consensus-beefy", "sp-consensus-grandpa", "sp-core", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-keyring", - "sp-keystore", "sp-mmr-primitives", "sp-offchain", "sp-runtime", "sp-session", - "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-timestamp", "sp-transaction-pool", "sp-version", "sp-weights", "staging-xcm", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", "tracing-gum", "westend-runtime", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] name = "polkadot-statement-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitvec", "fatality", "futures", "futures-timer", - "indexmap 2.2.6", + "indexmap 2.9.0", "parity-scale-codec", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -9516,14 +10161,14 @@ dependencies = [ "polkadot-primitives", "sp-keystore", "sp-staking", - "thiserror", + "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-statement-table" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9580,7 +10225,7 @@ dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -9590,7 +10235,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -9626,23 +10271,23 @@ dependencies = [ "concurrent-queue", "libc", "log", - "pin-project-lite 0.2.14", + "pin-project-lite", "windows-sys 0.48.0", ] [[package]] name = "polling" -version = "3.7.2" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", - "pin-project-lite 0.2.14", - "rustix 0.38.34", + "pin-project-lite", + "rustix 0.38.44", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -9670,9 +10315,18 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] [[package]] name = "powerfmt" @@ -9682,9 +10336,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy 0.8.24", +] [[package]] name = "predicates" @@ -9702,9 +10359,9 @@ dependencies = [ [[package]] name = "predicates" -version = "3.1.2" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ "anstyle", "predicates-core", @@ -9712,15 +10369,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" dependencies = [ "predicates-core", "termtree", @@ -9728,9 +10385,9 @@ dependencies = [ [[package]] name = "pretty_assertions" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ "diff", "yansi", @@ -9738,22 +10395,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" -dependencies = [ - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "prettyplease" -version = "0.2.20" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" dependencies = [ "proc-macro2", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -9772,10 +10419,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", - "impl-codec", - "impl-serde", + "impl-codec 0.6.0", + "impl-serde 0.4.0", + "scale-info", + "uint 0.9.5", +] + +[[package]] +name = "primitive-types" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" +dependencies = [ + "fixed-hash", + "impl-codec 0.7.1", + "impl-num-traits", + "impl-serde 0.5.0", "scale-info", - "uint", + "uint 0.10.0", ] [[package]] @@ -9786,31 +10447,31 @@ checksum = "a172e6cc603231f2cf004232eabcecccc0da53ba576ab286ef7baa0cfc7927ad" dependencies = [ "coarsetime", "crossbeam-queue", - "derive_more", + "derive_more 0.99.19", "futures", "futures-timer", "nanorand", - "thiserror", + "thiserror 1.0.69", "tracing", ] [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "thiserror 1.0.69", + "toml 0.5.11", ] [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -9839,20 +10500,31 @@ dependencies = [ [[package]] name = "proc-macro-warning" -version = "1.0.2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "proc-macro-warning" +version = "1.84.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" +checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] @@ -9868,14 +10540,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", @@ -9891,17 +10563,23 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] -name = "prost" -version = "0.11.9" +name = "proptest" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ - "bytes", - "prost-derive 0.11.9", + "bitflags 2.9.0", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.8.5", + "unarray", ] [[package]] @@ -9915,112 +10593,90 @@ dependencies = [ ] [[package]] -name = "prost-build" -version = "0.11.9" +name = "prost" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", - "heck 0.4.1", - "itertools 0.10.5", - "lazy_static", - "log", - "multimap", - "petgraph", - "prettyplease 0.1.25", - "prost 0.11.9", - "prost-types 0.11.9", - "regex", - "syn 1.0.109", - "tempfile", - "which", + "prost-derive 0.13.5", ] [[package]] name = "prost-build" -version = "0.12.6" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "bytes", - "heck 0.4.1", - "itertools 0.10.5", + "heck 0.5.0", + "itertools 0.14.0", "log", "multimap", "once_cell", - "petgraph", - "prettyplease 0.2.20", - "prost 0.12.6", - "prost-types 0.12.6", + "petgraph 0.7.1", + "prettyplease", + "prost 0.13.5", + "prost-types", "regex", - "syn 2.0.66", + "syn 2.0.100", "tempfile", ] [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.66", -] - -[[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" -dependencies = [ - "prost 0.11.9", + "syn 2.0.100", ] [[package]] name = "prost-types" -version = "0.12.6" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" dependencies = [ - "prost 0.12.6", + "prost 0.13.5", ] [[package]] name = "psm" -version = "0.1.21" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "f58e5423e24c18cc840e1c98370b3993c6649cd1678b4d24318bcf0a083cbe88" dependencies = [ "cc", ] [[package]] name = "quad-rand" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658fa1faf7a4cc5f057c9ee5ef560f717ad9d8dc66d975267f709624d6e1ab88" +checksum = "5a651516ddc9168ebd67b24afd085a718be02f8858fe406591b013d101ce2f40" [[package]] name = "quanta" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" dependencies = [ "crossbeam-utils", "libc", @@ -10031,12 +10687,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quick-protobuf" version = "0.8.1" @@ -10048,104 +10698,85 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" +checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" 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" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" +checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" dependencies = [ "bytes", - "pin-project-lite 0.2.14", + "futures-io", + "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash", - "rustls 0.20.9", - "thiserror", + "rustc-hash 1.1.0", + "rustls 0.21.12", + "thiserror 1.0.69", "tokio", "tracing", - "webpki", ] [[package]] name = "quinn-proto" -version = "0.9.6" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" +checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ "bytes", "rand 0.8.5", "ring 0.16.20", - "rustc-hash", - "rustls 0.20.9", + "rustc-hash 1.1.0", + "rustls 0.21.12", "slab", - "thiserror", + "thiserror 1.0.69", "tinyvec", "tracing", - "webpki", ] [[package]] name = "quinn-udp" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" +checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ + "bytes", "libc", - "quinn-proto", - "socket2 0.4.10", + "socket2 0.5.9", "tracing", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] [[package]] -name = "radium" -version = "0.7.0" +name = "r-efi" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" [[package]] -name = "rand" -version = "0.7.3" +name = "radium" +version = "0.7.0" 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", -] +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" @@ -10159,13 +10790,14 @@ dependencies = [ ] [[package]] -name = "rand_chacha" -version = "0.2.2" +name = "rand" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.24", ] [[package]] @@ -10179,12 +10811,13 @@ dependencies = [ ] [[package]] -name = "rand_core" -version = "0.5.1" +name = "rand_chacha" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ - "getrandom 0.1.16", + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -10196,6 +10829,15 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", +] + [[package]] name = "rand_distr" version = "0.4.3" @@ -10207,30 +10849,30 @@ dependencies = [ ] [[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 0.6.4", ] [[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", ] [[package]] name = "raw-cpuid" -version = "11.0.2" +version = "11.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" +checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.9.0", ] [[package]] @@ -10272,41 +10914,48 @@ dependencies = [ ] [[package]] -name = "redox_syscall" -version = "0.2.16" +name = "reconnecting-jsonrpsee-ws-client" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "06fa4f17e09edfc3131636082faaec633c7baa269396b4004040bc6c52f49f65" dependencies = [ - "bitflags 1.3.2", + "cfg_aliases 0.2.1", + "finito", + "futures", + "jsonrpsee 0.23.2", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.9.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -10315,30 +10964,30 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87413ebb313323d431e85d0afc5a68222aaed972843537cbfe5f061cf1b4bcab" dependencies = [ - "derive_more", + "derive_more 0.99.19", "fs-err", "static_init", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "ref-cast" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -10361,21 +11010,21 @@ checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" dependencies = [ "hashbrown 0.13.2", "log", - "rustc-hash", + "rustc-hash 1.1.0", "slice-group-by", "smallvec", ] [[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]] @@ -10389,15 +11038,21 @@ 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]] +name = "regex-lite" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" + [[package]] name = "regex-syntax" version = "0.6.29" @@ -10406,18 +11061,17 @@ 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" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +checksum = "48375394603e3dd4b2d64371f7148fd8c7baa2680e28741f2cb8d23b59e3d4c4" dependencies = [ "hostname", - "quick-error", ] [[package]] @@ -10430,23 +11084,6 @@ dependencies = [ "subtle 2.6.1", ] -[[package]] -name = "ring" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#665f5f51af5734c7b6d90b985dd6861d4c5b4752" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "arrayvec 0.7.4", - "blake2 0.10.6", - "common", - "fflonk", - "merlin", -] - [[package]] name = "ring" version = "0.16.20" @@ -10464,15 +11101,14 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", "getrandom 0.2.15", "libc", - "spin 0.9.8", "untrusted 0.9.0", "windows-sys 0.52.0", ] @@ -10504,8 +11140,8 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "binary-merkle-tree", "bitvec", @@ -10537,6 +11173,7 @@ dependencies = [ "pallet-indices", "pallet-membership", "pallet-message-queue", + "pallet-migrations", "pallet-mmr", "pallet-multisig", "pallet-nis", @@ -10558,7 +11195,7 @@ dependencies = [ "pallet-tips", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", + "pallet-treasury 38.1.0", "pallet-utility", "pallet-vesting", "pallet-whitelist", @@ -10586,13 +11223,13 @@ dependencies = [ "sp-genesis-builder", "sp-inherents", "sp-io", + "sp-keyring", "sp-mmr-primitives", "sp-offchain", "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -10600,13 +11237,13 @@ dependencies = [ "staging-xcm-executor", "static_assertions", "substrate-wasm-builder", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] name = "rococo-runtime-constants" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "polkadot-primitives", @@ -10638,16 +11275,19 @@ dependencies = [ [[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", - "nix 0.24.3", - "thiserror", + "netlink-sys", + "nix 0.26.4", + "thiserror 1.0.69", "tokio", ] @@ -10673,6 +11313,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -10681,11 +11327,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.23", + "semver 1.0.26", ] [[package]] @@ -10713,9 +11359,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.27" +version = "0.37.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +checksum = "519165d378b97752ca44bbe15047d5d3409e875f39327546b42ac81d7e18c1b6" dependencies = [ "bitflags 1.3.2", "errno", @@ -10727,15 +11373,28 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.9.0", "errno", "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +dependencies = [ + "bitflags 2.9.0", + "errno", + "libc", + "linux-raw-sys 0.9.4", + "windows-sys 0.59.0", ] [[package]] @@ -10744,7 +11403,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", @@ -10757,7 +11415,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.17.8", + "ring 0.17.14", "rustls-webpki 0.101.7", "sct", ] @@ -10769,9 +11427,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" dependencies = [ "log", - "ring 0.17.8", + "ring 0.17.14", + "rustls-pki-types", + "rustls-webpki 0.102.8", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "rustls" +version = "0.23.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0" +dependencies = [ + "log", + "once_cell", + "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.102.5", + "rustls-webpki 0.103.1", "subtle 2.6.1", "zeroize", ] @@ -10785,20 +11458,32 @@ dependencies = [ "openssl-probe", "rustls-pemfile 1.0.4", "schannel", - "security-framework", + "security-framework 2.11.1", ] [[package]] name = "rustls-native-certs" -version = "0.7.1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.2.0", + "rustls-pki-types", + "schannel", + "security-framework 2.11.1", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.2", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 3.2.0", ] [[package]] @@ -10812,19 +11497,66 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" + +[[package]] +name = "rustls-platform-verifier" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" +dependencies = [ + "core-foundation 0.9.4", + "core-foundation-sys", + "jni 0.19.0", + "log", + "once_cell", + "rustls 0.23.26", + "rustls-native-certs 0.7.3", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.8", + "security-framework 2.11.1", + "security-framework-sys", + "webpki-roots 0.26.8", + "winapi", +] + +[[package]] +name = "rustls-platform-verifier" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5467026f437b4cb2a533865eaa73eb840019a0916f4b9ec563c6e617e086c9" +dependencies = [ + "core-foundation 0.10.0", + "core-foundation-sys", + "jni 0.21.1", + "log", + "once_cell", + "rustls 0.23.26", + "rustls-native-certs 0.8.1", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.1", + "security-framework 3.2.0", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" @@ -10832,26 +11564,37 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring 0.17.14", + "rustls-pki-types", "untrusted 0.9.0", ] [[package]] name = "rustls-webpki" -version = "0.102.5" +version = "0.103.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a6fccd794a42c2c105b513a2f62bc3fd8f3ba57a4593677ceb0bd035164d78" +checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "rustls-pki-types", "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "ruzstd" @@ -10864,11 +11607,22 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "ruzstd" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" +dependencies = [ + "byteorder", + "derive_more 0.99.19", + "twox-hash", +] + [[package]] name = "rw-stream-sink" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" +checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" dependencies = [ "futures", "pin-project", @@ -10877,15 +11631,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "safe_arch" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" dependencies = [ "bytemuck", ] @@ -10901,19 +11655,19 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "log", "sp-core", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "thiserror", + "sp-wasm-interface", + "thiserror 1.0.69", ] [[package]] name = "sc-authority-discovery" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -10922,11 +11676,10 @@ dependencies = [ "libp2p", "linked_hash_set", "log", - "multihash 0.17.0", - "multihash-codetable", + "multihash 0.19.3", "parity-scale-codec", "prost 0.12.6", - "prost-build 0.12.6", + "prost-build", "rand 0.8.5", "sc-client-api", "sc-network", @@ -10938,13 +11691,13 @@ dependencies = [ "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-basic-authorship" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", "futures-timer", @@ -10965,8 +11718,8 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "sp-api", @@ -10980,13 +11733,13 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "41.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "docify", "log", - "memmap2 0.9.4", + "memmap2 0.9.5", "parity-scale-codec", "sc-chain-spec-derive", "sc-client-api", @@ -10997,29 +11750,29 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-genesis-builder", "sp-io", "sp-runtime", "sp-state-machine", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "sc-chain-spec-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "sc-cli" -version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.50.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "chrono", @@ -11043,6 +11796,7 @@ dependencies = [ "sc-service", "sc-telemetry", "sc-tracing", + "sc-transaction-pool", "sc-utils", "serde", "serde_json", @@ -11053,14 +11807,14 @@ dependencies = [ "sp-panic-handler", "sp-runtime", "sp-version", - "thiserror", + "thiserror 1.0.69", "tokio", ] [[package]] name = "sc-client-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "fnv", "futures", @@ -11075,19 +11829,19 @@ dependencies = [ "sp-consensus", "sp-core", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-runtime", "sp-state-machine", "sp-statement-store", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.45.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "hash-db", "kvdb", @@ -11112,12 +11866,11 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", - "futures-timer", "log", "mockall 0.11.4", "parking_lot 0.12.3", @@ -11132,13 +11885,13 @@ dependencies = [ "sp-runtime", "sp-state-machine", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-aura" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -11161,13 +11914,13 @@ dependencies = [ "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-babe" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "fork-tree", @@ -11192,21 +11945,21 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-inherents", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-babe-rpc" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", - "jsonrpsee", + "jsonrpsee 0.24.9", "sc-consensus-babe", "sc-consensus-epochs", "sc-rpc-api", @@ -11219,13 +11972,13 @@ dependencies = [ "sp-core", "sp-keystore", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11249,22 +12002,22 @@ dependencies = [ "sp-consensus", "sp-consensus-beefy", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", "tokio", "wasm-timer", ] [[package]] name = "sc-consensus-beefy-rpc" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -11275,13 +12028,13 @@ dependencies = [ "sp-consensus-beefy", "sp-core", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-epochs" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "fork-tree", "parity-scale-codec", @@ -11293,8 +12046,8 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "ahash", "array-bytes", @@ -11328,21 +12081,21 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-grandpa-rpc" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "finality-grandpa", "futures", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "sc-client-api", @@ -11352,19 +12105,19 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-manual-seal" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.49.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "assert_matches", "async-trait", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "sc-client-api", @@ -11387,13 +12140,13 @@ dependencies = [ "sp-runtime", "sp-timestamp", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-consensus-slots" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -11415,8 +12168,8 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.41.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -11426,44 +12179,44 @@ dependencies = [ "schnellru", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-io", "sp-panic-handler", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-trie", "sp-version", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", "tracing", ] [[package]] name = "sc-executor-common" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "polkavm", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "thiserror", + "sp-wasm-interface", + "thiserror 1.0.69", "wasm-instrument", ] [[package]] name = "sc-executor-polkavm" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "log", "polkavm", "sc-executor-common", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", ] [[package]] name = "sc-executor-wasmtime" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "anyhow", "cfg-if", @@ -11473,17 +12226,17 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", + "sp-wasm-interface", "wasmtime", ] [[package]] name = "sc-informant" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "ansi_term", + "console", "futures", "futures-timer", "log", @@ -11497,8 +12250,8 @@ dependencies = [ [[package]] name = "sc-keystore" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "parking_lot 0.12.3", @@ -11506,23 +12259,23 @@ dependencies = [ "sp-application-crypto", "sp-core", "sp-keystore", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "blake2 0.10.6", "bytes", "futures", "futures-timer", "log", "mixnet", - "multiaddr", + "multiaddr 0.18.2", "parity-scale-codec", "parking_lot 0.12.3", "sc-client-api", @@ -11535,13 +12288,13 @@ dependencies = [ "sp-keystore", "sp-mixnet", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-network" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.3" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11565,7 +12318,7 @@ dependencies = [ "partial_sort", "pin-project", "prost 0.12.6", - "prost-build 0.12.6", + "prost-build", "rand 0.8.5", "sc-client-api", "sc-network-common", @@ -11580,7 +12333,7 @@ dependencies = [ "sp-core", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", "unsigned-varint 0.7.2", @@ -11591,15 +12344,15 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "bitflags 1.3.2", "futures", "libp2p-identity", "parity-scale-codec", - "prost-build 0.12.6", + "prost-build", "sc-consensus", "sc-network-types", "sp-consensus", @@ -11609,13 +12362,12 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "ahash", "futures", "futures-timer", - "libp2p", "log", "sc-network", "sc-network-common", @@ -11629,8 +12381,8 @@ dependencies = [ [[package]] name = "sc-network-light" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11638,20 +12390,20 @@ dependencies = [ "log", "parity-scale-codec", "prost 0.12.6", - "prost-build 0.12.6", + "prost-build", "sc-client-api", "sc-network", "sc-network-types", "sp-blockchain", "sp-core", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-network-sync" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -11659,12 +12411,11 @@ dependencies = [ "fork-tree", "futures", "futures-timer", - "libp2p", "log", "mockall 0.11.4", "parity-scale-codec", "prost 0.12.6", - "prost-build 0.12.6", + "prost-build", "sc-client-api", "sc-consensus", "sc-network", @@ -11680,19 +12431,18 @@ dependencies = [ "sp-core", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", ] [[package]] name = "sc-network-transactions" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "futures", - "libp2p", "log", "parity-scale-codec", "sc-network", @@ -11707,39 +12457,42 @@ dependencies = [ [[package]] name = "sc-network-types" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "bs58 0.5.1", - "ed25519-dalek 2.1.1", + "bs58", + "ed25519-dalek", "libp2p-identity", "litep2p", - "multiaddr", - "multihash 0.17.0", + "log", + "multiaddr 0.18.2", + "multihash 0.19.3", "rand 0.8.5", - "thiserror", + "thiserror 1.0.69", "zeroize", ] [[package]] name = "sc-offchain" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "43.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "bytes", "fnv", "futures", "futures-timer", - "hyper", - "hyper-rustls", - "libp2p", + "http-body-util", + "hyper 1.6.0", + "hyper-rustls 0.27.5", + "hyper-util", "log", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.3", "rand 0.8.5", + "rustls 0.23.26", "sc-client-api", "sc-network", "sc-network-common", @@ -11748,7 +12501,7 @@ dependencies = [ "sc-utils", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-keystore", "sp-offchain", "sp-runtime", @@ -11758,8 +12511,8 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -11767,11 +12520,11 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "43.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -11799,10 +12552,10 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.47.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.9", "parity-scale-codec", "sc-chain-spec", "sc-mixnet", @@ -11814,22 +12567,26 @@ dependencies = [ "sp-rpc", "sp-runtime", "sp-version", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-rpc-server" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "dyn-clone", "forwarded-header-value", "futures", "governor", - "http", - "hyper", + "http 1.3.1", + "http-body-util", + "hyper 1.6.0", "ip_network", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", + "sc-rpc-api", + "serde", "serde_json", "substrate-prometheus-endpoint", "tokio", @@ -11839,14 +12596,15 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "futures", "futures-util", "hex", - "jsonrpsee", + "itertools 0.11.0", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -11855,7 +12613,6 @@ dependencies = [ "sc-client-api", "sc-rpc", "sc-transaction-pool-api", - "sc-utils", "schnellru", "serde", "sp-api", @@ -11864,22 +12621,22 @@ dependencies = [ "sp-rpc", "sp-runtime", "sp-version", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", ] [[package]] name = "sc-service" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.49.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "directories", "exit-future", "futures", "futures-timer", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -11914,12 +12671,12 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-keystore", "sp-runtime", "sp-session", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", @@ -11927,7 +12684,7 @@ dependencies = [ "static_init", "substrate-prometheus-endpoint", "tempfile", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "tracing-futures", @@ -11935,8 +12692,8 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.37.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "log", "parity-scale-codec", @@ -11946,23 +12703,23 @@ dependencies = [ [[package]] name = "sc-storage-monitor" -version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.23.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "clap", "fs4", "log", "sp-core", - "thiserror", + "thiserror 1.0.69", "tokio", ] [[package]] name = "sc-sync-state-rpc" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.48.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.9", "parity-scale-codec", "sc-chain-spec", "sc-client-api", @@ -11973,15 +12730,15 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-sysinfo" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "41.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "derive_more", + "derive_more 0.99.19", "futures", "libc", "log", @@ -11992,15 +12749,15 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "sc-telemetry" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "chrono", "futures", @@ -12013,25 +12770,23 @@ dependencies = [ "sc-utils", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "wasm-timer", ] [[package]] name = "sc-tracing" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" 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", @@ -12040,8 +12795,8 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "thiserror", + "sp-tracing", + "thiserror 1.0.69", "tracing", "tracing-log", "tracing-subscriber", @@ -12050,22 +12805,24 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "sc-transaction-pool" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", "futures-timer", + "indexmap 2.9.0", + "itertools 0.11.0", "linked-hash-map", "log", "parity-scale-codec", @@ -12077,18 +12834,20 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "sp-transaction-pool", "substrate-prometheus-endpoint", - "thiserror", + "thiserror 1.0.69", + "tokio", + "tokio-stream", ] [[package]] name = "sc-transaction-pool-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -12098,18 +12857,17 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sc-utils" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-channel 1.9.0", "futures", "futures-timer", - "lazy_static", "log", "parking_lot 0.12.3", "prometheus", @@ -12123,7 +12881,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" dependencies = [ "parity-scale-codec", + "scale-info", "scale-type-resolver", + "serde", ] [[package]] @@ -12132,22 +12892,64 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27" dependencies = [ - "derive_more", + "derive_more 0.99.19", + "parity-scale-codec", + "primitive-types 0.12.2", + "scale-bits", + "scale-decode-derive", + "scale-type-resolver", + "smallvec", +] + +[[package]] +name = "scale-decode-derive" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb22f574168103cdd3133b19281639ca65ad985e24612728f727339dcaf4021" +dependencies = [ + "darling 0.14.4", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-encode" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528464e6ae6c8f98e2b79633bf79ef939552e795e316579dab09c61670d56602" +dependencies = [ + "derive_more 0.99.19", "parity-scale-codec", + "primitive-types 0.12.2", "scale-bits", + "scale-encode-derive", "scale-type-resolver", "smallvec", ] +[[package]] +name = "scale-encode-derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef2618f123c88da9cd8853b69d766068f1eddc7692146d7dfe9b89e25ce2efd" +dependencies = [ + "darling 0.20.11", + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[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", @@ -12155,14 +12957,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.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -12170,21 +12972,59 @@ name = "scale-type-resolver" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" +dependencies = [ + "scale-info", + "smallvec", +] + +[[package]] +name = "scale-typegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498d1aecf2ea61325d4511787c115791639c0fd21ef4f8e11e49dd09eff2bbac" +dependencies = [ + "proc-macro2", + "quote", + "scale-info", + "syn 2.0.100", + "thiserror 1.0.69", +] + +[[package]] +name = "scale-value" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd6ab090d823e75cfdb258aad5fe92e13f2af7d04b43a55d607d25fcc38c811" +dependencies = [ + "base58", + "blake2 0.10.6", + "derive_more 0.99.19", + "either", + "frame-metadata 15.1.0", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "scale-type-resolver", + "serde", + "yap", +] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "schnellru" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" +checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" dependencies = [ "ahash", "cfg-if", @@ -12198,7 +13038,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "844b7645371e6ecdf61ff246ba1958c29e802881a749ae3fb1993675d210d28d" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "curve25519-dalek-ng", "merlin", "rand_core 0.6.4", @@ -12215,8 +13055,8 @@ checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ "aead", "arrayref", - "arrayvec 0.7.4", - "curve25519-dalek 4.1.3", + "arrayvec 0.7.6", + "curve25519-dalek", "getrandom_or_panic", "merlin", "rand_core 0.6.4", @@ -12234,9 +13074,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scratch" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" +checksum = "9f6280af86e5f559536da57a45ebc84948833b3bee313a7dd25232e09c878a52" [[package]] name = "sct" @@ -12244,25 +13084,10 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "untrusted 0.9.0", ] -[[package]] -name = "sctp-proto" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6220f78bb44c15f326b0596113305f6101097a18755d53727a575c97e09fb24" -dependencies = [ - "bytes", - "crc", - "fxhash", - "log", - "rand 0.8.5", - "slab", - "thiserror", -] - [[package]] name = "sec1" version = "0.7.3" @@ -12287,13 +13112,31 @@ dependencies = [ "libc", ] +[[package]] +name = "secp256k1" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" +dependencies = [ + "secp256k1-sys 0.8.1", +] + [[package]] name = "secp256k1" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ - "secp256k1-sys", + "secp256k1-sys 0.9.2", +] + +[[package]] +name = "secp256k1-sys" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +dependencies = [ + "cc", ] [[package]] @@ -12316,12 +13159,26 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.9.0", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "num-bigint", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.5.0", - "core-foundation", + "bitflags 2.9.0", + "core-foundation 0.10.0", "core-foundation-sys", "libc", "security-framework-sys", @@ -12329,9 +13186,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -12348,9 +13205,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] @@ -12361,51 +13218,58 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" -version = "1.0.204" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -12422,9 +13286,9 @@ dependencies = [ [[package]] name = "serial_test" -version = "0.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92761393ee4dc3ff8f4af487bd58f4307c9329bbedea02cac0089ad9c411e153" +checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" dependencies = [ "dashmap", "lazy_static", @@ -12434,14 +13298,13 @@ dependencies = [ [[package]] name = "serial_test_derive" -version = "0.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6f5d1c3087fb119617cff2966fe3808a80e5eb59a8c1601d5994d66f4346a5" +checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -12457,18 +13320,6 @@ dependencies = [ "opaque-debug 0.3.1", ] -[[package]] -name = "sha-1" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", - "sha1-asm", -] - [[package]] name = "sha1" version = "0.10.6" @@ -12480,15 +13331,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "sha1-asm" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "286acebaf8b67c1130aedffad26f594eff0c1292389158135327d2e23aed582b" -dependencies = [ - "cc", -] - [[package]] name = "sha2" version = "0.9.9" @@ -12547,12 +13389,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "signature" version = "2.2.0" @@ -12565,9 +13401,9 @@ dependencies = [ [[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", @@ -12578,11 +13414,11 @@ dependencies = [ [[package]] name = "simple-dns" -version = "0.5.7" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cae9a3fcdadafb6d97f4c0e007e4247b114ee0f119f650c3cbf3a8b3a1479694" +checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.9.0", ] [[package]] @@ -12597,6 +13433,12 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "slab" version = "0.4.9" @@ -12614,14 +13456,13 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "enumn", "parity-scale-codec", "paste", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -12635,9 +13476,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" [[package]] name = "smol" @@ -12647,41 +13488,113 @@ checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" dependencies = [ "async-channel 1.9.0", "async-executor", - "async-fs", + "async-fs 1.6.0", "async-io 1.13.0", "async-lock 2.8.0", - "async-net", - "async-process", + "async-net 1.8.0", + "async-process 1.8.1", + "blocking", + "futures-lite 1.13.0", +] + +[[package]] +name = "smol" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f" +dependencies = [ + "async-channel 2.3.1", + "async-executor", + "async-fs 2.1.2", + "async-io 2.4.0", + "async-lock 3.4.0", + "async-net 2.0.0", + "async-process 2.3.0", "blocking", + "futures-lite 2.6.0", +] + +[[package]] +name = "smoldot" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0bb30cf57b7b5f6109ce17c3164445e2d6f270af2cb48f6e4d31c2967c9a9f5" +dependencies = [ + "arrayvec 0.7.6", + "async-lock 2.8.0", + "atomic-take", + "base64 0.21.7", + "bip39", + "blake2-rfc", + "bs58", + "chacha20", + "crossbeam-queue", + "derive_more 0.99.19", + "ed25519-zebra", + "either", + "event-listener 2.5.3", + "fnv", "futures-lite 1.13.0", + "futures-util", + "hashbrown 0.14.5", + "hex", + "hmac 0.12.1", + "itertools 0.11.0", + "libsecp256k1", + "merlin", + "no-std-net", + "nom", + "num-bigint", + "num-rational", + "num-traits", + "pbkdf2", + "pin-project", + "poly1305", + "rand 0.8.5", + "rand_chacha 0.3.1", + "ruzstd 0.4.0", + "schnorrkel 0.10.2", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "siphasher 0.3.11", + "slab", + "smallvec", + "soketto 0.7.1", + "twox-hash", + "wasmi", + "x25519-dalek", + "zeroize", ] [[package]] name = "smoldot" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0bb30cf57b7b5f6109ce17c3164445e2d6f270af2cb48f6e4d31c2967c9a9f5" +checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" dependencies = [ - "arrayvec 0.7.4", - "async-lock 2.8.0", + "arrayvec 0.7.6", + "async-lock 3.4.0", "atomic-take", "base64 0.21.7", "bip39", "blake2-rfc", - "bs58 0.5.1", + "bs58", "chacha20", "crossbeam-queue", - "derive_more", + "derive_more 0.99.19", "ed25519-zebra", "either", - "event-listener 2.5.3", + "event-listener 4.0.3", "fnv", - "futures-lite 1.13.0", + "futures-lite 2.6.0", "futures-util", "hashbrown 0.14.5", "hex", "hmac 0.12.1", - "itertools 0.11.0", + "itertools 0.12.1", + "libm", "libsecp256k1", "merlin", "no-std-net", @@ -12694,19 +13607,19 @@ dependencies = [ "poly1305", "rand 0.8.5", "rand_chacha 0.3.1", - "ruzstd", - "schnorrkel 0.10.2", + "ruzstd 0.5.0", + "schnorrkel 0.11.4", "serde", "serde_json", "sha2 0.10.8", "sha3", - "siphasher", + "siphasher 1.0.1", "slab", "smallvec", - "soketto", + "soketto 0.7.1", "twox-hash", "wasmi", - "x25519-dalek 2.0.1", + "x25519-dalek", "zeroize", ] @@ -12720,7 +13633,7 @@ dependencies = [ "async-lock 2.8.0", "base64 0.21.7", "blake2-rfc", - "derive_more", + "derive_more 0.99.19", "either", "event-listener 2.5.3", "fnv", @@ -12739,10 +13652,46 @@ dependencies = [ "rand_chacha 0.3.1", "serde", "serde_json", - "siphasher", + "siphasher 0.3.11", + "slab", + "smol 1.3.0", + "smoldot 0.11.0", + "zeroize", +] + +[[package]] +name = "smoldot-light" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7" +dependencies = [ + "async-channel 2.3.1", + "async-lock 3.4.0", + "base64 0.21.7", + "blake2-rfc", + "derive_more 0.99.19", + "either", + "event-listener 4.0.3", + "fnv", + "futures-channel", + "futures-lite 2.6.0", + "futures-util", + "hashbrown 0.14.5", + "hex", + "itertools 0.12.1", + "log", + "lru 0.12.5", + "no-std-net", + "parking_lot 0.12.3", + "pin-project", + "rand 0.8.5", + "rand_chacha 0.3.1", + "serde", + "serde_json", + "siphasher 1.0.1", "slab", - "smol", - "smoldot", + "smol 2.0.2", + "smoldot 0.16.0", "zeroize", ] @@ -12761,9 +13710,9 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "rand_core 0.6.4", - "ring 0.17.8", + "ring 0.17.14", "rustc_version", "sha2 0.10.8", "subtle 2.6.1", @@ -12781,9 +13730,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" dependencies = [ "libc", "windows-sys 0.52.0", @@ -12797,68 +13746,81 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", "bytes", - "flate2", "futures", - "http", "httparse", "log", "rand 0.8.5", - "sha-1 0.9.8", + "sha-1", +] + +[[package]] +name = "soketto" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures", + "http 1.3.1", + "httparse", + "log", + "rand 0.8.5", + "sha1", ] [[package]] name = "sp-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "docify", "hash-db", "log", "parity-scale-codec", "scale-info", "sp-api-proc-macro", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-metadata-ir", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", "sp-version", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sp-api-proc-macro" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "Inflector", "blake2 0.10.6", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "sp-application-crypto" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "sp-arithmetic" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "docify", "integer-sqrt", @@ -12866,32 +13828,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "static_assertions", ] -[[package]] -name = "sp-ark-bls12-381" -version = "0.4.2" -source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" -dependencies = [ - "ark-bls12-381-ext", - "sp-crypto-ec-utils", -] - -[[package]] -name = "sp-ark-ed-on-bls12-381-bandersnatch" -version = "0.4.2" -source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" -dependencies = [ - "ark-ed-on-bls12-381-bandersnatch-ext", - "sp-crypto-ec-utils", -] - [[package]] name = "sp-authority-discovery" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", @@ -12902,8 +13845,8 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "sp-api", "sp-inherents", @@ -12912,26 +13855,27 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "futures", - "log", "parity-scale-codec", "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", + "sp-core", "sp-database", "sp-runtime", "sp-state-machine", - "thiserror", + "thiserror 1.0.69", + "tracing", ] [[package]] name = "sp-consensus" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.41.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "futures", @@ -12940,13 +13884,13 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sp-consensus-aura" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.41.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "parity-scale-codec", @@ -12961,8 +13905,8 @@ dependencies = [ [[package]] name = "sp-consensus-babe" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.41.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "parity-scale-codec", @@ -12979,28 +13923,28 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "lazy_static", "parity-scale-codec", "scale-info", "serde", "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-io", "sp-keystore", "sp-mmr-primitives", "sp-runtime", - "strum 0.26.2", + "sp-weights", + "strum 0.26.3", ] [[package]] name = "sp-consensus-grandpa" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "finality-grandpa", "log", @@ -13016,8 +13960,8 @@ dependencies = [ [[package]] name = "sp-consensus-slots" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.41.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", @@ -13027,21 +13971,20 @@ dependencies = [ [[package]] name = "sp-core" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", - "bandersnatch_vrfs", "bitflags 1.3.2", "blake2 0.10.6", "bounded-collections", - "bs58 0.5.1", + "bs58", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "impl-serde", + "impl-serde 0.5.0", "itertools 0.11.0", "k256", "libsecp256k1", @@ -13051,51 +13994,45 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "paste", - "primitive-types", + "primitive-types 0.13.1", "rand 0.8.5", "scale-info", "schnorrkel 0.11.4", - "secp256k1", + "secp256k1 0.28.2", "secrecy", "serde", - "sp-crypto-hashing", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", "substrate-bip39", - "thiserror", + "thiserror 1.0.69", "tracing", "w3f-bls", "zeroize", ] [[package]] -name = "sp-crypto-ec-utils" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" +name = "sp-crypto-hashing" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" dependencies = [ - "ark-bls12-377", - "ark-bls12-377-ext", - "ark-bls12-381", - "ark-bls12-381-ext", - "ark-bw6-761", - "ark-bw6-761-ext", - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ed-on-bls12-377-ext", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ed-on-bls12-381-bandersnatch-ext", - "ark-scale", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "blake2b_simd", + "byteorder", + "digest 0.10.7", + "sha2 0.10.8", + "sha3", + "twox-hash", ] [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "blake2b_simd", "byteorder", @@ -13108,17 +14045,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "quote", - "sp-crypto-hashing", - "syn 2.0.66", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "syn 2.0.100", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -13127,47 +14064,27 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "sp-debug-derive" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", -] - -[[package]] -name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" +version = "0.30.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-storage", ] [[package]] name = "sp-genesis-builder" -version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", @@ -13178,38 +14095,38 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sp-io" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bytes", - "ed25519-dalek 2.1.1", + "docify", + "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", "polkavm-derive", "rustversion", - "secp256k1", + "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-externalities", "sp-keystore", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "sp-trie", "tracing", "tracing-core", @@ -13217,48 +14134,48 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "sp-core", "sp-runtime", - "strum 0.26.2", + "strum 0.26.3", ] [[package]] name = "sp-keystore" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.41.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "thiserror", + "thiserror 1.0.69", "zstd 0.12.4", ] [[package]] name = "sp-metadata-ir" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.8.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "frame-metadata", + "frame-metadata 18.0.0", "parity-scale-codec", "scale-info", ] [[package]] name = "sp-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.13.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", @@ -13268,8 +14185,8 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "log", "parity-scale-codec", @@ -13278,15 +14195,15 @@ dependencies = [ "serde", "sp-api", "sp-core", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", "sp-runtime", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sp-npos-elections" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", @@ -13298,8 +14215,8 @@ dependencies = [ [[package]] name = "sp-offchain" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "sp-api", "sp-core", @@ -13308,29 +14225,29 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "13.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "backtrace", - "lazy_static", "regex", ] [[package]] name = "sp-rpc" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "33.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "rustc-hash", + "rustc-hash 1.1.0", "serde", "sp-core", ] [[package]] name = "sp-runtime" -version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "binary-merkle-tree", "docify", "either", "hash256-std-hasher", @@ -13347,78 +14264,49 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", + "sp-trie", "sp-weights", + "tracing", + "tuplex", ] [[package]] name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkavm-derive", - "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive", - "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "primitive-types 0.13.1", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "Inflector", - "expander", - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "Inflector", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "sp-session" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "scale-info", @@ -13431,8 +14319,8 @@ dependencies = [ [[package]] name = "sp-staking" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -13444,8 +14332,8 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "hash-db", "log", @@ -13454,22 +14342,22 @@ dependencies = [ "rand 0.8.5", "smallvec", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-panic-handler", "sp-trie", - "thiserror", + "thiserror 1.0.69", "tracing", "trie-db", ] [[package]] name = "sp-statement-store" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" 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", @@ -13478,75 +14366,47 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-externalities", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "thiserror", - "x25519-dalek 2.0.1", + "sp-runtime-interface", + "thiserror 1.0.69", + "x25519-dalek", ] [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" - -[[package]] -name = "sp-std" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" - -[[package]] -name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", -] +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" [[package]] name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "impl-serde", + "impl-serde 0.5.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-debug-derive", ] [[package]] name = "sp-timestamp" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", "sp-runtime", - "thiserror", -] - -[[package]] -name = "sp-tracing" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "parity-scale-codec", - "tracing", - "tracing-core", - "tracing-subscriber", + "thiserror 1.0.69", ] [[package]] name = "sp-tracing" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", "tracing", @@ -13556,8 +14416,8 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "sp-api", "sp-runtime", @@ -13565,8 +14425,8 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "async-trait", "parity-scale-codec", @@ -13579,12 +14439,11 @@ dependencies = [ [[package]] name = "sp-trie" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "ahash", "hash-db", - "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -13593,8 +14452,8 @@ dependencies = [ "scale-info", "schnellru", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "thiserror", + "sp-externalities", + "thiserror 1.0.69", "tracing", "trie-db", "trie-root", @@ -13602,36 +14461,37 @@ dependencies = [ [[package]] name = "sp-version" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "impl-serde", + "impl-serde 0.5.0", "parity-scale-codec", "parity-wasm", "scale-info", "serde", "sp-crypto-hashing-proc-macro", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-version-proc-macro", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "sp-version-proc-macro" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "parity-scale-codec", + "proc-macro-warning 1.84.1", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -13640,20 +14500,10 @@ dependencies = [ "wasmtime", ] -[[package]] -name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#776e95748901b50ff2833a7d27ea83fd91fbf9d1" -dependencies = [ - "impl-trait-for-tuples", - "log", - "parity-scale-codec", -] - [[package]] name = "sp-weights" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -13661,7 +14511,7 @@ dependencies = [ "serde", "smallvec", "sp-arithmetic", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", ] [[package]] @@ -13697,9 +14547,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.47.0" +version = "1.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4743ce898933fbff7bbf414f497c459a782d496269644b3d650a398ae6a487ba" +checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" dependencies = [ "Inflector", "num-format", @@ -13718,8 +14568,8 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -13727,36 +14577,39 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "staging-xcm" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "bounded-collections", "derivative", "environmental", + "frame-support", + "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", "serde", + "sp-runtime", "sp-weights", "xcm-procedural", ] [[package]] name = "staging-xcm-builder" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "log", + "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", "polkadot-parachain-primitives", @@ -13764,7 +14617,6 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", "staging-xcm", "staging-xcm-executor", @@ -13772,23 +14624,22 @@ dependencies = [ [[package]] name = "staging-xcm-executor" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", - "log", "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", "staging-xcm", + "tracing", ] [[package]] @@ -13804,7 +14655,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" dependencies = [ "bitflags 1.3.2", - "cfg_aliases", + "cfg_aliases 0.1.1", "libc", "parking_lot 0.11.2", "parking_lot_core 0.8.6", @@ -13814,11 +14665,11 @@ dependencies = [ [[package]] name = "static_init_macro" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" +checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" dependencies = [ - "cfg_aliases", + "cfg_aliases 0.1.1", "memchr", "proc-macro2", "quote", @@ -13826,37 +14677,10 @@ dependencies = [ ] [[package]] -name = "str0m" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6706347e49b13373f7ddfafad47df7583ed52083d6fc8a594eb2c80497ef959d" -dependencies = [ - "combine", - "crc", - "fastrand 2.1.0", - "hmac 0.12.1", - "once_cell", - "openssl", - "openssl-sys", - "sctp-proto", - "serde", - "sha-1 0.10.1", - "thiserror", - "tracing", -] - -[[package]] -name = "strobe-rs" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "keccak", - "subtle 2.6.1", - "zeroize", -] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" @@ -13872,9 +14696,9 @@ 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.4", ] @@ -13902,13 +14726,13 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "substrate-bip39" -version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -13920,16 +14744,17 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" [[package]] name = "substrate-frame-rpc-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "42.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ + "docify", "frame-system-rpc-runtime-api", "futures", - "jsonrpsee", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "sc-rpc-api", @@ -13943,22 +14768,24 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" -version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "hyper", + "http-body-util", + "hyper 1.6.0", + "hyper-util", "log", "prometheus", - "thiserror", + "thiserror 1.0.69", "tokio", ] [[package]] name = "substrate-state-trie-migration-rpc" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "41.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ - "jsonrpsee", + "jsonrpsee 0.24.9", "parity-scale-codec", "sc-client-api", "sc-rpc-api", @@ -13972,28 +14799,30 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "array-bytes", "build-helper", "cargo_metadata", "console", "filetime", - "frame-metadata", + "frame-metadata 18.0.0", + "jobserver", "merkleized-metadata", "parity-scale-codec", "parity-wasm", "polkavm-linker", "sc-executor", + "shlex", "sp-core", "sp-io", "sp-maybe-compressed-blob", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "sp-version", - "strum 0.26.2", + "strum 0.26.3", "tempfile", - "toml 0.8.14", + "toml 0.8.20", "walkdir", "wasm-opt", ] @@ -14016,6 +14845,159 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" +[[package]] +name = "subxt" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a160cba1edbf3ec4fbbeaea3f1a185f70448116a6bccc8276bb39adb3b3053bd" +dependencies = [ + "async-trait", + "derive-where", + "either", + "frame-metadata 16.0.0", + "futures", + "hex", + "impl-serde 0.4.0", + "instant", + "jsonrpsee 0.22.5", + "parity-scale-codec", + "primitive-types 0.12.2", + "reconnecting-jsonrpsee-ws-client", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-core", + "subxt-lightclient", + "subxt-macro", + "subxt-metadata", + "thiserror 1.0.69", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "subxt-codegen" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d703dca0905cc5272d7cc27a4ac5f37dcaae7671acc7fef0200057cc8c317786" +dependencies = [ + "frame-metadata 16.0.0", + "heck 0.5.0", + "hex", + "jsonrpsee 0.22.5", + "parity-scale-codec", + "proc-macro2", + "quote", + "scale-info", + "scale-typegen", + "subxt-metadata", + "syn 2.0.100", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "subxt-core" +version = "0.37.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af3b36405538a36b424d229dc908d1396ceb0994c90825ce928709eac1a159a" +dependencies = [ + "base58", + "blake2 0.10.6", + "derive-where", + "frame-metadata 16.0.0", + "hashbrown 0.14.5", + "hex", + "impl-serde 0.4.0", + "parity-scale-codec", + "primitive-types 0.12.2", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-metadata", + "tracing", +] + +[[package]] +name = "subxt-lightclient" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d9406fbdb9548c110803cb8afa750f8b911d51eefdf95474b11319591d225d9" +dependencies = [ + "futures", + "futures-util", + "serde", + "serde_json", + "smoldot-light 0.14.0", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "subxt-macro" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c195f803d70687e409aba9be6c87115b5da8952cd83c4d13f2e043239818fcd" +dependencies = [ + "darling 0.20.11", + "parity-scale-codec", + "proc-macro-error", + "quote", + "scale-typegen", + "subxt-codegen", + "syn 2.0.100", +] + +[[package]] +name = "subxt-metadata" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "738be5890fdeff899bbffff4d9c0f244fe2a952fb861301b937e3aa40ebb55da" +dependencies = [ + "frame-metadata 16.0.0", + "hashbrown 0.14.5", + "parity-scale-codec", + "scale-info", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "subxt-signer" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49888ae6ae90fe01b471193528eea5bd4ed52d8eecd2d13f4a2333b87388850" +dependencies = [ + "bip32", + "bip39", + "cfg-if", + "hex", + "hmac 0.12.1", + "keccak-hash", + "parity-scale-codec", + "pbkdf2", + "regex", + "schnorrkel 0.11.4", + "secp256k1 0.28.2", + "secrecy", + "sha2 0.10.8", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-core", + "zeroize", +] + [[package]] name = "syn" version = "1.0.109" @@ -14029,9 +15011,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -14050,22 +15032,33 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[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", - "core-foundation", + "bitflags 2.9.0", + "core-foundation 0.9.4", "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", @@ -14081,7 +15074,7 @@ dependencies = [ "serde_json", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -14092,20 +15085,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "cfg-if", - "fastrand 2.1.0", - "rustix 0.38.34", - "windows-sys 0.52.0", + "fastrand 2.3.0", + "getrandom 0.3.2", + "once_cell", + "rustix 1.0.5", + "windows-sys 0.59.0", ] [[package]] @@ -14119,27 +15113,36 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.3.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" dependencies = [ - "rustix 0.38.34", - "windows-sys 0.48.0", + "rustix 1.0.5", + "windows-sys 0.59.0", ] [[package]] name = "termtree" -version = "0.4.1" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" + +[[package]] +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] [[package]] name = "thiserror" -version = "1.0.61" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl", + "thiserror-impl 2.0.12", ] [[package]] @@ -14159,18 +15162,29 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -14198,19 +15212,6 @@ dependencies = [ "num_cpus", ] -[[package]] -name = "thrift" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b82ca8f46f95b3ce96081fe3dd89160fdea970c254bb72925255d1b62aae692e" -dependencies = [ - "byteorder", - "integer-encoding", - "log", - "ordered-float", - "threadpool", -] - [[package]] name = "tikv-jemalloc-ctl" version = "0.5.4" @@ -14234,9 +15235,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -14249,15 +15250,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -14272,11 +15273,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.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -14289,32 +15300,31 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "parking_lot 0.12.3", - "pin-project-lite 0.2.14", + "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2 0.5.9", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -14338,44 +15348,55 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +dependencies = [ + "rustls 0.23.26", + "tokio", +] + [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", "tokio-util", ] [[package]] name = "tokio-tungstenite" -version = "0.20.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.21.12", - "rustls-native-certs 0.6.3", + "rustls 0.23.26", + "rustls-native-certs 0.8.1", + "rustls-pki-types", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.26.2", "tungstenite", ] [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", ] @@ -14390,58 +15411,36 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.14" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow", ] [[package]] @@ -14453,7 +15452,7 @@ dependencies = [ "futures-core", "futures-util", "pin-project", - "pin-project-lite 0.2.14", + "pin-project-lite", "tower-layer", "tower-service", "tracing", @@ -14461,62 +15460,60 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.9.0", "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "pin-project-lite 0.2.14", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "pin-project-lite", "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 0.2.14", + "pin-project-lite", "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.66", + "syn 2.0.100", ] [[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", @@ -14534,8 +15531,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "coarsetime", "polkadot-primitives", @@ -14546,13 +15543,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] @@ -14568,9 +15565,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", @@ -14626,7 +15623,7 @@ dependencies = [ "rand 0.8.5", "smallvec", "socket2 0.4.10", - "thiserror", + "thiserror 1.0.69", "tinyvec", "tokio", "tracing", @@ -14642,7 +15639,7 @@ 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", @@ -14651,33 +15648,13 @@ dependencies = [ "once_cell", "rand 0.8.5", "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" @@ -14693,7 +15670,7 @@ dependencies = [ "rand 0.8.5", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "trust-dns-proto 0.23.2", @@ -14713,24 +15690,30 @@ checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "tungstenite" -version = "0.20.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "byteorder", "bytes", "data-encoding", - "http", + "http 1.3.1", "httparse", "log", - "rand 0.8.5", - "rustls 0.21.12", + "rand 0.9.0", + "rustls 0.23.26", + "rustls-pki-types", "sha1", - "thiserror", + "thiserror 2.0.12", "url", "utf-8", ] +[[package]] +name = "tuplex" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa" + [[package]] name = "twox-hash" version = "1.6.3" @@ -14745,32 +15728,53 @@ dependencies = [ [[package]] name = "typed-builder" -version = "0.10.0" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06fbd5b8de54c5f7c91f6fe4cebb949be2125d7758e630bb58b1d831dbce600" +dependencies = [ + "typed-builder-macro", +] + +[[package]] +name = "typed-builder-macro" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89851716b67b937e393b3daa8423e67ddfc4bbbf1654bcf05488e95e0828db0c" +checksum = "f9534daa9fd3ed0bd911d462a37f172228077e7abf18c18a5f67199d959205f8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "uint" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] [[package]] name = "uint" -version = "0.9.5" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e" dependencies = [ "byteorder", "crunchy", @@ -14778,17 +15782,23 @@ 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.15" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-normalization" @@ -14799,17 +15809,23 @@ 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.13" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -14831,7 +15847,6 @@ dependencies = [ "bytes", "futures-io", "futures-util", - "tokio-util", ] [[package]] @@ -14839,6 +15854,10 @@ name = "unsigned-varint" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" +dependencies = [ + "bytes", + "tokio-util", +] [[package]] name = "untrusted" @@ -14854,12 +15873,12 @@ 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", ] @@ -14869,6 +15888,18 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +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 = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -14877,18 +15908,18 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.8.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" dependencies = [ "serde", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -14898,9 +15929,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" @@ -14910,9 +15941,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "w3f-bls" -version = "0.1.4" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" +checksum = "e6bfb937b3d12077654a9e43e32a4e9c20177dd9fea0f3aba673e7840bb54f32" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -14921,14 +15952,12 @@ dependencies = [ "ark-serialize", "ark-serialize-derive", "arrayref", - "constcat", "digest 0.10.7", "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", "sha2 0.10.8", "sha3", - "thiserror", "zeroize", ] @@ -14959,15 +15988,18 @@ dependencies = [ [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] [[package]] name = "wasix" @@ -14980,46 +16012,48 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -15027,22 +16061,25 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-instrument" @@ -15064,7 +16101,7 @@ dependencies = [ "strum 0.24.1", "strum_macros 0.24.3", "tempfile", - "thiserror", + "thiserror 1.0.69", "wasm-opt-cxx-sys", "wasm-opt-sys", ] @@ -15231,7 +16268,7 @@ dependencies = [ "log", "object 0.30.4", "target-lexicon", - "thiserror", + "thiserror 1.0.69", "wasmparser", "wasmtime-cranelift-shared", "wasmtime-environ", @@ -15266,7 +16303,7 @@ dependencies = [ "object 0.30.4", "serde", "target-lexicon", - "thiserror", + "thiserror 1.0.69", "wasmparser", "wasmtime-types", ] @@ -15349,15 +16386,25 @@ checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" dependencies = [ "cranelift-entity", "serde", - "thiserror", + "thiserror 1.0.69", "wasmparser", ] [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -15369,23 +16416,38 @@ version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "untrusted 0.9.0", ] +[[package]] +name = "webpki-root-certs" +version = "0.26.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ - "webpki", + "rustls-pki-types", ] [[package]] name = "westend-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "binary-merkle-tree", "bitvec", @@ -15421,6 +16483,7 @@ dependencies = [ "pallet-indices", "pallet-membership", "pallet-message-queue", + "pallet-migrations", "pallet-mmr", "pallet-multisig", "pallet-nomination-pools", @@ -15428,6 +16491,7 @@ dependencies = [ "pallet-nomination-pools-runtime-api", "pallet-offences", "pallet-offences-benchmarking", + "pallet-parameters", "pallet-preimage", "pallet-proxy", "pallet-recovery", @@ -15438,14 +16502,13 @@ dependencies = [ "pallet-session-benchmarking", "pallet-society", "pallet-staking", - "pallet-staking-reward-curve", "pallet-staking-runtime-api", "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", + "pallet-treasury 38.1.0", "pallet-utility", "pallet-vesting", "pallet-whitelist", @@ -15456,10 +16519,10 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-parachains", - "rustc-hex", "scale-info", "serde", "serde_derive", + "serde_json", "smallvec", "sp-api", "sp-application-crypto", @@ -15468,18 +16531,19 @@ dependencies = [ "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", + "sp-consensus-grandpa", "sp-core", "sp-genesis-builder", "sp-inherents", "sp-io", + "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -15487,13 +16551,13 @@ dependencies = [ "staging-xcm-executor", "substrate-wasm-builder", "westend-runtime-constants", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] name = "westend-runtime-constants" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "polkadot-primitives", @@ -15506,23 +16570,11 @@ dependencies = [ "staging-xcm-builder", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix 0.38.34", -] - [[package]] name = "wide" -version = "0.7.24" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a040b111774ab63a19ef46bbc149398ab372b4ccdcfd719e9814dbd7dfd76c8" +checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" dependencies = [ "bytemuck", "safe_arch", @@ -15530,9 +16582,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" +checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" [[package]] name = "winapi" @@ -15552,11 +16604,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -15567,45 +16619,90 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.51.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538" dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", + "windows-core 0.53.0", + "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 0.1.2", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.52.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" dependencies = [ - "windows-targets 0.52.5", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result 0.3.2", + "windows-strings", ] [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows-implement" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[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]] +name = "windows-result" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +dependencies = [ + "windows-link", ] [[package]] @@ -15632,7 +16729,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "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]] @@ -15667,18 +16773,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "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.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "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]] @@ -15695,9 +16801,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -15713,9 +16819,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -15731,15 +16837,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -15755,9 +16861,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -15773,9 +16879,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -15791,9 +16897,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -15809,24 +16915,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winnow" -version = "0.5.40" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.13" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10" dependencies = [ "memchr", ] @@ -15842,23 +16939,33 @@ dependencies = [ ] [[package]] -name = "wyz" -version = "0.5.1" +name = "wit-bindgen-rt" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "tap", + "bitflags 2.9.0", ] [[package]] -name = "x25519-dalek" -version = "1.1.1" +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" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.5.1", - "zeroize", + "tap", ] [[package]] @@ -15867,7 +16974,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.3", + "curve25519-dalek", "rand_core 0.6.4", "serde", "zeroize", @@ -15875,84 +16982,120 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.14.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" dependencies = [ - "asn1-rs", - "base64 0.13.1", + "asn1-rs 0.5.2", "data-encoding", - "der-parser", + "der-parser 8.2.0", "lazy_static", "nom", - "oid-registry", + "oid-registry 0.6.1", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] [[package]] name = "x509-parser" -version = "0.15.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" +checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" dependencies = [ - "asn1-rs", + "asn1-rs 0.7.1", "data-encoding", - "der-parser", + "der-parser 10.0.0", "lazy_static", "nom", - "oid-registry", + "oid-registry 0.8.1", "rusticata-macros", - "thiserror", + "thiserror 2.0.12", "time", ] [[package]] -name = "xcm-fee-payment-runtime-api" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +name = "xcm-procedural" +version = "11.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "xcm-runtime-apis" +version = "0.5.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#f940746b2a5098b732f89653288f40a2da885cb1" dependencies = [ "frame-support", "parity-scale-codec", "scale-info", "sp-api", - "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", "staging-xcm", + "staging-xcm-executor", ] [[package]] -name = "xcm-procedural" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +name = "xml-rs" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" + +[[package]] +name = "xmltree" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.66", + "xml-rs", ] [[package]] name = "yamux" -version = "0.10.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" +checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" dependencies = [ "futures", "log", "nohash-hasher", "parking_lot 0.12.3", + "pin-project", + "rand 0.8.5", + "static_assertions", +] + +[[package]] +name = "yamux" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17610762a1207ee816c6fadc29220904753648aba0a9ed61c7b8336e80a559c4" +dependencies = [ + "futures", + "log", + "nohash-hasher", + "parking_lot 0.12.3", + "pin-project", "rand 0.8.5", "static_assertions", + "web-time", ] [[package]] name = "yansi" -version = "0.5.1" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + +[[package]] +name = "yap" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "ff4524214bc4629eba08d78ceb1d6507070cc0bcbbed23af74e19e6e924a24cf" [[package]] name = "yasna" @@ -15963,45 +17106,89 @@ 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.100", + "synstructure 0.13.1", +] + [[package]] name = "zerocopy" -version = "0.6.6" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "byteorder", - "zerocopy-derive 0.6.6", + "zerocopy-derive 0.7.35", ] [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" dependencies = [ - "zerocopy-derive 0.7.34", + "zerocopy-derive 0.8.24", ] [[package]] name = "zerocopy-derive" -version = "0.6.6" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", + "synstructure 0.13.1", ] [[package]] @@ -16021,7 +17208,29 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.100", +] + +[[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.100", ] [[package]] @@ -16064,9 +17273,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.15+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index a589e13568..23984a9080 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,101 +9,106 @@ members = [ ] resolver = "2" +[patch.crates-io] +cid = { git="https://github.com/multiformats/rust-cid", tag ="v0.10.1" } + [workspace.dependencies] log = { version = "0.4.17", default-features = false } -env_logger = "0.10.0" +env_logger = "0.11.7" twox-hash = { version = "1.6.3", default-features = false, features = [ "digest_0_10", ] } -thiserror = "1.0.40" -apache-avro = { version = "0.14.0", default-features = false } -rand = "0.8.5" +thiserror = "2.0.12" +apache-avro = { version = "0.17.0", default-features = false } +rand = "0.9.0" parking_lot = "0.12.1" # substrate wasm parity-scale-codec = { version = "3.6.12", default-features = false } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } scale-info = { version = "2.10.0", default-features = false, features = [ "derive", ] } -sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } chrono = { version = "0.4.24" } pretty_assertions = { version = "1.3.0" } smallvec = "1.11.0" numtoa = "0.2.4" enumflags2 = "0.7.7" +docify = "0.2.8" +impl-trait-for-tuples = "0.2.2" serde = { version = "1.0", default-features = false } -serial_test = { version = "0.9.0", default-features = false } +serde_json = { version = "1.0", default-features = false } +serial_test = { version = "2.0.0", default-features = false } base64-url = { version = "3.0.0", default-features = false } p256 = { version = "0.13.2", default-features = false, features = ["ecdsa"] } libsecp256k1 = { version = "0.7", default-features = false } # substrate pallets -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } # polkadot -polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } +polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } # cumulus -cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } +cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-primitives-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-primitives-storage-weight-reclaim = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +cumulus-primitives-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +cumulus-primitives-storage-weight-reclaim = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } # client derive_more = "0.99.17" @@ -111,56 +116,55 @@ futures = "0.3.25" hex = { version = "0.4.3", default-features = false } hex-literal = "0.4.1" impl-serde = { version = "0.4.0", default-features = false } -jsonrpsee = { version = "0.22.5", default-features = false } +jsonrpsee = { version = "0.24.3", default-features = false } oorandom = "11.1.3" phf = { version = "0.11", default-features = false, features = ["macros"] } rayon = "1.5.3" -serde_json = { version = "1.0.86", default-features = false } tokio = { version = "1.25.0", default-features = false } unicode-normalization = { version = "0.1.22", default-features = false } clap = { version = "4.2.5", features = ["derive"] } static_assertions = { version = "1.1.0", default-features = false } -sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false} -sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false} -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-wasm-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -substrate-test-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } +sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false} +sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false} +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-network-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } +sp-wasm-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +substrate-test-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } +sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412", default-features = false } [profile.release] panic = "unwind" diff --git a/Makefile b/Makefile index 5ef6736a9e..d765c1ca6b 100644 --- a/Makefile +++ b/Makefile @@ -140,7 +140,8 @@ benchmarks-pallet_session \ benchmarks-pallet_timestamp \ benchmarks-pallet_treasury \ benchmarks-pallet_utility \ -benchmarks-pallet_proxy +benchmarks-pallet_proxy \ +benchmarks-pallet_transaction_payment BENCH_LOCAL_TARGETS=\ benchmarks-messages-local \ @@ -163,7 +164,8 @@ benchmarks-pallet_session-local \ benchmarks-pallet_timestamp-local \ benchmarks-pallet_treasury-local \ benchmarks-pallet_utility-local \ -benchmarks-pallet_proxy-local +benchmarks-pallet_proxy-local \ +benchmarks-pallet_transaction_payment-local .PHONY: benchmarks benchmarks: @@ -215,7 +217,7 @@ check-no-relay: SKIP_WASM_BUILD= cargo check --features frequency-no-relay check-local: - SKIP_WASM_BUILD= cargo check --features frequency-paseo-local + SKIP_WASM_BUILD= cargo check --features frequency-local check-testnet: SKIP_WASM_BUILD= cargo check --features frequency-testnet diff --git a/README.md b/README.md index e3f2e9924a..5c5767b252 100644 --- a/README.md +++ b/README.md @@ -320,7 +320,7 @@ make start-frequency-with-offchain 1. Check out the commit at which the runtime was built. 2. Use [srtool](https://github.com/paritytech/srtool) and [srtool-cli](https://github.com/chevdor/srtool-cli) to verify the runtime: ```sh - SRTOOL_TAG="1.77.0" srtool build \ + SRTOOL_TAG="1.81.0" srtool build \ --build-opts="'--features on-chain-release-build,no-metadata-docs,frequency'" \ --profile=release \ --package=frequency-runtime \ diff --git a/common/primitives/Cargo.toml b/common/primitives/Cargo.toml index ce363befaf..93b42ed311 100644 --- a/common/primitives/Cargo.toml +++ b/common/primitives/Cargo.toml @@ -36,18 +36,21 @@ log = "0.4.22" [features] default = ['std'] runtime-benchmarks = [] +serde = [] std = [ - 'libsecp256k1/std', 'parity-scale-codec/std', 'frame-support/std', 'frame-system/std', - 'sp-std/std', - 'sp-api/std', + 'impl-serde/std', 'scale-info/std', + 'serde_json/std', + 'sp-api/std', + 'sp-io/std', 'sp-core/std', 'sp-runtime/std', - 'sp-io/std', + 'sp-std/std', 'sp-externalities/std', - 'sp-runtime-interface/std' + 'sp-runtime-interface/std', + 'libsecp256k1/std', ] test = [] diff --git a/common/primitives/src/capacity.rs b/common/primitives/src/capacity.rs index 87ecc3aa3d..d253467e33 100644 --- a/common/primitives/src/capacity.rs +++ b/common/primitives/src/capacity.rs @@ -28,6 +28,9 @@ pub trait Nontransferable { /// The available Capacity for an MSA. fn balance(msa_id: MessageSourceId) -> Self::Balance; + /// The replenishable Capacity for an MSA (the total capacity currently issued) + fn replenishable_balance(msa_id: MessageSourceId) -> Self::Balance; + /// Reduce Capacity of an MSA by amount. fn deduct(msa_id: MessageSourceId, capacity_amount: Self::Balance) -> Result<(), DispatchError>; diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 35cffefd58..6a431215aa 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -25,6 +25,7 @@ services: --rpc-external --rpc-cors=all --rpc-methods=Unsafe + --pool-type=fork-aware --alice -ltxpool=trace restart: unless-stopped @@ -52,6 +53,7 @@ services: --rpc-external --rpc-cors=all --rpc-methods=Unsafe + --pool-type=fork-aware --bob --log="main,info" restart: unless-stopped diff --git a/e2e/capacity/replenishment.test.ts b/e2e/capacity/replenishment.test.ts index 23054f5fed..82d823d14d 100644 --- a/e2e/capacity/replenishment.test.ts +++ b/e2e/capacity/replenishment.test.ts @@ -55,7 +55,10 @@ describe('Capacity Replenishment Testing: ', function () { remainingCapacity = (await getCapacity(stakeProviderId)).remainingCapacity.toBigInt(); assert(expectedCapacity > remainingCapacity, 'Our remaining capacity is much higher than expected.'); const capacityPerCall = expectedCapacity - remainingCapacity; - assert(remainingCapacity > capacityPerCall, "We don't have enough to make a second call"); + assert( + remainingCapacity > capacityPerCall, + `Not enough capacity! needed: ${capacityPerCall}, remaining: ${remainingCapacity}` + ); // one more txn to deplete capacity more so this current remaining is different from when // we submitted the first message. diff --git a/e2e/capacity/staking.test.ts b/e2e/capacity/staking.test.ts index 4784c17a48..4321cfa4ae 100644 --- a/e2e/capacity/staking.test.ts +++ b/e2e/capacity/staking.test.ts @@ -246,9 +246,7 @@ describe('Capacity Staking Tests', function () { describe('when staking and targeting an InvalidTarget', function () { it('fails to stake', async function () { const stakeAmount = 10n * CENTS; - const stakeKeys = await createAndFundKeypair(fundingSource, accountBalance, 'StakeKeys'); - - const [notProviderMsaId] = await createMsa(fundingSource); + const [notProviderMsaId, stakeKeys] = await createMsa(fundingSource, 10n * CENTS); const failStakeObj = ExtrinsicHelper.stake(stakeKeys, notProviderMsaId, stakeAmount); await assert.rejects(failStakeObj.signAndSend(), { name: 'InvalidTarget' }); diff --git a/e2e/capacity/transactions.test.ts b/e2e/capacity/transactions.test.ts index b52e2d6a76..2797ab602d 100644 --- a/e2e/capacity/transactions.test.ts +++ b/e2e/capacity/transactions.test.ts @@ -23,7 +23,6 @@ import { getCurrentItemizedHash, getCurrentPaginatedHash, generateItemizedSignaturePayload, - createDelegator, generatePaginatedUpsertSignaturePayload, generatePaginatedDeleteSignaturePayload, getOrCreateDummySchema, @@ -35,6 +34,7 @@ import { getCapacity, getTestHandle, assertHasMessage, + createMsa, } from '../scaffolding/helpers'; import { ipfsCid } from '../messages/ipfs'; import { getFundingSource } from '../scaffolding/funding'; @@ -213,7 +213,7 @@ describe('Capacity Transactions', function () { capacityKeys = createKeys('CapacityKeys'); capacityProvider = await createMsaAndProvider(fundingSource, capacityKeys, 'CapacityProvider', FUNDS_AMOUNT); // Create a MSA for the delegator - [delegatorKeys, delegatorProviderId] = await createDelegator(fundingSource); + [delegatorProviderId, delegatorKeys] = await createMsa(fundingSource); assert.notEqual(delegatorKeys, undefined, 'setup should populate delegator_key'); assert.notEqual(delegatorProviderId, undefined, 'setup should populate msa_id'); diff --git a/e2e/handles/handles.test.ts b/e2e/handles/handles.test.ts index 43b3459220..ffd81e19a3 100644 --- a/e2e/handles/handles.test.ts +++ b/e2e/handles/handles.test.ts @@ -1,7 +1,7 @@ // Handles test suite import '@frequency-chain/api-augment'; import assert from 'assert'; -import { createDelegator, getTestHandle } from '../scaffolding/helpers'; +import { createMsa, DOLLARS, getTestHandle } from '../scaffolding/helpers'; import { KeyringPair } from '@polkadot/keyring/types'; import { MessageSourceId } from '@frequency-chain/api-augment/interfaces'; import { ExtrinsicHelper } from '../scaffolding/extrinsicHelpers'; @@ -20,7 +20,7 @@ describe('🤝 Handles', function () { before(async function () { // Create a MSA for the delegator - [msaOwnerKeys, msa_id] = await createDelegator(fundingSource); + [msa_id, msaOwnerKeys] = await createMsa(fundingSource); assert.notEqual(msaOwnerKeys, undefined, 'setup should populate delegator_key'); assert.notEqual(msa_id, undefined, 'setup should populate msa_id'); }); @@ -71,7 +71,7 @@ describe('🤝 Handles', function () { before(async function () { // Create a MSA for the delegator - [msaOwnerKeys, msa_id] = await createDelegator(fundingSource); + [msa_id, msaOwnerKeys] = await createMsa(fundingSource); assert.notEqual(msaOwnerKeys, undefined, 'setup should populate delegator_key'); assert.notEqual(msa_id, undefined, 'setup should populate msa_id'); }); diff --git a/e2e/msa/createMsa.test.ts b/e2e/msa/createMsa.test.ts index da5deff8be..3719e53744 100644 --- a/e2e/msa/createMsa.test.ts +++ b/e2e/msa/createMsa.test.ts @@ -1,6 +1,6 @@ import '@frequency-chain/api-augment'; import assert from 'assert'; -import { createAndFundKeypair } from '../scaffolding/helpers'; +import { assertExtrinsicSucceededAndFeesPaid, createAndFundKeypair } from '../scaffolding/helpers'; import { KeyringPair } from '@polkadot/keyring/types'; import { ExtrinsicHelper } from '../scaffolding/extrinsicHelpers'; import { getFundingSource } from '../scaffolding/funding'; @@ -25,12 +25,7 @@ describe('Create Accounts', function () { 'should have returned an ExtrinsicSuccess event' ); assert.notEqual(msaCreatedEvent, undefined, 'should have returned an MsaCreated event'); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); - + assertExtrinsicSucceededAndFeesPaid(chainEvents); assert.notEqual(msaCreatedEvent?.data.msaId, undefined, 'Failed to get the msaId from the event'); }); diff --git a/e2e/package-lock.json b/e2e/package-lock.json index ee4ed0e8a6..f195f4d878 100644 --- a/e2e/package-lock.json +++ b/e2e/package-lock.json @@ -462,27 +462,25 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", - "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", - "license": "MIT", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "peer": true, "dependencies": { - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", - "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", - "license": "MIT", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", "peer": true, "dependencies": { - "@babel/types": "^7.26.9" + "@babel/types": "^7.27.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -2086,10 +2084,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", - "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", - "license": "MIT", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", "peer": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -2106,15 +2103,14 @@ "peer": true }, "node_modules/@babel/template": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", - "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", - "license": "MIT", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "peer": true, "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9" + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" @@ -2180,10 +2176,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", - "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", - "license": "MIT", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "peer": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -2839,7 +2834,7 @@ "node_modules/@frequency-chain/api-augment": { "version": "0.0.0", "resolved": "file:../js/api-augment/dist/frequency-chain-api-augment-0.0.0.tgz", - "integrity": "sha512-5t+razFAxKv+LWEFg77WCjJgyLPX046CM85omoVxgtc9c2KmqeOZ6FOcqDTrONRvggdj9OhaTNpEEuQdIhyh4A==", + "integrity": "sha512-/ZbKZO+qy9WKFidMkNIQdFbNxRnUw47PQPKX6RTxN9ETYLhUrWMpMCdXsngVk9RMmEeFuS4IsBX42COlL8Zplw==", "license": "Apache-2.0", "dependencies": { "@polkadot/api": "^15.8.1", @@ -6083,10 +6078,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz", - "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==", - "license": "MIT", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -8363,9 +8357,9 @@ } }, "node_modules/image-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.0.tgz", - "integrity": "sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", "license": "MIT", "peer": true, "dependencies": { diff --git a/e2e/passkey/passkeyProxyV2.ethereum.test.ts b/e2e/passkey/passkeyProxyV2.ethereum.test.ts index 6e9b0c2464..4e457d9075 100644 --- a/e2e/passkey/passkeyProxyV2.ethereum.test.ts +++ b/e2e/passkey/passkeyProxyV2.ethereum.test.ts @@ -1,6 +1,6 @@ import '@frequency-chain/api-augment'; import assert from 'assert'; -import { createAndFundKeypair, EcdsaSignature, getNonce, Sr25519Signature } from '../scaffolding/helpers'; +import { createAndFundKeypair, EcdsaSignature, getNonce, log, Sr25519Signature } from '../scaffolding/helpers'; import { KeyringPair } from '@polkadot/keyring/types'; import { Extrinsic, ExtrinsicHelper } from '../scaffolding/extrinsicHelpers'; import { getFundingSource } from '../scaffolding/funding'; @@ -107,7 +107,7 @@ describe('Passkey Pallet Proxy V2 Ethereum Tests', function () { startingReceiverBalance = (await ExtrinsicHelper.getAccountInfo(receiverKeys)).data.free.toBigInt(); startingSenderBalance = (await ExtrinsicHelper.getAccountInfo(fundedEthereumKeys)).data.free.toBigInt(); accountPKey = getUnifiedPublicKey(fundedEthereumKeys); - console.log(`accountPKey ${u8aToHex(accountPKey)}`); + log(`accountPKey ${u8aToHex(accountPKey)}`); nonce = await getNonce(fundedEthereumKeys); const transferCalls = ExtrinsicHelper.api.tx.balances.transferKeepAlive( getUnifiedAddress(receiverKeys), @@ -116,7 +116,7 @@ describe('Passkey Pallet Proxy V2 Ethereum Tests', function () { const { passKeyPrivateKey, passKeyPublicKey } = createPassKeyAndSignAccount(accountPKey); // ethereum keys should not have wrapping const accountSignature = fundedEthereumKeys.sign(passKeyPublicKey); - console.log(`accountSignature ${u8aToHex(accountSignature)}`); + log(`accountSignature ${u8aToHex(accountSignature)}`); const multiSignature: EcdsaSignature = { Ecdsa: u8aToHex(accountSignature) }; const passkeyCall = await createPassKeyCallV2(accountPKey, nonce, transferCalls); const passkeyPayload = await createPasskeyPayloadV2( diff --git a/e2e/scaffolding/extrinsicHelpers.ts b/e2e/scaffolding/extrinsicHelpers.ts index bc81180585..1313b40168 100644 --- a/e2e/scaffolding/extrinsicHelpers.ts +++ b/e2e/scaffolding/extrinsicHelpers.ts @@ -1,4 +1,5 @@ import '@frequency-chain/api-augment'; +import assert from 'assert'; import { ApiPromise, ApiRx } from '@polkadot/api'; import { ApiTypes, AugmentedEvent, SubmittableExtrinsic, SignerOptions } from '@polkadot/api/types'; import { KeyringPair } from '@polkadot/keyring/types'; @@ -193,7 +194,10 @@ export class Extrinsic status.isInBlock || status.isFinalized), @@ -230,12 +234,22 @@ export class Extrinsic { + if (result.isError) { + throw new CallError( + result, + `Failed Transaction for ${this.event?.meta.name || 'unknown'}, status is ${result.status}` + ); + } + }), + // Can comment out filter to help debug hangs filter(({ status }) => status.isInBlock || status.isFinalized), this.parseResult(this.event) ) ); } + // check transaction cost difference between local+upgrade and testnet public getEstimatedTxFee(): Promise { return firstValueFrom( this.extrinsic() @@ -256,13 +270,13 @@ export class Extrinsic freeBalance) { - await ExtrinsicHelper.transferFunds(source, this.keys, amount).signAndSend(); + await assert.doesNotReject(ExtrinsicHelper.transferFunds(source, this.keys, amount).signAndSend()); } } public async fundAndSend(source: KeyringPair) { await this.fundOperation(source); - log('Fund and Send', `Fund Source: ${getUnifiedAddress(source)}`); + log('Fund and Send', `${this.extrinsic().method.method} Fund Source: ${getUnifiedAddress(source)}`); return this.signAndSend(); } diff --git a/e2e/scaffolding/helpers.ts b/e2e/scaffolding/helpers.ts index f5b081a3f2..135b9f5982 100644 --- a/e2e/scaffolding/helpers.ts +++ b/e2e/scaffolding/helpers.ts @@ -309,6 +309,7 @@ export async function fundKeypair( await ExtrinsicHelper.transferFunds(source, dest, amount).signAndSend(nonce); } +// create and Fund keys with existential deposit amount or the value provided. export async function createAndFundKeypair( source: KeyringPair, amount?: bigint, @@ -347,7 +348,10 @@ export function log(...args: any[]) { } } -export async function createProviderKeysAndId(source: KeyringPair, amount?: bigint): Promise<[KeyringPair, u64]> { +export async function createProviderKeysAndId( + source: KeyringPair, + amount: bigint = 1n * DOLLARS +): Promise<[KeyringPair, u64]> { const providerKeys = await createAndFundKeypair(source, amount); await ExtrinsicHelper.createMsa(providerKeys).fundAndSend(source); const createProviderOp = ExtrinsicHelper.createProvider(providerKeys, 'PrivateProvider'); @@ -356,19 +360,6 @@ export async function createProviderKeysAndId(source: KeyringPair, amount?: bigi return [providerKeys, providerId]; } -export async function createDelegator( - source: KeyringPair, - amount?: bigint, - keyType: KeypairType = 'sr25519' -): Promise<[KeyringPair, u64]> { - const keys = await createAndFundKeypair(source, amount, undefined, undefined, keyType); - const createMsa = ExtrinsicHelper.createMsa(keys); - const { target: msaCreatedEvent } = await createMsa.fundAndSend(source); - const delegatorMsaId = msaCreatedEvent?.data.msaId || new u64(ExtrinsicHelper.api.registry, 0); - - return [keys, delegatorMsaId]; -} - export async function createDelegatorAndDelegation( source: KeyringPair, schemaId: u16 | u16[], @@ -376,8 +367,8 @@ export async function createDelegatorAndDelegation( providerKeys: KeyringPair, keyType: KeypairType = 'sr25519' ): Promise<[KeyringPair, u64]> { - // Create a delegator msa - const [keys, delegatorMsaId] = await createDelegator(source, undefined, keyType); + // Create a delegator msa + keys. + const [delegatorMsaId, delegatorKeys] = await createMsa(source, undefined, keyType); // Grant delegation to the provider const payload = await generateDelegationPayload({ authorizedMsaId: providerId, @@ -386,14 +377,14 @@ export async function createDelegatorAndDelegation( const addProviderData = ExtrinsicHelper.api.registry.createType('PalletMsaAddProvider', payload); const grantDelegationOp = ExtrinsicHelper.grantDelegation( - keys, + delegatorKeys, providerKeys, - signPayload(keys, addProviderData), + signPayload(delegatorKeys, addProviderData), payload ); await grantDelegationOp.fundAndSend(source); - return [keys, delegatorMsaId]; + return [delegatorKeys, delegatorMsaId]; } export async function getCurrentItemizedHash(msa_id: MessageSourceId, schemaId: u16): Promise { @@ -416,10 +407,15 @@ export async function getHandleForMsa(msa_id: MessageSourceId): Promise { - const keys = await createAndFundKeypair(source, amount); +// 1. Creates and funds a key pair. +// 2. Key pair used to directly create its own MSA Id +// 3. returns MSA ID and the keys. +export async function createMsa( + source: KeyringPair, + amount?: bigint, + keyType: KeypairType = 'sr25519' +): Promise<[u64, KeyringPair]> { + const keys = await createAndFundKeypair(source, amount, undefined, undefined, keyType); const createMsaOp = ExtrinsicHelper.createMsa(keys); const { target } = await createMsaOp.fundAndSend(source); assert.notEqual(target, undefined, 'createMsa: should have returned MsaCreated event'); @@ -711,3 +707,13 @@ export function generateSchemaPartialName(length: number): string { } export const base64UrlToUint8Array = (base64: string): Uint8Array => new Uint8Array(Buffer.from(base64, 'base64url')); + +export async function getFreeBalance(source: KeyringPair): Promise { + const accountInfo = await ExtrinsicHelper.getAccountInfo(source); + return BigInt(accountInfo.data.free.toString()) - (await getExistentialDeposit()); +} + +export async function assertExtrinsicSucceededAndFeesPaid(chainEvents: any) { + assert.notEqual(chainEvents['system.ExtrinsicSuccess'], undefined, 'should have returned an ExtrinsicSuccess event'); + assert.notEqual(chainEvents['balances.Withdraw'], undefined, 'should have returned a balances.Withdraw event'); +} diff --git a/e2e/stateful-pallet-storage/handleItemized.test.ts b/e2e/stateful-pallet-storage/handleItemized.test.ts index cb32d2aaa5..fcdd4e90ca 100644 --- a/e2e/stateful-pallet-storage/handleItemized.test.ts +++ b/e2e/stateful-pallet-storage/handleItemized.test.ts @@ -8,6 +8,7 @@ import { createProviderKeysAndId, getCurrentItemizedHash, getOrCreateAvroChatMessageItemizedSchema, + assertExtrinsicSucceededAndFeesPaid, } from '../scaffolding/helpers'; import { KeyringPair } from '@polkadot/keyring/types'; import { ExtrinsicHelper } from '../scaffolding/extrinsicHelpers'; @@ -82,16 +83,7 @@ describe('📗 Stateful Pallet Storage Itemized', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await itemized_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents); assert.notEqual( pageUpdateEvent1, undefined, @@ -211,11 +203,7 @@ describe('📗 Stateful Pallet Storage Itemized', function () { undefined, 'should have returned an ExtrinsicSuccess event' ); - assert.notEqual( - chainEvents2['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assert.notEqual(chainEvents2['balances.Withdraw'], undefined, 'should have returned a balances.Withdraw event'); assert.notEqual(pageUpdateEvent2, undefined, 'should have returned a event'); }); diff --git a/e2e/stateful-pallet-storage/handlePaginated.test.ts b/e2e/stateful-pallet-storage/handlePaginated.test.ts index 153b5c9262..d9950d1925 100644 --- a/e2e/stateful-pallet-storage/handlePaginated.test.ts +++ b/e2e/stateful-pallet-storage/handlePaginated.test.ts @@ -8,6 +8,7 @@ import { createMsa, DOLLARS, getOrCreateAvroChatMessagePaginatedSchema, + assertExtrinsicSucceededAndFeesPaid, } from '../scaffolding/helpers'; import { KeyringPair } from '@polkadot/keyring/types'; import { ExtrinsicHelper } from '../scaffolding/extrinsicHelpers'; @@ -72,16 +73,7 @@ describe('📗 Stateful Pallet Storage Paginated', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await paginated_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents); assert.notEqual( pageUpdateEvent1, undefined, @@ -106,11 +98,6 @@ describe('📗 Stateful Pallet Storage Paginated', function () { undefined, 'should have returned an ExtrinsicSuccess event' ); - assert.notEqual( - chainEvents2['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); assert.notEqual( pageUpdateEvent2, undefined, @@ -132,11 +119,6 @@ describe('📗 Stateful Pallet Storage Paginated', function () { undefined, 'should have returned an ExtrinsicSuccess event' ); - assert.notEqual( - chainEvents3['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); assert.notEqual(pageRemove, undefined, 'should have returned a event'); }); diff --git a/e2e/stateful-pallet-storage/handleSignatureRequired.test.ts b/e2e/stateful-pallet-storage/handleSignatureRequired.test.ts index 644960bc35..a5a432a78e 100644 --- a/e2e/stateful-pallet-storage/handleSignatureRequired.test.ts +++ b/e2e/stateful-pallet-storage/handleSignatureRequired.test.ts @@ -15,6 +15,7 @@ import { getCurrentItemizedHash, getCurrentPaginatedHash, signPayloadSr25519, + assertExtrinsicSucceededAndFeesPaid, } from '../scaffolding/helpers'; import { KeyringPair } from '@polkadot/keyring/types'; import { ExtrinsicHelper } from '../scaffolding/extrinsicHelpers'; @@ -35,13 +36,14 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { let delegatedProviderKeys: KeyringPair; let delegatorKeys: KeyringPair; + let itemizedActionsSignedPayload; + before(async function () { // Create a provider. This provider will NOT be granted delegations; // methods requiring a payload signature do not require a delegation [undelegatedProviderKeys, undelegatedProviderId] = await createProviderKeysAndId(fundingSource, 2n * DOLLARS); assert.notEqual(undelegatedProviderId, undefined, 'setup should populate undelegatedProviderId'); assert.notEqual(undelegatedProviderKeys, undefined, 'setup should populate undelegatedProviderKeys'); - // Create a provider for the MSA, the provider will be used to grant delegation [delegatedProviderKeys, delegatedProviderId] = await createProviderKeysAndId(fundingSource, 2n * DOLLARS); assert.notEqual(delegatedProviderId, undefined, 'setup should populate delegatedProviderId'); @@ -76,19 +78,21 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { ); assert.notEqual(delegatorKeys, undefined, 'setup should populate delegator_key'); assert.notEqual(msa_id, undefined, 'setup should populate msa_id'); + + itemizedActionsSignedPayload = await generateItemizedActionsSignedPayload( + generateItemizedActions([ + { action: 'Add', value: 'Hello, world from Frequency' }, + { action: 'Add', value: 'Hello, world again from Frequency' }, + ]), + itemizedSchemaId, + delegatorKeys, + msa_id + ); }); describe('Itemized With Signature Storage Tests', function () { it('provider should be able to call applyItemizedActionWithSignature and apply actions', async function () { - const { payload, signature } = await generateItemizedActionsSignedPayload( - generateItemizedActions([ - { action: 'Add', value: 'Hello, world from Frequency' }, - { action: 'Add', value: 'Hello, world again from Frequency' }, - ]), - itemizedSchemaId, - delegatorKeys, - msa_id - ); + const { payload, signature } = itemizedActionsSignedPayload; const itemized_add_result_1 = ExtrinsicHelper.applyItemActionsWithSignature( delegatorKeys, @@ -98,16 +102,9 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await itemized_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + + assertExtrinsicSucceededAndFeesPaid(chainEvents); + assert.notEqual( pageUpdateEvent1, undefined, @@ -134,16 +131,9 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await itemized_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + + assertExtrinsicSucceededAndFeesPaid(chainEvents); + assert.notEqual( pageUpdateEvent1, undefined, @@ -170,16 +160,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await itemized_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents); assert.notEqual( pageUpdateEvent1, undefined, @@ -206,16 +187,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await itemized_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents); assert.notEqual( pageUpdateEvent1, undefined, @@ -267,16 +239,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await itemized_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents); assert.notEqual( pageUpdateEvent1, undefined, @@ -286,7 +249,8 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { }); describe('Paginated With Signature Storage Tests', function () { - it('provider should be able to call upsert a page and delete it successfully', async function () { + // passes with PaginatedPageDeleted event + it('provider can call upsertPageWithSignature and deletePageWithSignature', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); // Add and update actions @@ -309,16 +273,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { upsertPayload ); const { target: pageUpdateEvent, eventMap: chainEvents1 } = await upsert_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents1['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents1['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents1); assert.notEqual( pageUpdateEvent, undefined, @@ -344,16 +299,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { deletePayload ); const { target: pageRemove, eventMap: chainEvents2 } = await remove_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents2['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents2['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents2); assert.notEqual(pageRemove, undefined, 'should have returned a event'); // no pages should exist @@ -363,7 +309,8 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { assert.equal(thePage, undefined, 'inserted page should not exist'); }); - it('delegator (owner) should be able to call upsert a page and delete it successfully', async function () { + // fails to find the PaginatedPageDeleted event + it('delegator (owner) can upsertPageWithSignature and deletePageWithSignature', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); // Add and update actions @@ -385,17 +332,9 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { signPayloadSr25519(delegatorKeys, upsertPayloadData), upsertPayload ); + const { target: pageUpdateEvent, eventMap: chainEvents1 } = await upsert_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents1['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents1['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents1); assert.notEqual( pageUpdateEvent, undefined, @@ -421,17 +360,8 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { deletePayload ); const { target: pageRemove, eventMap: chainEvents2 } = await remove_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents2['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents2['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); - assert.notEqual(pageRemove, undefined, 'should have returned a event'); + assertExtrinsicSucceededAndFeesPaid(chainEvents2); + assert.notEqual(pageRemove, undefined, 'should have returned a PaginatedPageDeleted'); // no pages should exist const result = await ExtrinsicHelper.getPaginatedStorage(msa_id, paginatedSchemaId); @@ -440,7 +370,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { assert.equal(thePage, undefined, 'inserted page should not exist'); }); - it('provider should be able to call upsertPageWithSignatureV2 a page and deletePageWithSignatureV2 it successfully', async function () { + it('provider can upsertPageWithSignatureV2 a page and deletePageWithSignatureV2', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); // Add and update actions @@ -462,16 +392,8 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { upsertPayload ); const { target: pageUpdateEvent, eventMap: chainEvents1 } = await upsert_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents1['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents1['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents1); + assert.notEqual( pageUpdateEvent, undefined, @@ -496,18 +418,8 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { deletePayload ); const { target: pageRemove, eventMap: chainEvents2 } = await remove_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents2['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents2['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); assert.notEqual(pageRemove, undefined, 'should have returned a event'); - + assertExtrinsicSucceededAndFeesPaid(chainEvents2); // no pages should exist const result = await ExtrinsicHelper.getPaginatedStorage(msa_id, paginatedSchemaId); assert.notEqual(result, undefined, 'should have returned a valid response'); @@ -515,7 +427,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { assert.equal(thePage, undefined, 'inserted page should not exist'); }); - it('delegator (owner) should be able to call upsertPageWithSignatureV2 a page and deletePageWithSignatureV2 it successfully', async function () { + it('delegator (owner) can upsertPageWithSignatureV2 a page and deletePageWithSignatureV2', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); // Add and update actions @@ -542,16 +454,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { undefined, 'should have returned an ExtrinsicSuccess event' ); - assert.notEqual( - chainEvents1['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); - assert.notEqual( - pageUpdateEvent, - undefined, - 'should have returned a PalletStatefulStoragePaginatedPageUpdate event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents1); // Remove the page target_hash = await getCurrentPaginatedHash(msa_id, paginatedSchemaId, page_id.toNumber()); @@ -571,16 +474,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { deletePayload ); const { target: pageRemove, eventMap: chainEvents2 } = await remove_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents2['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents2['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents2); assert.notEqual(pageRemove, undefined, 'should have returned a event'); // no pages should exist @@ -590,7 +484,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { assert.equal(thePage, undefined, 'inserted page should not exist'); }); - it('provider should not be able to call upsertPage directly', async function () { + it('provider cannot upsertPage', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); const target_hash = await getCurrentPaginatedHash(msa_id, paginatedSchemaId, page_id.toNumber()); @@ -616,7 +510,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { await assert.rejects(upsert_2.fundAndSend(fundingSource), { name: 'UnsupportedOperationForSchema' }); }); - it('owner should be able to call upsertPage directly', async function () { + it('owner can upsertPage', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); const target_hash = await getCurrentPaginatedHash(msa_id, paginatedSchemaId, page_id.toNumber()); @@ -630,16 +524,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { target_hash ); const { target: pageUpdateEvent, eventMap: chainEvents1 } = await upsert_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents1['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents1['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents1); assert.notEqual( pageUpdateEvent, undefined, @@ -647,7 +532,7 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { ); }); - it('delegate should not be able to call removePage directly', async function () { + it('Provider cannot deletePage directly', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); const target_hash = await getCurrentPaginatedHash(msa_id, paginatedSchemaId, page_id.toNumber()); @@ -671,28 +556,16 @@ describe('📗 Stateful Pallet Storage Signature Required', function () { await assert.rejects(remove_op_2.fundAndSend(fundingSource), { name: 'UnsupportedOperationForSchema' }); }); - it('owner should be able to call removePage directly', async function () { + // Fails to emit event but appears to pass + it('delegator (owner) can deletePage', async function () { const page_id = new u16(ExtrinsicHelper.api.registry, 1); const target_hash = await getCurrentPaginatedHash(msa_id, paginatedSchemaId, page_id.toNumber()); const remove_result = ExtrinsicHelper.removePage(delegatorKeys, paginatedSchemaId, msa_id, page_id, target_hash); const { target: pageUpdateEvent, eventMap: chainEvents1 } = await remove_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents1['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents1['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); - assert.notEqual( - pageUpdateEvent, - undefined, - 'should have returned a PalletStatefulStoragePaginatedPageDeleted event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents1); + assert.notEqual(pageUpdateEvent, undefined, 'should have returned a PaginatedPageDeleted event'); }); }); }); diff --git a/e2e/stateful-pallet-storage/stateful.ethereum.test.ts b/e2e/stateful-pallet-storage/stateful.ethereum.test.ts index 02ee38fae5..9cfcdc3b66 100644 --- a/e2e/stateful-pallet-storage/stateful.ethereum.test.ts +++ b/e2e/stateful-pallet-storage/stateful.ethereum.test.ts @@ -11,6 +11,7 @@ import { generatePaginatedUpsertSignaturePayloadV2, getCurrentPaginatedHash, signPayload, + assertExtrinsicSucceededAndFeesPaid, } from '../scaffolding/helpers'; import { KeyringPair } from '@polkadot/keyring/types'; import { ExtrinsicHelper } from '../scaffolding/extrinsicHelpers'; @@ -96,16 +97,7 @@ describe('📗 Stateful Pallet Storage Ethereum', function () { ); const { target: pageUpdateEvent1, eventMap: chainEvents } = await itemized_add_result_1.fundAndSend(fundingSource); - assert.notEqual( - chainEvents['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents); assert.notEqual( pageUpdateEvent1, undefined, @@ -137,16 +129,7 @@ describe('📗 Stateful Pallet Storage Ethereum', function () { upsertPayload ); const { target: pageUpdateEvent, eventMap: chainEvents1 } = await upsert_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents1['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents1['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents1); assert.notEqual( pageUpdateEvent, undefined, @@ -171,16 +154,7 @@ describe('📗 Stateful Pallet Storage Ethereum', function () { deletePayload ); const { target: pageRemove, eventMap: chainEvents2 } = await remove_result.fundAndSend(fundingSource); - assert.notEqual( - chainEvents2['system.ExtrinsicSuccess'], - undefined, - 'should have returned an ExtrinsicSuccess event' - ); - assert.notEqual( - chainEvents2['transactionPayment.TransactionFeePaid'], - undefined, - 'should have returned a TransactionFeePaid event' - ); + assertExtrinsicSucceededAndFeesPaid(chainEvents2); assert.notEqual(pageRemove, undefined, 'should have returned a event'); // no pages should exist diff --git a/node/cli/src/benchmarking.rs b/node/cli/src/benchmarking.rs index eacd678730..492ae23a93 100644 --- a/node/cli/src/benchmarking.rs +++ b/node/cli/src/benchmarking.rs @@ -16,6 +16,8 @@ use sp_runtime::{OpaqueExtrinsic, SaturatedConversion}; use pallet_balances::Call as BalancesCall; use pallet_msa; use sp_inherents::InherentDataProvider; +#[allow(deprecated)] +use sp_runtime::traits::transaction_extension::AsTransactionExtension; use sp_timestamp; use std::{sync::Arc, time::Duration}; @@ -116,7 +118,7 @@ pub fn create_benchmark_extrinsic( .checked_next_power_of_two() .map(|c| c / 2) .unwrap_or(2) as u64; - let extra: runtime::SignedExtra = ( + let extra: runtime::TxExtension = ( frame_system::CheckNonZeroSender::::new(), ( frame_system::CheckSpecVersion::::new(), @@ -127,11 +129,15 @@ pub fn create_benchmark_extrinsic( period, best_block.saturated_into(), )), - common_runtime::extensions::check_nonce::CheckNonce::::from(nonce), + #[allow(deprecated)] + AsTransactionExtension::from(common_runtime::extensions::check_nonce::CheckNonce::::from(nonce)), frame_system::CheckWeight::::new(), - pallet_frequency_tx_payment::ChargeFrqTransactionPayment::::from(0), - pallet_msa::CheckFreeExtrinsicUse::::new(), - pallet_handles::handles_signed_extension::HandlesSignedExtension::::new(), + #[allow(deprecated)] + AsTransactionExtension::from(pallet_frequency_tx_payment::ChargeFrqTransactionPayment::::from(0)), + #[allow(deprecated)] + AsTransactionExtension::from(pallet_msa::CheckFreeExtrinsicUse::::new()), + #[allow(deprecated)] + AsTransactionExtension::from(pallet_handles::handles_signed_extension::HandlesSignedExtension::::new()), frame_metadata_hash_extension::CheckMetadataHash::::new(false), cumulus_primitives_storage_weight_reclaim::StorageWeightReclaim::::new(), ); @@ -183,6 +189,7 @@ pub fn inherent_benchmark_data() -> Result { para_blocks_per_relay_epoch: 2, relay_randomness_config: (), additional_key_values: Some(vec![]), + upgrade_go_ahead: None, }; futures::executor::block_on(timestamp.provide_inherent_data(&mut inherent_data)) diff --git a/node/cli/src/command.rs b/node/cli/src/command.rs index 931d4ea1b8..9d6b3e1798 100644 --- a/node/cli/src/command.rs +++ b/node/cli/src/command.rs @@ -373,13 +373,15 @@ pub fn run() -> Result<()> { BenchmarkCmd::Overhead(cmd) => runner.sync_run(|config| { let partials = new_partial(&config, false)?; let ext_builder = RemarkBuilder::new(partials.client.clone()); + let should_record_proof = false; cmd.run( - config, + chain_name(), partials.client, inherent_benchmark_data()?, Vec::new(), &ext_builder, + should_record_proof, ) }), BenchmarkCmd::Machine(cmd) => runner.sync_run(|config| { @@ -469,15 +471,9 @@ impl CliConfiguration for RelayChainCli { self.base.base.prometheus_config(default_listen_port, chain_spec) } - fn init( - &self, - _support_url: &String, - _impl_version: &String, - _logger_hook: F, - _config: &sc_service::Configuration, - ) -> Result<()> + fn init(&self, _support_url: &String, _impl_version: &String, _logger_hook: F) -> Result<()> where - F: FnOnce(&mut sc_cli::LoggerBuilder, &sc_service::Configuration), + F: FnOnce(&mut sc_cli::LoggerBuilder), { unreachable!("PolkadotCli is never initialized; qed"); } diff --git a/node/cli/src/run_as_parachain.rs b/node/cli/src/run_as_parachain.rs index 60d0e42840..756969d6aa 100644 --- a/node/cli/src/run_as_parachain.rs +++ b/node/cli/src/run_as_parachain.rs @@ -1,5 +1,6 @@ use crate::cli::{Cli, RelayChainCli}; use cumulus_primitives_core::ParaId; +use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE; use frequency_service::chain_spec; use log::info; use sc_cli::SubstrateCli; @@ -12,7 +13,7 @@ pub fn run_as_parachain(cli: Cli) -> sc_service::Result<(), sc_cli::Error> { let hwbench = (!cli.no_hardware_benchmarks) .then_some(config.database.path().map(|database_path| { let _ = std::fs::create_dir_all(database_path); - sc_sysinfo::gather_hwbench(Some(database_path)) + sc_sysinfo::gather_hwbench(Some(database_path), &SUBSTRATE_REFERENCE_HARDWARE) })) .flatten(); diff --git a/node/service/src/block_sealing.rs b/node/service/src/block_sealing.rs index 610b578581..3c448c4c93 100644 --- a/node/service/src/block_sealing.rs +++ b/node/service/src/block_sealing.rs @@ -3,18 +3,15 @@ use cli_opt::SealingMode; pub use futures::stream::StreamExt; use sc_consensus::block_import::BlockImport; -use common_primitives::{ - node::{Block, Hash}, - offchain::OcwCustomExt, -}; +use common_primitives::node::{Block, Hash}; use core::marker::PhantomData; -use futures::{FutureExt, Stream}; +use futures::Stream; use sc_client_api::backend::{Backend as ClientBackend, Finalizer}; use sc_consensus_manual_seal::{ finalize_block, EngineCommand, FinalizeBlockParams, ManualSealParams, MANUAL_SEAL_ENGINE_ID, }; -use crate::common::convert_address_to_normalized_string; +use crate::common::start_offchain_workers; use sc_network::NetworkBackend; use sc_service::{Configuration, TaskManager}; use sc_transaction_pool_api::{OffchainTransactionPoolFactory, TransactionPool}; @@ -45,7 +42,7 @@ pub fn start_frequency_dev_sealing_node( _, _, sc_network::NetworkWorker, - >::new(&config.network); + >::new(&config.network, None); // 2nd param, metrics_registry: Option let sc_service::PartialComponents { client, backend, @@ -70,7 +67,7 @@ pub fn start_frequency_dev_sealing_node( spawn_handle: task_manager.spawn_handle(), import_queue, block_announce_validator_builder: None, - warp_sync_params: None, + warp_sync_config: None, block_relay: None, metrics, })?; @@ -78,37 +75,20 @@ pub fn start_frequency_dev_sealing_node( // Start off-chain workers if enabled if config.offchain_worker.enabled { log::info!("OFFCHAIN WORKER is Enabled!"); - let rpc_address = convert_address_to_normalized_string(&config.rpc_addr) - .expect("rpc-addr is not a valid input!"); - let offchain_workers = - sc_offchain::OffchainWorkers::new(sc_offchain::OffchainWorkerOptions { - runtime_api_provider: client.clone(), - is_validator: config.role.is_authority(), - keystore: Some(keystore_container.keystore()), - offchain_db: backend.offchain_storage(), - transaction_pool: Some(OffchainTransactionPoolFactory::new( - transaction_pool.clone(), - )), - network_provider: Arc::new(network.clone()), - enable_http_requests: true, - custom_extensions: move |_hash| { - let cloned = rpc_address.clone(); - vec![Box::new(OcwCustomExt(cloned)) as Box<_>] - }, - }); - - // Spawn a task to handle off-chain notifications. - // This task is responsible for processing off-chain events or data for the blockchain. - task_manager.spawn_handle().spawn( - "offchain-workers-runner", - "offchain-work", - offchain_workers.run(client.clone(), task_manager.spawn_handle()).boxed(), + start_offchain_workers( + &client, + &config, + Some(keystore_container.keystore()), + &backend, + Some(OffchainTransactionPoolFactory::new(transaction_pool.clone())), + Arc::new(network.clone()), + &task_manager, ); } let prometheus_registry = config.prometheus_registry().cloned(); - let role = config.role.clone(); + let role = config.role; let select_chain = maybe_select_chain .expect("In frequency dev mode, `new_partial` will return some `select_chain`; qed"); @@ -126,7 +106,7 @@ pub fn start_frequency_dev_sealing_node( // Channel for the RPC handler to communicate with the authorship task. let (command_sink, commands_stream) = futures::channel::mpsc::channel(1024); - let pool = transaction_pool.pool().clone(); + let pool = transaction_pool.clone(); // For instant sealing, set up a stream that automatically creates and finalizes // blocks as soon as transactions arrive. @@ -136,13 +116,11 @@ pub fn start_frequency_dev_sealing_node( let import_stream = match sealing_mode { SealingMode::Manual => futures::stream::empty().boxed(), SealingMode::Instant => - Box::pin(pool.validated_pool().import_notification_stream().map(|_| { - EngineCommand::SealNewBlock { - create_empty: true, - finalize: true, - parent_hash: None, - sender: None, - } + Box::pin(pool.import_notification_stream().map(|_| EngineCommand::SealNewBlock { + create_empty: true, + finalize: true, + parent_hash: None, + sender: None, })), SealingMode::Interval => { let interval = std::time::Duration::from_secs(sealing_interval.into()); @@ -204,14 +182,12 @@ pub fn start_frequency_dev_sealing_node( false => None, }; - Box::new(move |deny_unsafe, _| { + Box::new(move |_| { let deps = crate::rpc::FullDeps { client: client.clone(), pool: transaction_pool.clone(), - deny_unsafe, command_sink: command_sink.clone(), }; - crate::rpc::create_full(deps, backend.clone()).map_err(Into::into) }) }; diff --git a/node/service/src/common.rs b/node/service/src/common.rs index a51b4959aa..f1ba2ee445 100644 --- a/node/service/src/common.rs +++ b/node/service/src/common.rs @@ -1,18 +1,72 @@ #![allow(missing_docs)] -use std::net::SocketAddr; +use crate::service::ParachainClient; +use common_primitives::{node::Block, offchain::OcwCustomExt}; +use sc_client_api::Backend; +use sc_offchain::NetworkProvider; +use sc_service::{config::RpcEndpoint, TFullBackend, TaskManager}; +use sc_transaction_pool_api::OffchainTransactionPoolFactory; +use sp_keystore::KeystorePtr; +use std::{net::SocketAddr, sync::Arc}; const HTTP_PREFIX: &str = "http://"; /// Normalize and convert SocketAddr to string -pub fn convert_address_to_normalized_string(addr: &Option) -> Option> { - let mut address = match addr { - None => return None, - Some(SocketAddr::V4(v4)) => v4.to_string(), - Some(SocketAddr::V6(v6)) => v6.to_string(), - }; - - if !address.starts_with(HTTP_PREFIX) { - address = format!("{}{}", HTTP_PREFIX, address); +pub fn listen_addrs_to_normalized_strings(addr: &Option>) -> Option>> { + match addr { + None => None, + Some(rpc_endpoints) => { + let endpoints = rpc_endpoints + .iter() + .map(|endpoint| { + let socket_addr = endpoint.listen_addr; + let mut address = match socket_addr { + SocketAddr::V4(v4) => v4.to_string(), + SocketAddr::V6(v6) => v6.to_string(), + }; + if !address.starts_with(HTTP_PREFIX) { + address = format!("{}{}", HTTP_PREFIX, address); + } + address.into_bytes() + }) + .filter(|addr| addr.len() > 0) + .collect(); + Some(endpoints) + }, } - Some(address.into_bytes()) +} +type ParachainBackend = TFullBackend; +#[allow(clippy::expect_used)] +pub fn start_offchain_workers( + client: &Arc, + parachain_config: &sc_service::Configuration, + keystore: Option, + backend: &Arc, + transaction_pool: Option>, + network_provider: Arc, + task_manager: &TaskManager, +) { + use futures::FutureExt; + let rpc_addresses = listen_addrs_to_normalized_strings(¶chain_config.rpc.addr) + .expect("config.rpc.addr has invalid input"); + let rpc_address = rpc_addresses.get(0).expect("no rpc addresses in config").clone(); + let is_validator = parachain_config.role.is_authority(); + let offchain_workers = sc_offchain::OffchainWorkers::new(sc_offchain::OffchainWorkerOptions { + runtime_api_provider: client.clone(), + is_validator, + keystore, + offchain_db: backend.offchain_storage(), + transaction_pool, + network_provider, + enable_http_requests: true, + custom_extensions: move |_hash| vec![Box::new(OcwCustomExt(rpc_address.clone())) as Box<_>], + }) + .expect("Could not create Offchain Worker"); + + // Spawn a task to handle off-chain notifications. + // This task is responsible for processing off-chain events or data for the blockchain. + task_manager.spawn_handle().spawn( + "offchain-workers-runner", + "offchain-work", + offchain_workers.run(client.clone(), task_manager.spawn_handle()).boxed(), + ); } diff --git a/node/service/src/rpc/mod.rs b/node/service/src/rpc/mod.rs index cc5a64156c..3b59361784 100644 --- a/node/service/src/rpc/mod.rs +++ b/node/service/src/rpc/mod.rs @@ -29,8 +29,6 @@ pub struct FullDeps { pub client: Arc, /// Transaction pool instance. pub pool: Arc

, - /// Whether to deny unsafe calls - pub deny_unsafe: DenyUnsafe, /// Manual seal command sink pub command_sink: Option>>, } @@ -75,9 +73,9 @@ where use pallet_stateful_storage_rpc::{StatefulStorageApiServer, StatefulStorageHandler}; let mut module = RpcExtension::new(()); - let FullDeps { client, pool, deny_unsafe, command_sink } = deps; + let FullDeps { client, pool, command_sink } = deps; - module.merge(System::new(client.clone(), pool.clone(), deny_unsafe).into_rpc())?; + module.merge(System::new(client.clone(), pool.clone()).into_rpc())?; module.merge(TransactionPayment::new(client.clone()).into_rpc())?; module.merge(MessagesHandler::new(client.clone()).into_rpc())?; module.merge(SchemasHandler::new(client.clone()).into_rpc())?; diff --git a/node/service/src/service.rs b/node/service/src/service.rs index f5d083339a..19b2fd34ac 100644 --- a/node/service/src/service.rs +++ b/node/service/src/service.rs @@ -4,11 +4,10 @@ // Originally from https://github.com/paritytech/cumulus/blob/master/parachain-template/node/src/service.rs // std -use sc_client_api::Backend; -use std::{sync::Arc, time::Duration}; - use cumulus_client_cli::CollatorOptions; use frequency_runtime::RuntimeApi; +use sc_client_api::Backend; +use std::{ptr::addr_eq, sync::Arc, time::Duration}; // RPC use common_primitives::node::{AccountId, Balance, Block, Hash, Index as Nonce}; @@ -40,7 +39,7 @@ use futures::FutureExt; use sc_consensus::{ImportQueue, LongestChain}; use sc_executor::{HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY}; -use sc_network::{NetworkBackend, NetworkBlock, NetworkService}; +use sc_network::{config::FullNetworkConfiguration, NetworkBackend, NetworkBlock, NetworkService}; use sc_network_sync::SyncingService; use sc_service::{Configuration, PartialComponents, TFullBackend, TFullClient, TaskManager}; use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; @@ -67,6 +66,7 @@ type HostFunctions = ( common_primitives::offchain::custom::HostFunctions, ); +use crate::common::start_offchain_workers; pub use frequency_runtime; type ParachainExecutor = WasmExecutor; @@ -92,7 +92,7 @@ pub fn new_partial( ParachainBackend, MaybeFullSelectChain, sc_consensus::DefaultImportQueue, - sc_transaction_pool::FullPool, + sc_transaction_pool::TransactionPoolHandle, (ParachainBlockImport, Option, Option), >, sc_service::Error, @@ -109,15 +109,16 @@ pub fn new_partial( .transpose()?; let heap_pages = config + .executor .default_heap_pages .map_or(DEFAULT_HEAP_ALLOC_STRATEGY, |h| HeapAllocStrategy::Static { extra_pages: h as _ }); let executor = ParachainExecutor::builder() - .with_execution_method(config.wasm_method) + .with_execution_method(config.executor.wasm_method) .with_onchain_heap_alloc_strategy(heap_pages) .with_offchain_heap_alloc_strategy(heap_pages) - .with_max_runtime_instances(config.max_runtime_instances) - .with_runtime_cache_size(config.runtime_cache_size) + .with_max_runtime_instances(config.executor.max_runtime_instances) + .with_runtime_cache_size(config.executor.runtime_cache_size) .build(); let (client, backend, keystore_container, task_manager) = @@ -136,12 +137,16 @@ pub fn new_partial( telemetry }); - let transaction_pool = sc_transaction_pool::BasicPool::new_full( - config.transaction_pool.clone(), - config.role.is_authority().into(), - config.prometheus_registry(), - task_manager.spawn_essential_handle(), - client.clone(), + // See https://github.com/paritytech/polkadot-sdk/pull/4639 for how to enable the fork-aware pool. + let transaction_pool = Arc::from( + sc_transaction_pool::Builder::new( + task_manager.spawn_essential_handle(), + client.clone(), + config.role.is_authority().into(), + ) + .with_options(config.transaction_pool.clone()) + .with_prometheus(config.prometheus_registry()) + .build(), ); let block_import = ParachainBlockImport::new(client.clone(), backend.clone()); @@ -192,7 +197,7 @@ pub async fn start_parachain_node( para_id: ParaId, hwbench: Option, ) -> sc_service::error::Result<(TaskManager, Arc)> { - use crate::common::convert_address_to_normalized_string; + use crate::common::listen_addrs_to_normalized_strings; use common_primitives::offchain::OcwCustomExt; use sc_client_db::Backend; @@ -201,11 +206,11 @@ pub async fn start_parachain_node( let params = new_partial(¶chain_config, false)?; let (block_import, mut telemetry, telemetry_worker_handle) = params.other; - let net_config = sc_network::config::FullNetworkConfiguration::< - _, - _, - sc_network::NetworkWorker, - >::new(¶chain_config.network); + let prometheus_registry = parachain_config.prometheus_registry().cloned(); + let net_config = FullNetworkConfiguration::<_, _, sc_network::NetworkWorker>::new( + ¶chain_config.network, + prometheus_registry, + ); let client = params.client.clone(); let backend = params.backend.clone(); @@ -245,33 +250,15 @@ pub async fn start_parachain_node( // Start off-chain workers if enabled if parachain_config.offchain_worker.enabled { - use futures::FutureExt; log::info!("OFFCHAIN WORKER is Enabled!"); - let rpc_address = convert_address_to_normalized_string(¶chain_config.rpc_addr) - .expect("rpc-addr is not a valid input!"); - let offchain_workers = - sc_offchain::OffchainWorkers::new(sc_offchain::OffchainWorkerOptions { - runtime_api_provider: client.clone(), - is_validator: validator, - keystore: Some(params.keystore_container.keystore()), - offchain_db: backend.offchain_storage(), - transaction_pool: Some(OffchainTransactionPoolFactory::new( - transaction_pool.clone(), - )), - network_provider: Arc::new(network.clone()), - enable_http_requests: true, - custom_extensions: move |_hash| { - let cloned = rpc_address.clone(); - vec![Box::new(OcwCustomExt(cloned)) as Box<_>] - }, - }); - - // Spawn a task to handle off-chain notifications. - // This task is responsible for processing off-chain events or data for the blockchain. - task_manager.spawn_handle().spawn( - "offchain-workers-runner", - "offchain-work", - offchain_workers.run(client.clone(), task_manager.spawn_handle()).boxed(), + start_offchain_workers( + &client, + ¶chain_config, + Some(params.keystore_container.keystore()), + &backend, + Some(OffchainTransactionPoolFactory::new(transaction_pool.clone())), + Arc::new(network.clone()), + &task_manager, ); } @@ -284,11 +271,10 @@ pub async fn start_parachain_node( false => None, }; - Box::new(move |deny_unsafe, _| { + Box::new(move |_| { let deps = crate::rpc::FullDeps { client: client.clone(), pool: transaction_pool.clone(), - deny_unsafe, command_sink: None, }; @@ -313,10 +299,13 @@ pub async fn start_parachain_node( if let Some(hwbench) = hwbench { sc_sysinfo::print_hwbench(&hwbench); + let is_rc_authority = false; // Here you can check whether the hardware meets your chains' requirements. Putting a link // in there and swapping out the requirements for your own are probably a good idea. The // requirements for a para-chain are dictated by its relay-chain. - if validator && !SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench).is_ok() { + if validator && + !SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench, is_rc_authority).is_ok() + { log::warn!( "⚠️ The hardware does not meet the minimal requirements for role 'Authority'." ); @@ -423,8 +412,8 @@ fn start_consensus( telemetry: Option, task_manager: &TaskManager, relay_chain_interface: Arc, - transaction_pool: Arc>, - sync_oracle: Arc>, + transaction_pool: Arc>, + _sync_oracle: Arc>, keystore: KeystorePtr, relay_chain_slot_duration: Duration, para_id: ParaId, @@ -460,7 +449,6 @@ fn start_consensus( code_hash_provider: move |block_hash| { client.code_at(block_hash).ok().map(|c| ValidationCode::from(c).hash()) }, - sync_oracle, keystore, collator_key, para_id, @@ -472,10 +460,9 @@ fn start_consensus( reinitialize: false, }; - let fut = - aura::run::( - params, - ); + let fut = aura::run::( + params, + ); task_manager.spawn_essential_handle().spawn("aura", None, fut); diff --git a/pallets/capacity/src/lib.rs b/pallets/capacity/src/lib.rs index 539241e422..b9d72133a8 100644 --- a/pallets/capacity/src/lib.rs +++ b/pallets/capacity/src/lib.rs @@ -1237,6 +1237,13 @@ impl Nontransferable for Pallet { } } + fn replenishable_balance(msa_id: MessageSourceId) -> Self::Balance { + match CapacityLedger::::get(msa_id) { + Some(capacity_details) => capacity_details.total_capacity_issued, + None => BalanceOf::::zero(), + } + } + /// Spend capacity: reduce remaining capacity by the given amount fn deduct(msa_id: MessageSourceId, amount: Self::Balance) -> Result<(), DispatchError> { let mut capacity_details = diff --git a/pallets/capacity/src/tests/mock.rs b/pallets/capacity/src/tests/mock.rs index 00c793445e..faddeb1f3a 100644 --- a/pallets/capacity/src/tests/mock.rs +++ b/pallets/capacity/src/tests/mock.rs @@ -8,6 +8,7 @@ use common_primitives::{ node::{AccountId, ProposalProvider}, schema::{SchemaId, SchemaValidator}, }; +use common_runtime::weights; use frame_support::{ construct_runtime, parameter_types, traits::{ @@ -66,6 +67,7 @@ impl frame_system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo; } impl pallet_balances::Config for Test { @@ -82,6 +84,7 @@ impl pallet_balances::Config for Test { type MaxFreezes = ConstU32<1>; type RuntimeHoldReason = (); type RuntimeFreezeReason = (); + type DoneSlashHandler = (); } pub type MaxSchemaGrantsPerDelegation = ConstU32<30>; diff --git a/pallets/capacity/src/tests/testing_utils.rs b/pallets/capacity/src/tests/testing_utils.rs index f751006032..5cf9189ff2 100644 --- a/pallets/capacity/src/tests/testing_utils.rs +++ b/pallets/capacity/src/tests/testing_utils.rs @@ -2,6 +2,7 @@ use super::mock::*; use frame_support::{assert_ok, traits::Hooks}; #[allow(unused)] +#[allow(deprecated)] use sp_runtime::traits::SignedExtension; use crate::{ diff --git a/pallets/capacity/src/weights.rs b/pallets/capacity/src/weights.rs index ef5219e00d..27a49997cc 100644 --- a/pallets/capacity/src/weights.rs +++ b/pallets/capacity/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_capacity` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_capacity // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -63,10 +62,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) fn stake() -> Weight { // Proof Size summary in bytes: - // Measured: `177` + // Measured: `106` // Estimated: `5259` - // Minimum execution time: 39_389_000 picoseconds. - Weight::from_parts(40_523_000, 5259) + // Minimum execution time: 44_042_000 picoseconds. + Weight::from_parts(45_269_000, 5259) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -80,10 +79,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) fn withdraw_unstaked() -> Weight { // Proof Size summary in bytes: - // Measured: `226` + // Measured: `155` // Estimated: `5259` - // Minimum execution time: 24_163_000 picoseconds. - Weight::from_parts(24_873_000, 5259) + // Minimum execution time: 27_213_000 picoseconds. + Weight::from_parts(28_131_000, 5259) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -95,8 +94,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1984` - // Minimum execution time: 1_960_000 picoseconds. - Weight::from_parts(2_063_000, 1984) + // Minimum execution time: 2_598_000 picoseconds. + Weight::from_parts(2_789_000, 1984) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -108,8 +107,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `229` // Estimated: `4073` - // Minimum execution time: 6_626_000 picoseconds. - Weight::from_parts(7_003_000, 4073) + // Minimum execution time: 8_556_000 picoseconds. + Weight::from_parts(8_978_000, 4073) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -129,8 +128,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `359` // Estimated: `4601` - // Minimum execution time: 34_128_000 picoseconds. - Weight::from_parts(34_952_000, 4601) + // Minimum execution time: 45_120_000 picoseconds. + Weight::from_parts(45_915_000, 4601) .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -140,8 +139,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_859_000 picoseconds. - Weight::from_parts(4_304_000, 0) + // Minimum execution time: 5_260_000 picoseconds. + Weight::from_parts(5_544_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } /// Storage: `Capacity::Retargets` (r:1 w:1) @@ -158,8 +157,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `353` // Estimated: `6611` - // Minimum execution time: 33_067_000 picoseconds. - Weight::from_parts(34_335_000, 6611) + // Minimum execution time: 44_582_000 picoseconds. + Weight::from_parts(46_783_000, 6611) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(5_u64)) } @@ -183,10 +182,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Capacity::CurrentEraProviderBoostTotal` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn provider_boost() -> Weight { // Proof Size summary in bytes: - // Measured: `177` + // Measured: `143` // Estimated: `5259` - // Minimum execution time: 44_343_000 picoseconds. - Weight::from_parts(44_969_000, 5259) + // Minimum execution time: 51_747_000 picoseconds. + Weight::from_parts(53_889_000, 5259) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -196,10 +195,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Capacity::ProviderBoostRewardPools` (`max_values`: None, `max_size`: Some(113), added: 2588, mode: `MaxEncodedLen`) fn claim_staking_rewards() -> Weight { // Proof Size summary in bytes: - // Measured: `1587` + // Measured: `1516` // Estimated: `17013` - // Minimum execution time: 110_712_000 picoseconds. - Weight::from_parts(113_256_000, 17013) + // Minimum execution time: 121_473_000 picoseconds. + Weight::from_parts(124_337_000, 17013) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -223,10 +222,10 @@ impl WeightInfo for () { /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) fn stake() -> Weight { // Proof Size summary in bytes: - // Measured: `177` + // Measured: `106` // Estimated: `5259` - // Minimum execution time: 39_389_000 picoseconds. - Weight::from_parts(40_523_000, 5259) + // Minimum execution time: 44_042_000 picoseconds. + Weight::from_parts(45_269_000, 5259) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -240,10 +239,10 @@ impl WeightInfo for () { /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) fn withdraw_unstaked() -> Weight { // Proof Size summary in bytes: - // Measured: `226` + // Measured: `155` // Estimated: `5259` - // Minimum execution time: 24_163_000 picoseconds. - Weight::from_parts(24_873_000, 5259) + // Minimum execution time: 27_213_000 picoseconds. + Weight::from_parts(28_131_000, 5259) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -255,8 +254,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1984` - // Minimum execution time: 1_960_000 picoseconds. - Weight::from_parts(2_063_000, 1984) + // Minimum execution time: 2_598_000 picoseconds. + Weight::from_parts(2_789_000, 1984) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -268,8 +267,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `229` // Estimated: `4073` - // Minimum execution time: 6_626_000 picoseconds. - Weight::from_parts(7_003_000, 4073) + // Minimum execution time: 8_556_000 picoseconds. + Weight::from_parts(8_978_000, 4073) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -289,8 +288,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `359` // Estimated: `4601` - // Minimum execution time: 34_128_000 picoseconds. - Weight::from_parts(34_952_000, 4601) + // Minimum execution time: 45_120_000 picoseconds. + Weight::from_parts(45_915_000, 4601) .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -300,8 +299,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_859_000 picoseconds. - Weight::from_parts(4_304_000, 0) + // Minimum execution time: 5_260_000 picoseconds. + Weight::from_parts(5_544_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } /// Storage: `Capacity::Retargets` (r:1 w:1) @@ -318,8 +317,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `353` // Estimated: `6611` - // Minimum execution time: 33_067_000 picoseconds. - Weight::from_parts(34_335_000, 6611) + // Minimum execution time: 44_582_000 picoseconds. + Weight::from_parts(46_783_000, 6611) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(5_u64)) } @@ -343,10 +342,10 @@ impl WeightInfo for () { /// Proof: `Capacity::CurrentEraProviderBoostTotal` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn provider_boost() -> Weight { // Proof Size summary in bytes: - // Measured: `177` + // Measured: `143` // Estimated: `5259` - // Minimum execution time: 44_343_000 picoseconds. - Weight::from_parts(44_969_000, 5259) + // Minimum execution time: 51_747_000 picoseconds. + Weight::from_parts(53_889_000, 5259) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -356,10 +355,10 @@ impl WeightInfo for () { /// Proof: `Capacity::ProviderBoostRewardPools` (`max_values`: None, `max_size`: Some(113), added: 2588, mode: `MaxEncodedLen`) fn claim_staking_rewards() -> Weight { // Proof Size summary in bytes: - // Measured: `1587` + // Measured: `1516` // Estimated: `17013` - // Minimum execution time: 110_712_000 picoseconds. - Weight::from_parts(113_256_000, 17013) + // Minimum execution time: 121_473_000 picoseconds. + Weight::from_parts(124_337_000, 17013) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } diff --git a/pallets/frequency-tx-payment/Cargo.toml b/pallets/frequency-tx-payment/Cargo.toml index bdff0cd081..de46468e36 100644 --- a/pallets/frequency-tx-payment/Cargo.toml +++ b/pallets/frequency-tx-payment/Cargo.toml @@ -35,30 +35,38 @@ common-runtime = { path = "../../runtime/common", default-features = false } pallet-balances = { workspace = true } pallet-utility = { workspace = true } -# Frequency related dev dependencies -pallet-msa = { path = '../msa' } - [features] default = ["std"] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-capacity/runtime-benchmarks", + "pallet-msa/runtime-benchmarks", + "pallet-transaction-payment/runtime-benchmarks", "common-primitives/runtime-benchmarks", "common-runtime/runtime-benchmarks", - "pallet-capacity/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-utility/runtime-benchmarks", ] std = [ "parity-scale-codec/std", - "scale-info/std", + "frame-benchmarking/std", "frame-support/std", "frame-system/std", - "frame-benchmarking/std", + "pallet-capacity/std", + "pallet-msa/std", + "pallet-transaction-payment/std", + "scale-info/std", + "sp-core/std", + "sp-io/std", "sp-runtime/std", "sp-std/std", - "sp-core/std", "common-primitives/std", "common-runtime/std", - "sp-io/std", + "pallet-balances/std", + "pallet-utility/std", ] try-runtime = ["frame-support/try-runtime"] test = [] diff --git a/pallets/frequency-tx-payment/src/lib.rs b/pallets/frequency-tx-payment/src/lib.rs index 0f802279da..252840da9c 100644 --- a/pallets/frequency-tx-payment/src/lib.rs +++ b/pallets/frequency-tx-payment/src/lib.rs @@ -23,8 +23,12 @@ use frame_system::pallet_prelude::*; use pallet_transaction_payment::{FeeDetails, InclusionFee, OnChargeTransaction}; use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; +#[allow(deprecated)] use sp_runtime::{ - traits::{DispatchInfoOf, Dispatchable, PostDispatchInfoOf, SignedExtension, Zero}, + traits::{ + DispatchInfoOf, Dispatchable, PostDispatchInfoOf, SignedExtension, TransactionExtension, + Zero, + }, transaction_validity::{TransactionValidity, TransactionValidityError}, FixedPointOperand, Saturating, }; @@ -73,7 +77,7 @@ pub enum InitialPayment { /// No initial fee was paid. #[default] Free, - /// The initial fee was payed in the native currency. + /// The initial fee was paid in the native currency. Token(LiquidityInfoOf), /// The initial fee was paid in an asset. Capacity, @@ -190,7 +194,7 @@ pub mod pallet { #[pallet::weight({ let dispatch_info = call.get_dispatch_info(); let capacity_overhead = Pallet::::get_capacity_overhead_weight(); - let total = capacity_overhead.saturating_add(dispatch_info.weight); + let total = capacity_overhead.saturating_add(dispatch_info.call_weight); (< T as Config >::WeightInfo::pay_with_capacity().saturating_add(total), dispatch_info.class) })] pub fn pay_with_capacity( @@ -208,7 +212,7 @@ pub mod pallet { #[pallet::weight({ let dispatch_infos = calls.iter().map(|call| call.get_dispatch_info()).collect::>(); let dispatch_weight = dispatch_infos.iter() - .map(|di| di.weight) + .map(|di| di.call_weight) .fold(Weight::zero(), |total: Weight, weight: Weight| total.saturating_add(weight)); let capacity_overhead = Pallet::::get_capacity_overhead_weight(); @@ -368,6 +372,58 @@ where } } + // simulates fee calculation and withdrawal without applying any changes + fn dryrun_withdraw_fee( + &self, + who: &T::AccountId, + call: &::RuntimeCall, + info: &DispatchInfoOf<::RuntimeCall>, + len: usize, + ) -> Result, TransactionValidityError> { + match call.is_sub_type() { + Some(Call::pay_with_capacity { call }) => + self.dryrun_withdraw_capacity_fee(who, &vec![*call.clone()], len), + + Some(Call::pay_with_capacity_batch_all { calls }) => + self.dryrun_withdraw_capacity_fee(who, calls, len), + + _ => self.dryrun_withdraw_token_fee(who, call, info, len, self.tip(call)), + } + } + + fn dryrun_withdraw_capacity_fee( + &self, + who: &T::AccountId, + calls: &Vec<::RuntimeCall>, + len: usize, + ) -> Result, TransactionValidityError> { + let mut calls_weight_sum = Weight::zero(); + for call in calls { + let call_weight = T::CapacityCalls::get_stable_weight(call) + .ok_or(ChargeFrqTransactionPaymentError::CallIsNotCapacityEligible.into())?; + calls_weight_sum = calls_weight_sum.saturating_add(call_weight); + } + let fee = Pallet::::compute_capacity_fee(len as u32, calls_weight_sum); + T::OnChargeCapacityTransaction::can_withdraw_fee(who, fee.into())?; + Ok(fee) + } + + fn dryrun_withdraw_token_fee( + &self, + who: &T::AccountId, + call: &::RuntimeCall, + info: &DispatchInfoOf<::RuntimeCall>, + len: usize, + tip: BalanceOf, + ) -> Result, TransactionValidityError> { + let fee = pallet_transaction_payment::Pallet::::compute_fee(len as u32, info, tip); + if fee.is_zero() { + return Ok(Default::default()); + } + T::OnChargeTransaction::can_withdraw_fee(who, call, info, fee, tip)?; + Ok(fee) + } + /// Withdraws fee from either Capacity ledger or Token account. fn withdraw_fee( &self, @@ -393,13 +449,11 @@ where len: usize, ) -> Result<(BalanceOf, InitialPayment), TransactionValidityError> { let mut calls_weight_sum = Weight::zero(); - for call in calls { let call_weight = T::CapacityCalls::get_stable_weight(call) .ok_or(ChargeFrqTransactionPaymentError::CallIsNotCapacityEligible.into())?; calls_weight_sum = calls_weight_sum.saturating_add(call_weight); } - let fee = Pallet::::compute_capacity_fee(len as u32, calls_weight_sum); let fee = T::OnChargeCapacityTransaction::withdraw_fee(key, fee.into())?; @@ -418,7 +472,7 @@ where ) -> Result<(BalanceOf, InitialPayment), TransactionValidityError> { let fee = pallet_transaction_payment::Pallet::::compute_fee(len as u32, info, tip); if fee.is_zero() { - return Ok((fee, InitialPayment::Free)) + return Ok((fee, InitialPayment::Free)); } as OnChargeTransaction>::withdraw_fee( @@ -440,6 +494,7 @@ impl sp_std::fmt::Debug for ChargeFrqTransactionPayment { } } +#[allow(deprecated)] impl SignedExtension for ChargeFrqTransactionPayment where ::RuntimeCall: @@ -456,6 +511,7 @@ where type AccountId = T::AccountId; type Call = ::RuntimeCall; type AdditionalSigned = (); + #[allow(deprecated)] type Pre = ( // tip BalanceOf, @@ -470,6 +526,7 @@ where } /// Frequently called by the transaction queue to validate all extrinsics: + #[allow(deprecated)] fn validate( &self, who: &Self::AccountId, @@ -477,7 +534,7 @@ where info: &DispatchInfoOf, len: usize, ) -> TransactionValidity { - let (fee, _) = self.withdraw_fee(who, call, info, len)?; + let fee = self.dryrun_withdraw_fee(who, call, info, len)?; let priority = pallet_transaction_payment::ChargeTransactionPayment::::get_priority( info, @@ -490,6 +547,7 @@ where } /// Do any pre-flight stuff for a signed transaction. + #[allow(deprecated)] fn pre_dispatch( self, who: &Self::AccountId, @@ -503,6 +561,7 @@ where } /// Do any post-flight stuff for an extrinsic. + #[allow(deprecated)] fn post_dispatch( maybe_pre: Option, info: &DispatchInfoOf, @@ -512,18 +571,24 @@ where ) -> Result<(), TransactionValidityError> { if let Some((tip, who, initial_payment)) = maybe_pre { match initial_payment { + // If this is a Token transaction, passthrough InitialPayment::Token(already_withdrawn) => { - pallet_transaction_payment::ChargeTransactionPayment::::post_dispatch( - Some((tip, who, already_withdrawn)), - info, - post_info, - len, - result, - )?; + // post_dispatch_details eliminated the Option from the first param. + // TransactionExtension implementers are expected to customize Pre to separate signed from unsigned. + // https://github.com/paritytech/polkadot-sdk/pull/3685/files?#diff-be5f002cca427d36cd5322cc1af56544cce785482d69721b976aebf5821a78e3L875 + pallet_transaction_payment::ChargeTransactionPayment::::post_dispatch_details( + pallet_transaction_payment::Pre::Charge { tip, who, imbalance: already_withdrawn }, + info, + post_info, + len, + result, + )?; }, + // If it's capacity, do nothing InitialPayment::Capacity => { debug_assert!(tip.is_zero(), "tip should be zero for Capacity tx."); }, + // If it's a free txn, do nothing InitialPayment::Free => { // `actual_fee` should be zero here for any signed extrinsic. It would be // non-zero here in case of unsigned extrinsics as they don't pay fees but diff --git a/pallets/frequency-tx-payment/src/payment.rs b/pallets/frequency-tx-payment/src/payment.rs index 8f29b02962..f440a5d20b 100644 --- a/pallets/frequency-tx-payment/src/payment.rs +++ b/pallets/frequency-tx-payment/src/payment.rs @@ -15,6 +15,12 @@ pub trait OnChargeCapacityTransaction { key: &T::AccountId, fee: Self::Balance, ) -> Result; + + /// Checks if there is enough Capacity balance to cover the fee. + fn can_withdraw_fee( + key: &T::AccountId, + fee: Self::Balance, + ) -> Result<(), TransactionValidityError>; } /// A type used to withdraw Capacity from an account. @@ -35,11 +41,6 @@ where key: &T::AccountId, fee: Self::Balance, ) -> Result { - ensure!( - Curr::total_balance(key) >= Curr::minimum_balance(), - TransactionValidityError::Invalid(InvalidTransaction::Payment) - ); - let msa_id = Msa::ensure_valid_msa_key(key) .map_err(|_| ChargeFrqTransactionPaymentError::InvalidMsaKey.into())?; @@ -57,4 +58,32 @@ where Ok(fee) } + + /// Check that there is enough capacity to cover the transaction. + /// Returns: Msa ID for the AccountId, or TransactionValidityError. + fn can_withdraw_fee( + key: &T::AccountId, + fee: Self::Balance, + ) -> Result<(), TransactionValidityError> { + let minimum_balance = Curr::minimum_balance(); + ensure!( + Curr::total_balance(key) >= minimum_balance, + TransactionValidityError::Invalid(InvalidTransaction::Payment) + ); + + let msa_id = Msa::ensure_valid_msa_key(key) + .map_err(|_| ChargeFrqTransactionPaymentError::InvalidMsaKey.into())?; + + let available_capacity: Self::Balance = if T::Capacity::can_replenish(msa_id) { + T::Capacity::replenishable_balance(msa_id).into() + } else { + T::Capacity::balance(msa_id).into() + }; + + ensure!( + fee <= available_capacity, + TransactionValidityError::Invalid(InvalidTransaction::Payment) + ); + Ok(()) + } } diff --git a/pallets/frequency-tx-payment/src/tests/mock.rs b/pallets/frequency-tx-payment/src/tests/mock.rs index 864c34922e..a9eacb04db 100644 --- a/pallets/frequency-tx-payment/src/tests/mock.rs +++ b/pallets/frequency-tx-payment/src/tests/mock.rs @@ -90,6 +90,7 @@ impl frame_system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } impl pallet_balances::Config for Test { @@ -106,6 +107,7 @@ impl pallet_balances::Config for Test { type RuntimeFreezeReason = (); type MaxFreezes = ConstU32<1>; type RuntimeHoldReason = (); + type DoneSlashHandler = (); } pub type MaxSchemaGrantsPerDelegation = ConstU32<30>; @@ -200,6 +202,7 @@ impl pallet_transaction_payment::Config for Test { type LengthToFee = TransactionByteFee; type FeeMultiplierUpdate = (); type OperationalFeeMultiplier = ConstU8<5>; + type WeightInfo = (); } // so the value can be used by create_capacity_for below, without having to pass it a Config. diff --git a/pallets/frequency-tx-payment/src/tests/pallet_tests.rs b/pallets/frequency-tx-payment/src/tests/pallet_tests.rs index cc57509b73..732bfc21ab 100644 --- a/pallets/frequency-tx-payment/src/tests/pallet_tests.rs +++ b/pallets/frequency-tx-payment/src/tests/pallet_tests.rs @@ -14,6 +14,7 @@ use pallet_frequency_tx_payment::Call as FrequencyTxPaymentCall; use pallet_msa::Call as MsaCall; #[test] +#[allow(deprecated)] fn transaction_payment_validate_is_succesful() { let balance_factor = 10; @@ -26,7 +27,7 @@ fn transaction_payment_validate_is_succesful() { let balances_call: &::RuntimeCall = &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); let dispatch_info = - DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; assert_ok!(ChargeFrqTransactionPayment::::from(0u64).validate( @@ -39,6 +40,7 @@ fn transaction_payment_validate_is_succesful() { } #[test] +#[allow(deprecated)] fn transaction_payment_validate_errors_when_balance_is_cannot_pay_for_fee() { let balance_factor = 1; @@ -51,7 +53,7 @@ fn transaction_payment_validate_errors_when_balance_is_cannot_pay_for_fee() { let balances_call: &::RuntimeCall = &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); let dispatch_info = - DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; assert_noop!( @@ -67,6 +69,7 @@ fn transaction_payment_validate_errors_when_balance_is_cannot_pay_for_fee() { } #[test] +#[allow(deprecated)] fn transaction_payment_with_token_and_no_overcharge_post_dispatch_refund_is_succesful() { let balance_factor = 10; @@ -79,7 +82,7 @@ fn transaction_payment_with_token_and_no_overcharge_post_dispatch_refund_is_succ let balances_call: &::RuntimeCall = &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); let dispatch_info = - DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; assert_eq!(Balances::free_balance(1), 100); @@ -110,6 +113,7 @@ fn transaction_payment_with_token_and_no_overcharge_post_dispatch_refund_is_succ } #[test] +#[allow(deprecated)] fn transaction_payment_with_token_and_post_dispatch_refund_is_succesful() { let balance_factor = 10; @@ -122,7 +126,7 @@ fn transaction_payment_with_token_and_post_dispatch_refund_is_succesful() { let balances_call: &::RuntimeCall = &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); let dispatch_info = - DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; assert_eq!(Balances::free_balance(1), 100); @@ -158,6 +162,7 @@ fn transaction_payment_with_token_and_post_dispatch_refund_is_succesful() { } #[test] +#[allow(deprecated)] fn transaction_payment_with_capacity_and_no_overcharge_post_dispatch_refund_is_succesful() { let balance_factor = 100_000_000; @@ -176,7 +181,7 @@ fn transaction_payment_with_capacity_and_no_overcharge_post_dispatch_refund_is_s }); let dispatch_info = - DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; assert_eq!(Capacity::balance(1), 1_000_000_000); @@ -210,6 +215,7 @@ fn transaction_payment_with_capacity_and_no_overcharge_post_dispatch_refund_is_s } #[test] +#[allow(deprecated)] fn pay_with_capacity_happy_path() { let balance_factor = 10; @@ -229,6 +235,7 @@ fn pay_with_capacity_happy_path() { } #[test] +#[allow(deprecated)] fn pay_with_capacity_errors_with_call_error() { let balance_factor = 10; @@ -251,6 +258,7 @@ fn pay_with_capacity_errors_with_call_error() { } #[test] +#[allow(deprecated)] fn pay_with_capacity_returns_weight_of_child_call() { let create_msa_call = Box::new(RuntimeCall::Msa(MsaCall::::create {})); let create_msa_dispatch_info = create_msa_call.get_dispatch_info(); @@ -261,12 +269,13 @@ fn pay_with_capacity_returns_weight_of_child_call() { let pay_with_capacity_dispatch_info = pay_with_capacity_call.get_dispatch_info(); assert!(pay_with_capacity_dispatch_info - .weight + .call_weight .ref_time() - .gt(&create_msa_dispatch_info.weight.ref_time())); + .gt(&create_msa_dispatch_info.call_weight.ref_time())); } #[test] +#[allow(deprecated)] fn charge_frq_transaction_payment_withdraw_fee_for_capacity_batch_tx_returns_tuple_with_fee_and_enum( ) { let balance_factor = 100_000_000; @@ -286,7 +295,7 @@ fn charge_frq_transaction_payment_withdraw_fee_for_capacity_batch_tx_returns_tup })], }); - let info = DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + let info = DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; // fee = base_weight(CAPACITY_EXTRINSIC_BASE_WEIGHT) @@ -303,6 +312,7 @@ fn charge_frq_transaction_payment_withdraw_fee_for_capacity_batch_tx_returns_tup } #[test] +#[allow(deprecated)] fn charge_frq_transaction_payment_withdraw_fee_for_capacity_tx_returns_tupple_with_fee_and_enum() { let balance_factor = 100_000_000; @@ -321,7 +331,7 @@ fn charge_frq_transaction_payment_withdraw_fee_for_capacity_tx_returns_tupple_wi })), }); - let info = DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + let info = DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; // fee = base_weight(CAPACITY_EXTRINSIC_BASE_WEIGHT) @@ -358,7 +368,7 @@ fn charge_frq_transaction_payment_withdraw_fee_errors_for_capacity_tx_when_user_ })), }); - let info = DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + let info = DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; let result = charge_tx_payment.withdraw_fee(&who, call, &info, len); assert_eq!( @@ -383,7 +393,7 @@ fn charge_frq_transaction_payment_withdraw_fee_errors_for_non_capacity_tx_when_u let call: &::RuntimeCall = &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); - let info = DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + let info = DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; let error = charge_tx_payment.withdraw_fee(&who, call, &info, len).unwrap_err(); assert_eq!(error, TransactionValidityError::Invalid(InvalidTransaction::Payment)); @@ -405,7 +415,7 @@ fn charge_frq_transaction_payment_withdraw_fee_for_non_capacity_tx_returns_tuppl let call: &::RuntimeCall = &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); - let info = DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + let info = DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let len = 10; let result = charge_tx_payment.withdraw_fee(&who, call, &info, len).unwrap(); @@ -438,7 +448,7 @@ fn charge_frq_transaction_payment_withdraw_fee_for_free_non_capacity_tx_returns_ &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); let info = DispatchInfo { - weight: Weight::from_parts(5, 0), + call_weight: Weight::from_parts(5, 0), pays_fee: Pays::No, ..Default::default() }; @@ -494,7 +504,8 @@ pub fn assert_withdraw_fee_result( call: &::RuntimeCall, expected_err: Option, ) { - let dispatch_info = DispatchInfo { weight: Weight::from_parts(5, 0), ..Default::default() }; + let dispatch_info = + DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; let call: &::RuntimeCall = &RuntimeCall::FrequencyTxPayment(Call::pay_with_capacity { call: Box::new(call.clone()) }); @@ -824,9 +835,8 @@ fn compute_capacity_fee_returns_zero_when_call_is_not_capacity_eligible() { let balance_factor = 10; let call: &::RuntimeCall = &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); - let origin = 111111; - let extra = (); - let xt = TestXt::new(call.clone(), Some((origin, extra))); + // since we are not checking the signature in FrequencyTxPayment here we can use TestXt::new_bare for simplicity eventhough the Call would be signed one in reality + let xt: TestXt, ()> = TestXt::new_bare(call.clone()); let ext = xt.encode(); let len = ext.len() as u32; let dispatch_info = call.get_dispatch_info(); @@ -836,8 +846,11 @@ fn compute_capacity_fee_returns_zero_when_call_is_not_capacity_eligible() { .base_weight(Weight::from_parts(5, 0)) .build() .execute_with(|| { - let fee = - FrequencyTxPayment::compute_capacity_fee_details(call, &dispatch_info.weight, len); + let fee = FrequencyTxPayment::compute_capacity_fee_details( + call, + &dispatch_info.call_weight, + len, + ); assert!(fee.inclusion_fee.is_some()); assert!(fee.tip == 0); }); @@ -850,21 +863,148 @@ fn compute_capacity_fee_returns_fee_when_call_is_capacity_eligible() { &RuntimeCall::FrequencyTxPayment(Call::pay_with_capacity { call: Box::new(RuntimeCall::Msa(MsaCall::::create {})), }); - let origin = 111111; - let extra = (); - let xt = TestXt::new(call.clone(), Some((origin, extra))); + // since we are not checking the signature in FrequencyTxPayment here we can use TestXt::new_bare for simplicity eventhough the Call would be signed one in reality + let xt: TestXt, ()> = TestXt::new_bare(call.clone()); let ext = xt.encode(); let len = ext.len() as u32; let dispatch_info = call.get_dispatch_info(); - assert!(!dispatch_info.weight.is_zero()); + assert!(!dispatch_info.call_weight.is_zero()); ExtBuilder::default() .balance_factor(balance_factor) .base_weight(Weight::from_parts(5, 0)) .build() .execute_with(|| { - let fee_res = - FrequencyTxPayment::compute_capacity_fee_details(call, &dispatch_info.weight, len); + let fee_res = FrequencyTxPayment::compute_capacity_fee_details( + call, + &dispatch_info.call_weight, + len, + ); assert!(fee_res.inclusion_fee.is_some()); }); } + +pub fn assert_dryrun_withdraw_fee_result( + account_id: ::AccountId, + call: &::RuntimeCall, + expected_err: Option, +) { + let dispatch_info = + DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; + + let call: &::RuntimeCall = + &RuntimeCall::FrequencyTxPayment(Call::pay_with_capacity { call: Box::new(call.clone()) }); + + let dryrun_withdraw_fee = ChargeFrqTransactionPayment::::from(0u64).dryrun_withdraw_fee( + &account_id, + call, + &dispatch_info, + 10, + ); + + match expected_err { + None => assert!(dryrun_withdraw_fee.is_ok()), + Some(err) => { + assert!(dryrun_withdraw_fee.is_err()); + assert_eq!(err, dryrun_withdraw_fee.err().unwrap()) + }, + } +} + +/// can_withdraw_fee, token transactions +#[test] +fn can_withdraw_fee_allows_configured_capacity_calls() { + let balance_factor = 100_000_000; + + ExtBuilder::default() + .balance_factor(balance_factor) + .base_weight(Weight::from_parts(5, 0)) + .build() + .execute_with(|| { + let account_id = 1u64; + let allowed_call: &::RuntimeCall = + &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); + + let forbidden_call: &::RuntimeCall = + &RuntimeCall::Balances(BalancesCall::transfer_all { dest: 2, keep_alive: false }); + + assert_dryrun_withdraw_fee_result(account_id, allowed_call, None); + + let expected_err = TransactionValidityError::Invalid(InvalidTransaction::Custom( + ChargeFrqTransactionPaymentError::CallIsNotCapacityEligible as u8, + )); + assert_dryrun_withdraw_fee_result(account_id, forbidden_call, Some(expected_err)); + }); +} +#[test] +fn can_withdraw_fee_errors_on_capacity_transaction_without_enough_funds() { + let balance_factor = 10; + + ExtBuilder::default() + .balance_factor(balance_factor) + .base_weight(Weight::from_parts(5, 0)) + .build() + .execute_with(|| { + // An account that has an MSA but has not bet the min balance for key deposit. + let account_id = 10u64; + let _ = tests::mock::create_msa_account(account_id); + + let call: &::RuntimeCall = + &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); + + let expected_err = TransactionValidityError::Invalid(InvalidTransaction::Payment); + assert_dryrun_withdraw_fee_result(account_id, call, Some(expected_err)); + }); +} +#[test] +fn can_withdraw_fee_errors_for_capacity_txn_when_invalid_msa() { + let balance_factor = 100_000_000; + + ExtBuilder::default() + .balance_factor(balance_factor) + .base_weight(Weight::from_parts(5, 0)) + .build() + .execute_with(|| { + // An account that has an MSA but has not bet the min balance for key deposit. + let account_id_not_associated_with_msa = 10u64; + // This allows it not to fail on the requirement of an existential deposit. + assert_ok!(Balances::force_set_balance( + RawOrigin::Root.into(), + account_id_not_associated_with_msa, + 1u32.into(), + )); + + let call: &::RuntimeCall = + &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); + + let expected_err = TransactionValidityError::Invalid(InvalidTransaction::Custom( + ChargeFrqTransactionPaymentError::InvalidMsaKey as u8, + )); + assert_dryrun_withdraw_fee_result( + account_id_not_associated_with_msa, + call, + Some(expected_err), + ); + }); +} + +#[test] +fn can_withdraw_fee_errors_on_token_txn_witout_enough_funds() { + let balance_factor = 10; + + ExtBuilder::default() + .balance_factor(balance_factor) + .base_weight(Weight::from_parts(100, 0)) + .build() + .execute_with(|| { + let charge_tx_payment = ChargeFrqTransactionPayment::::from(0u64); + let who = 1u64; + let call: &::RuntimeCall = + &RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 100 }); + + let info = DispatchInfo { call_weight: Weight::from_parts(5, 0), ..Default::default() }; + let len = 10; + let error = charge_tx_payment.dryrun_withdraw_fee(&who, call, &info, len).unwrap_err(); + assert_eq!(error, TransactionValidityError::Invalid(InvalidTransaction::Payment)); + }); +} diff --git a/pallets/frequency-tx-payment/src/weights.rs b/pallets/frequency-tx-payment/src/weights.rs index 2dd2c41306..00cdd3f35e 100644 --- a/pallets/frequency-tx-payment/src/weights.rs +++ b/pallets/frequency-tx-payment/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_frequency_tx_payment` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_frequency-tx-payment // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -44,18 +43,18 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_298_000 picoseconds. - Weight::from_parts(3_560_000, 0) + // Minimum execution time: 3_954_000 picoseconds. + Weight::from_parts(4_090_000, 0) } /// The range of component `n` is `[0, 10]`. fn pay_with_capacity_batch_all(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_162_000 picoseconds. - Weight::from_parts(6_071_275, 0) - // Standard Error: 9_638 - .saturating_add(Weight::from_parts(3_167_666, 0).saturating_mul(n.into())) + // Minimum execution time: 6_308_000 picoseconds. + Weight::from_parts(7_656_979, 0) + // Standard Error: 14_975 + .saturating_add(Weight::from_parts(3_233_270, 0).saturating_mul(n.into())) } } @@ -65,18 +64,18 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_298_000 picoseconds. - Weight::from_parts(3_560_000, 0) + // Minimum execution time: 3_954_000 picoseconds. + Weight::from_parts(4_090_000, 0) } /// The range of component `n` is `[0, 10]`. fn pay_with_capacity_batch_all(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_162_000 picoseconds. - Weight::from_parts(6_071_275, 0) - // Standard Error: 9_638 - .saturating_add(Weight::from_parts(3_167_666, 0).saturating_mul(n.into())) + // Minimum execution time: 6_308_000 picoseconds. + Weight::from_parts(7_656_979, 0) + // Standard Error: 14_975 + .saturating_add(Weight::from_parts(3_233_270, 0).saturating_mul(n.into())) } } diff --git a/pallets/handles/src/handles_signed_extension.rs b/pallets/handles/src/handles_signed_extension.rs index bd89ef3b9a..d089b97667 100644 --- a/pallets/handles/src/handles_signed_extension.rs +++ b/pallets/handles/src/handles_signed_extension.rs @@ -8,6 +8,7 @@ use frame_support::{ }; use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; +#[allow(deprecated)] use sp_runtime::{ traits::{DispatchInfoOf, Dispatchable, SignedExtension}, transaction_validity::{InvalidTransaction, TransactionValidity, TransactionValidityError}, @@ -79,6 +80,7 @@ pub fn map_dispatch_error(err: DispatchError) -> InvalidTransaction { }) } +#[allow(deprecated)] impl SignedExtension for HandlesSignedExtension where T::RuntimeCall: Dispatchable + IsSubType>, @@ -95,6 +97,7 @@ where } /// Pre dispatch + #[allow(deprecated)] fn pre_dispatch( self, who: &Self::AccountId, @@ -115,6 +118,7 @@ where /// call: The pallet extrinsic being called /// unused: _info, _len /// + #[allow(deprecated)] fn validate( &self, who: &Self::AccountId, diff --git a/pallets/handles/src/tests/handle_retirements_tests.rs b/pallets/handles/src/tests/handle_retirements_tests.rs index 1aedcd2719..59677b82f7 100644 --- a/pallets/handles/src/tests/handle_retirements_tests.rs +++ b/pallets/handles/src/tests/handle_retirements_tests.rs @@ -7,6 +7,7 @@ use frame_support::{ use numtoa::*; use parity_scale_codec::Decode; use sp_core::{sr25519, Encode, Pair}; +#[allow(deprecated)] use sp_runtime::traits::SignedExtension; #[test] @@ -87,6 +88,7 @@ fn test_handle_early_retirement_fails() { &RuntimeCall::Handles(HandlesCall::retire_handle {}); let info = DispatchInfo::default(); let len = 0_usize; + #[allow(deprecated)] let early_retire_result = HandlesSignedExtension::::new().validate( &alice.public().into(), call_retire_handle, diff --git a/pallets/handles/src/tests/mock.rs b/pallets/handles/src/tests/mock.rs index c95c0d6ae4..31204bbe23 100644 --- a/pallets/handles/src/tests/mock.rs +++ b/pallets/handles/src/tests/mock.rs @@ -85,6 +85,7 @@ impl frame_system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } impl pallet_handles::Config for Test { diff --git a/pallets/handles/src/tests/signed_extension_tests.rs b/pallets/handles/src/tests/signed_extension_tests.rs index 197f60b32b..4ead98a5a2 100644 --- a/pallets/handles/src/tests/signed_extension_tests.rs +++ b/pallets/handles/src/tests/signed_extension_tests.rs @@ -1,6 +1,7 @@ use crate::{handles_signed_extension::HandlesSignedExtension, tests::mock::*}; use frame_support::{assert_ok, dispatch::DispatchInfo}; use sp_core::{sr25519, Pair}; +#[allow(deprecated)] use sp_runtime::traits::SignedExtension; /// Assert that retiring a handle passes the signed extension HandlesSignedExtension @@ -28,6 +29,7 @@ fn signed_extension_retire_handle_success() { &RuntimeCall::Handles(HandlesCall::retire_handle {}); let info = DispatchInfo::default(); let len = 0_usize; + #[allow(deprecated)] let result = HandlesSignedExtension::::new().validate( &alice.public().into(), call_retire_handle, @@ -40,6 +42,7 @@ fn signed_extension_retire_handle_success() { /// Assert that retiring a handle w/o existing one fails the signed extension HandlesSignedExtension #[test] +#[allow(deprecated)] fn signed_extension_retire_handle_failure() { new_test_ext().execute_with(|| { let alice = sr25519::Pair::from_seed(&[0; 32]); @@ -60,6 +63,7 @@ fn signed_extension_retire_handle_failure() { } #[test] +#[allow(deprecated)] fn test_early_retirement_should_fail() { new_test_ext().execute_with(|| { let base_handle_str = "test1"; diff --git a/pallets/handles/src/weights.rs b/pallets/handles/src/weights.rs index 1a00e16ec1..8b8a5bdfb7 100644 --- a/pallets/handles/src/weights.rs +++ b/pallets/handles/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_handles` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_handles // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -54,10 +53,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `116` // Estimated: `4019` - // Minimum execution time: 103_693_000 picoseconds. - Weight::from_parts(107_642_975, 4019) - // Standard Error: 28_411 - .saturating_add(Weight::from_parts(29_532, 0).saturating_mul(b.into())) + // Minimum execution time: 109_479_000 picoseconds. + Weight::from_parts(111_457_182, 4019) + // Standard Error: 24_379 + .saturating_add(Weight::from_parts(76_553, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -74,10 +73,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `222 + b * (1 ±0)` // Estimated: `4019` - // Minimum execution time: 109_659_000 picoseconds. - Weight::from_parts(112_334_109, 4019) - // Standard Error: 24_882 - .saturating_add(Weight::from_parts(106_057, 0).saturating_mul(b.into())) + // Minimum execution time: 117_135_000 picoseconds. + Weight::from_parts(118_834_355, 4019) + // Standard Error: 10_920 + .saturating_add(Weight::from_parts(159_331, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -91,8 +90,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `231` // Estimated: `4019` - // Minimum execution time: 18_429_000 picoseconds. - Weight::from_parts(19_075_000, 4019) + // Minimum execution time: 23_859_000 picoseconds. + Weight::from_parts(24_417_000, 4019) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -113,10 +112,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `116` // Estimated: `4019` - // Minimum execution time: 103_693_000 picoseconds. - Weight::from_parts(107_642_975, 4019) - // Standard Error: 28_411 - .saturating_add(Weight::from_parts(29_532, 0).saturating_mul(b.into())) + // Minimum execution time: 109_479_000 picoseconds. + Weight::from_parts(111_457_182, 4019) + // Standard Error: 24_379 + .saturating_add(Weight::from_parts(76_553, 0).saturating_mul(b.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -133,10 +132,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `222 + b * (1 ±0)` // Estimated: `4019` - // Minimum execution time: 109_659_000 picoseconds. - Weight::from_parts(112_334_109, 4019) - // Standard Error: 24_882 - .saturating_add(Weight::from_parts(106_057, 0).saturating_mul(b.into())) + // Minimum execution time: 117_135_000 picoseconds. + Weight::from_parts(118_834_355, 4019) + // Standard Error: 10_920 + .saturating_add(Weight::from_parts(159_331, 0).saturating_mul(b.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -150,8 +149,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `231` // Estimated: `4019` - // Minimum execution time: 18_429_000 picoseconds. - Weight::from_parts(19_075_000, 4019) + // Minimum execution time: 23_859_000 picoseconds. + Weight::from_parts(24_417_000, 4019) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } diff --git a/pallets/messages/Cargo.toml b/pallets/messages/Cargo.toml index 88972257cf..ce37ba9687 100644 --- a/pallets/messages/Cargo.toml +++ b/pallets/messages/Cargo.toml @@ -35,7 +35,7 @@ common-runtime = { path = '../../runtime/common', default-features = false } rand = { workspace = true } pretty_assertions = { workspace = true } serde = { workspace = true, features = ["derive"] } -serde_json = "1.0" +serde_json = { workspace = true } [features] default = ['std'] @@ -60,4 +60,4 @@ std = [ 'common-runtime/std', ] try-runtime = ['frame-support/try-runtime'] -test = [] \ No newline at end of file +test = [] diff --git a/pallets/messages/src/benchmarking.rs b/pallets/messages/src/benchmarking.rs index 632bad471c..319551ffe5 100644 --- a/pallets/messages/src/benchmarking.rs +++ b/pallets/messages/src/benchmarking.rs @@ -13,9 +13,12 @@ use frame_support::{assert_ok, pallet_prelude::DispatchResult}; use frame_system::{pallet_prelude::BlockNumberFor, RawOrigin}; use sp_runtime::traits::One; -const IPFS_SCHEMA_ID: u16 = 50; +const SCHEMA_SIZE: u16 = 50; const IPFS_PAYLOAD_LENGTH: u32 = 10; const MAX_MESSAGES_IN_BLOCK: u32 = 500; +const ON_CHAIN_SCHEMA_ID: u16 = 16001; +// this value should be the same as the one used in mocks tests +const IPFS_SCHEMA_ID: u16 = 20; fn onchain_message(schema_id: SchemaId) -> DispatchResult { let message_source_id = DelegatorId(1); @@ -67,12 +70,13 @@ benchmarks! { let n in 0 .. T::MessagesMaxPayloadSizeBytes::get() - 1; let message_source_id = DelegatorId(2); let caller: T::AccountId = whitelisted_caller(); - let schema_id = 1; + let schema_id = ON_CHAIN_SCHEMA_ID; // schema ids start from 1, and we need to add that many to make sure our desired id exists - for j in 0 ..=schema_id { + for j in 0 ..=SCHEMA_SIZE { assert_ok!(create_schema::(PayloadLocation::OnChain)); } + assert_ok!(T::MsaBenchmarkHelper::add_key(ProviderId(1).into(), caller.clone())); assert_ok!(T::MsaBenchmarkHelper::set_delegation_relationship(ProviderId(1), message_source_id.into(), [schema_id].to_vec())); @@ -91,19 +95,20 @@ benchmarks! { add_ipfs_message { let caller: T::AccountId = whitelisted_caller(); let cid = "bafkreidgvpkjawlxz6sffxzwgooowe5yt7i6wsyg236mfoks77nywkptdq".as_bytes().to_vec(); + let schema_id = IPFS_SCHEMA_ID; // schema ids start from 1, and we need to add that many to make sure our desired id exists - for j in 0 ..=IPFS_SCHEMA_ID { + for j in 0 ..=SCHEMA_SIZE { assert_ok!(create_schema::(PayloadLocation::IPFS)); } assert_ok!(T::MsaBenchmarkHelper::add_key(ProviderId(1).into(), caller.clone())); for j in 1 .. MAX_MESSAGES_IN_BLOCK { - assert_ok!(ipfs_message::(IPFS_SCHEMA_ID)); + assert_ok!(ipfs_message::(schema_id)); } - }: _ (RawOrigin::Signed(caller),IPFS_SCHEMA_ID, cid, IPFS_PAYLOAD_LENGTH) + }: _ (RawOrigin::Signed(caller), schema_id, cid, IPFS_PAYLOAD_LENGTH) verify { assert_eq!(MessagesPallet::::get_messages_by_schema_and_block( - IPFS_SCHEMA_ID, PayloadLocation::IPFS, BlockNumberFor::::one()).len(), + schema_id, PayloadLocation::IPFS, BlockNumberFor::::one()).len(), MAX_MESSAGES_IN_BLOCK as usize ); } diff --git a/pallets/messages/src/tests/mock.rs b/pallets/messages/src/tests/mock.rs index faffe3385b..7cdf2e7cf0 100644 --- a/pallets/messages/src/tests/mock.rs +++ b/pallets/messages/src/tests/mock.rs @@ -24,7 +24,8 @@ use std::fmt::Formatter; type Block = frame_system::mocking::MockBlockU32; pub const INVALID_SCHEMA_ID: SchemaId = 65534; -pub const IPFS_SCHEMA_ID: SchemaId = 50; +// this value should be the same as the one used in benchmarking +pub const IPFS_SCHEMA_ID: SchemaId = 20; pub const IPFS_PAYLOAD_LENGTH: u32 = 1200; @@ -71,6 +72,7 @@ impl system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } pub type MaxSchemaGrantsPerDelegation = ConstU32<30>; diff --git a/pallets/messages/src/tests/other_tests.rs b/pallets/messages/src/tests/other_tests.rs index 2494b1a55b..b53a66e9d4 100644 --- a/pallets/messages/src/tests/other_tests.rs +++ b/pallets/messages/src/tests/other_tests.rs @@ -74,11 +74,11 @@ fn populate_messages( fn generate_payload(num_items: u8, content_len: Option) -> Vec { let mut result_str = String::new(); let size = content_len.unwrap_or_else(|| 3); - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); for _ in 0..num_items { let payload = serde_json::to_string(&Payload { - fromId: rng.gen(), + fromId: rng.random(), content: (0..size).map(|_| "X").collect::(), }) .unwrap(); diff --git a/pallets/messages/src/weights.rs b/pallets/messages/src/weights.rs index 3a6e29af08..77dda0c057 100644 --- a/pallets/messages/src/weights.rs +++ b/pallets/messages/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_messages` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-09-04, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-10-33`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_messages // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -51,12 +50,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 3071]`. fn add_onchain_message(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `329` + // Measured: `881` // Estimated: `4177` - // Minimum execution time: 27_851_000 picoseconds. - Weight::from_parts(28_914_770, 4177) - // Standard Error: 34 - .saturating_add(Weight::from_parts(938, 0).saturating_mul(n.into())) + // Minimum execution time: 41_793_000 picoseconds. + Weight::from_parts(44_390_407, 4177) + // Standard Error: 93 + .saturating_add(Weight::from_parts(499, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -68,10 +67,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Messages::MessagesV2` (`max_values`: None, `max_size`: Some(3123), added: 5598, mode: `MaxEncodedLen`) fn add_ipfs_message() -> Weight { // Proof Size summary in bytes: - // Measured: `722` + // Measured: `814` // Estimated: `4008` - // Minimum execution time: 28_198_000 picoseconds. - Weight::from_parts(28_689_000, 4008) + // Minimum execution time: 33_379_000 picoseconds. + Weight::from_parts(35_331_000, 4008) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -90,12 +89,12 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 3071]`. fn add_onchain_message(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `329` + // Measured: `881` // Estimated: `4177` - // Minimum execution time: 27_851_000 picoseconds. - Weight::from_parts(28_914_770, 4177) - // Standard Error: 34 - .saturating_add(Weight::from_parts(938, 0).saturating_mul(n.into())) + // Minimum execution time: 41_793_000 picoseconds. + Weight::from_parts(44_390_407, 4177) + // Standard Error: 93 + .saturating_add(Weight::from_parts(499, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -107,10 +106,10 @@ impl WeightInfo for () { /// Proof: `Messages::MessagesV2` (`max_values`: None, `max_size`: Some(3123), added: 5598, mode: `MaxEncodedLen`) fn add_ipfs_message() -> Weight { // Proof Size summary in bytes: - // Measured: `722` + // Measured: `814` // Estimated: `4008` - // Minimum execution time: 28_198_000 picoseconds. - Weight::from_parts(28_689_000, 4008) + // Minimum execution time: 33_379_000 picoseconds. + Weight::from_parts(35_331_000, 4008) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } diff --git a/pallets/msa/src/lib.rs b/pallets/msa/src/lib.rs index 8327deaa38..e120a56bfe 100644 --- a/pallets/msa/src/lib.rs +++ b/pallets/msa/src/lib.rs @@ -33,7 +33,6 @@ use frame_support::{ dispatch::{DispatchInfo, DispatchResult, PostDispatchInfo}, - ensure, pallet_prelude::*, traits::IsSubType, }; @@ -58,8 +57,13 @@ use frame_system::pallet_prelude::*; use log; use scale_info::TypeInfo; use sp_core::crypto::AccountId32; +#[allow(deprecated)] +#[allow(unused)] use sp_runtime::{ - traits::{BlockNumberProvider, Convert, DispatchInfoOf, Dispatchable, SignedExtension, Zero}, + traits::{ + BlockNumberProvider, Convert, DispatchInfoOf, DispatchOriginOf, Dispatchable, + SignedExtension, TransactionExtension, ValidateResult, Zero, + }, ArithmeticError, DispatchError, MultiSignature, }; use sp_std::{prelude::*, vec}; @@ -1240,10 +1244,11 @@ impl Pallet { let is_new = maybe_delegation_info.is_none(); let mut delegation = maybe_delegation_info.take().unwrap_or_default(); - f(&mut delegation, is_new).map(move |result| { - *maybe_delegation_info = Some(delegation); - result - }) + let result = f(&mut delegation, is_new)?; + + // only set the value if execution of 'f' is successful + *maybe_delegation_info = Some(delegation); + Ok(result) }, ) } @@ -1791,7 +1796,7 @@ pub enum ValidityError { impl CheckFreeExtrinsicUse { /// Create new `SignedExtension` to check runtime version. pub fn new() -> Self { - Self(sp_std::marker::PhantomData) + Self(PhantomData) } } @@ -1806,6 +1811,7 @@ impl sp_std::fmt::Debug for CheckFreeExtrinsicUse { } } +#[allow(deprecated)] impl SignedExtension for CheckFreeExtrinsicUse where T::RuntimeCall: Dispatchable + IsSubType>, @@ -1820,6 +1826,7 @@ where Ok(()) } + #[allow(deprecated)] fn pre_dispatch( self, who: &Self::AccountId, @@ -1843,6 +1850,7 @@ where /// call: The pallet extrinsic being called /// unused: _info, _len /// + #[allow(deprecated)] fn validate( &self, who: &Self::AccountId, diff --git a/pallets/msa/src/tests/creation_tests.rs b/pallets/msa/src/tests/creation_tests.rs index 46661a55c2..d85ac2ac0c 100644 --- a/pallets/msa/src/tests/creation_tests.rs +++ b/pallets/msa/src/tests/creation_tests.rs @@ -239,7 +239,9 @@ fn it_create_has_weight() { let call = MsaCall::::create {}; let dispatch_info = call.get_dispatch_info(); - assert!(dispatch_info.weight.ref_time() > Weight::from_parts(10_000 as u64, 0).ref_time()); + assert!( + dispatch_info.call_weight.ref_time() > Weight::from_parts(10_000 as u64, 0).ref_time() + ); }); } diff --git a/pallets/msa/src/tests/mock.rs b/pallets/msa/src/tests/mock.rs index 2d4179d53a..6e2bde98a7 100644 --- a/pallets/msa/src/tests/mock.rs +++ b/pallets/msa/src/tests/mock.rs @@ -73,6 +73,9 @@ impl pallet_collective::Config for Test { type WeightInfo = (); type SetMembersOrigin = frame_system::EnsureRoot; type MaxProposalWeight = MaxProposalWeight; + type DisapproveOrigin = EnsureRoot; + type KillOrigin = EnsureRoot; + type Consideration = (); } impl frame_system::Config for Test { @@ -105,6 +108,7 @@ impl frame_system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } impl pallet_schemas::Config for Test { diff --git a/pallets/msa/src/tests/signed_extension_tests.rs b/pallets/msa/src/tests/signed_extension_tests.rs index a6e63985a1..bcdcc1e6f7 100644 --- a/pallets/msa/src/tests/signed_extension_tests.rs +++ b/pallets/msa/src/tests/signed_extension_tests.rs @@ -6,11 +6,13 @@ use frame_support::{ pallet_prelude::InvalidTransaction, }; use sp_core::{crypto::AccountId32, sr25519, sr25519::Public, Pair}; +#[allow(deprecated)] use sp_runtime::{traits::SignedExtension, transaction_validity::TransactionValidity}; // Assert that CheckFreeExtrinsicUse::validate fails with `expected_err_enum`, // for the "delete_msa_public_key" call, given extrinsic caller = caller_key, // when attempting to delete `public_key_to_delete` +#[allow(deprecated)] fn assert_validate_key_delete_fails( caller_key: &AccountId32, public_key_to_delete: AccountId32, @@ -33,6 +35,7 @@ fn assert_validate_key_delete_fails( ); } +#[allow(deprecated)] fn assert_revoke_delegation_by_provider_err( expected_err: InvalidTransaction, provider_account: Public, @@ -54,6 +57,7 @@ fn assert_revoke_delegation_by_provider_err( /// Assert that revoking an MSA delegation passes the signed extension CheckFreeExtrinsicUse /// validation when a valid delegation exists. #[test] +#[allow(deprecated)] fn signed_extension_revoke_delegation_by_delegator_success() { new_test_ext().execute_with(|| { let (provider_msa_id, delegator_account) = create_provider_msa_and_delegator(); @@ -74,6 +78,7 @@ fn signed_extension_revoke_delegation_by_delegator_success() { /// Assert that revoking an MSA delegation fails the signed extension CheckFreeExtrinsicUse /// validation when no valid delegation exists. #[test] +#[allow(deprecated)] fn signed_extension_fails_when_revoke_delegation_by_delegator_called_twice() { new_test_ext().execute_with(|| { let (provider_msa_id, delegator_account) = create_provider_msa_and_delegator(); @@ -109,6 +114,7 @@ fn signed_extension_fails_when_revoke_delegation_by_delegator_called_twice() { } #[test] +#[allow(deprecated)] fn signed_extension_revoke_delegation_by_provider_success() { new_test_ext().execute_with(|| { let (delegator_msa_id, provider_account) = create_delegator_msa_and_provider(); @@ -129,6 +135,7 @@ fn signed_extension_revoke_delegation_by_provider_success() { } #[test] +#[allow(deprecated)] fn signed_extension_revoke_delegation_by_provider_fails_when_no_delegator_msa() { new_test_ext().execute_with(|| { let (_, provider_pair) = create_account(); @@ -141,6 +148,7 @@ fn signed_extension_revoke_delegation_by_provider_fails_when_no_delegator_msa() } #[test] +#[allow(deprecated)] fn signed_extension_revoke_delegation_by_provider_fails_when_no_provider_msa() { new_test_ext().execute_with(|| { let (provider_pair, _) = sr25519::Pair::generate(); @@ -154,6 +162,7 @@ fn signed_extension_revoke_delegation_by_provider_fails_when_no_provider_msa() { } #[test] +#[allow(deprecated)] fn signed_extension_revoke_delegation_by_provider_fails_when_no_delegation() { new_test_ext().execute_with(|| { let (_, provider_pair) = create_account(); @@ -168,6 +177,7 @@ fn signed_extension_revoke_delegation_by_provider_fails_when_no_delegation() { /// Assert that a call that is not one of the matches passes the signed extension /// CheckFreeExtrinsicUse validation. #[test] +#[allow(deprecated)] fn signed_extension_validation_valid_for_other_extrinsics() { let random_call_should_pass: &::RuntimeCall = &RuntimeCall::Msa(MsaCall::create {}); @@ -184,6 +194,7 @@ fn signed_extension_validation_valid_for_other_extrinsics() { // Assert that check nonce validation does not create a token account for delete_msa_public_key call. #[test] +#[allow(deprecated)] fn signed_ext_check_nonce_delete_msa_public_key() { new_test_ext().execute_with(|| { // Generate a key pair for MSA account @@ -226,6 +237,7 @@ fn signed_ext_check_nonce_delete_msa_public_key() { // Assert that check nonce validation does not create a token account for revoke_delegation_by_delegator call. #[test] +#[allow(deprecated)] fn signed_ext_check_nonce_revoke_delegation_by_delegator() { new_test_ext().execute_with(|| { let (provider_msa_id, _) = create_provider_msa_and_delegator(); @@ -266,6 +278,7 @@ fn signed_ext_check_nonce_revoke_delegation_by_delegator() { // Assert that check nonce validation does create a token account for a paying call. #[test] +#[allow(deprecated)] fn signed_ext_check_nonce_creates_token_account_if_paying() { new_test_ext().execute_with(|| { // Test that a "pays" extrinsic creates a token account @@ -301,6 +314,7 @@ fn signed_ext_check_nonce_creates_token_account_if_paying() { } #[test] +#[allow(deprecated)] fn signed_ext_check_nonce_increases_nonce_for_an_existing_account_for_free_transactions() { new_test_ext().execute_with(|| { // arrange @@ -328,6 +342,7 @@ fn signed_ext_check_nonce_increases_nonce_for_an_existing_account_for_free_trans } #[test] +#[allow(deprecated)] fn signed_extension_validation_delete_msa_public_key_success() { new_test_ext().execute_with(|| { let (msa_id, original_key_pair) = create_account(); @@ -366,6 +381,7 @@ fn signed_extension_validation_delete_msa_public_key_success() { } #[test] +#[allow(deprecated)] fn signed_extension_validate_fails_when_delete_msa_public_key_called_twice() { new_test_ext().execute_with(|| { let (owner_msa_id, owner_key_pair) = create_account(); @@ -402,6 +418,7 @@ fn signed_extension_validate_fails_when_delete_msa_public_key_called_twice() { } #[test] +#[allow(deprecated)] fn signed_extension_validate_fails_when_delete_msa_public_key_called_on_only_key() { new_test_ext().execute_with(|| { let (_, original_pair) = create_account(); @@ -416,6 +433,7 @@ fn signed_extension_validate_fails_when_delete_msa_public_key_called_on_only_key } #[test] +#[allow(deprecated)] fn signed_extension_validate_fails_when_delete_msa_public_key_called_by_non_owner() { new_test_ext().execute_with(|| { let (_, original_pair) = create_account(); diff --git a/pallets/msa/src/weights.rs b/pallets/msa/src/weights.rs index b7ccf2a550..4adba6d72e 100644 --- a/pallets/msa/src/weights.rs +++ b/pallets/msa/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_msa` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_msa // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -60,8 +59,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `4008` - // Minimum execution time: 11_320_000 picoseconds. - Weight::from_parts(11_971_000, 4008) + // Minimum execution time: 13_996_000 picoseconds. + Weight::from_parts(14_739_000, 4008) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -84,12 +83,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[0, 30]`. fn create_sponsored_account_with_delegation(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1284` + // Measured: `1360` // Estimated: `6531` - // Minimum execution time: 137_995_000 picoseconds. - Weight::from_parts(143_519_312, 6531) - // Standard Error: 38_038 - .saturating_add(Weight::from_parts(139_984, 0).saturating_mul(s.into())) + // Minimum execution time: 152_887_000 picoseconds. + Weight::from_parts(157_655_324, 6531) + // Standard Error: 16_245 + .saturating_add(Weight::from_parts(87_925, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -101,8 +100,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `161` // Estimated: `4177` - // Minimum execution time: 12_950_000 picoseconds. - Weight::from_parts(13_433_000, 4177) + // Minimum execution time: 16_701_000 picoseconds. + Weight::from_parts(17_812_000, 4177) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -116,10 +115,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Msa::PublicKeyCountForMsaId` (`max_values`: None, `max_size`: Some(17), added: 2492, mode: `MaxEncodedLen`) fn add_public_key_to_msa() -> Weight { // Proof Size summary in bytes: - // Measured: `1569` + // Measured: `1607` // Estimated: `9981` - // Minimum execution time: 229_572_000 picoseconds. - Weight::from_parts(235_208_000, 9981) + // Minimum execution time: 241_559_000 picoseconds. + Weight::from_parts(247_450_000, 9981) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -131,8 +130,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `254` // Estimated: `6531` - // Minimum execution time: 24_800_000 picoseconds. - Weight::from_parts(25_802_000, 6531) + // Minimum execution time: 34_521_000 picoseconds. + Weight::from_parts(36_795_000, 6531) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -144,8 +143,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `71` // Estimated: `4008` - // Minimum execution time: 17_091_000 picoseconds. - Weight::from_parts(17_899_000, 4008) + // Minimum execution time: 20_716_000 picoseconds. + Weight::from_parts(21_855_000, 4008) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -164,12 +163,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[0, 30]`. fn grant_delegation(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1331` + // Measured: `1403` // Estimated: `6531` - // Minimum execution time: 130_502_000 picoseconds. - Weight::from_parts(133_378_190, 6531) - // Standard Error: 17_887 - .saturating_add(Weight::from_parts(123_307, 0).saturating_mul(s.into())) + // Minimum execution time: 141_712_000 picoseconds. + Weight::from_parts(145_036_610, 6531) + // Standard Error: 24_833 + .saturating_add(Weight::from_parts(149_169, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -181,8 +180,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `161` // Estimated: `4177` - // Minimum execution time: 13_317_000 picoseconds. - Weight::from_parts(13_623_000, 4177) + // Minimum execution time: 17_384_000 picoseconds. + Weight::from_parts(18_061_000, 4177) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -194,8 +193,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `67` // Estimated: `4008` - // Minimum execution time: 10_198_000 picoseconds. - Weight::from_parts(10_346_000, 4008) + // Minimum execution time: 13_540_000 picoseconds. + Weight::from_parts(13_801_000, 4008) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -207,8 +206,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `67` // Estimated: `4008` - // Minimum execution time: 10_028_000 picoseconds. - Weight::from_parts(10_663_000, 4008) + // Minimum execution time: 13_517_000 picoseconds. + Weight::from_parts(13_923_000, 4008) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -226,8 +225,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `147` // Estimated: `4107` - // Minimum execution time: 18_240_000 picoseconds. - Weight::from_parts(18_769_000, 4107) + // Minimum execution time: 23_089_000 picoseconds. + Weight::from_parts(23_438_000, 4107) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -240,12 +239,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[0, 30]`. fn revoke_schema_permissions(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `316 + s * (6 ±0)` + // Measured: `392 + s * (6 ±0)` // Estimated: `4177` - // Minimum execution time: 16_243_000 picoseconds. - Weight::from_parts(17_262_926, 4177) - // Standard Error: 4_127 - .saturating_add(Weight::from_parts(104_656, 0).saturating_mul(s.into())) + // Minimum execution time: 21_303_000 picoseconds. + Weight::from_parts(23_953_635, 4177) + // Standard Error: 14_319 + .saturating_add(Weight::from_parts(220_250, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -263,8 +262,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `4008` - // Minimum execution time: 11_320_000 picoseconds. - Weight::from_parts(11_971_000, 4008) + // Minimum execution time: 13_996_000 picoseconds. + Weight::from_parts(14_739_000, 4008) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -287,12 +286,12 @@ impl WeightInfo for () { /// The range of component `s` is `[0, 30]`. fn create_sponsored_account_with_delegation(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1284` + // Measured: `1360` // Estimated: `6531` - // Minimum execution time: 137_995_000 picoseconds. - Weight::from_parts(143_519_312, 6531) - // Standard Error: 38_038 - .saturating_add(Weight::from_parts(139_984, 0).saturating_mul(s.into())) + // Minimum execution time: 152_887_000 picoseconds. + Weight::from_parts(157_655_324, 6531) + // Standard Error: 16_245 + .saturating_add(Weight::from_parts(87_925, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -304,8 +303,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `161` // Estimated: `4177` - // Minimum execution time: 12_950_000 picoseconds. - Weight::from_parts(13_433_000, 4177) + // Minimum execution time: 16_701_000 picoseconds. + Weight::from_parts(17_812_000, 4177) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -319,10 +318,10 @@ impl WeightInfo for () { /// Proof: `Msa::PublicKeyCountForMsaId` (`max_values`: None, `max_size`: Some(17), added: 2492, mode: `MaxEncodedLen`) fn add_public_key_to_msa() -> Weight { // Proof Size summary in bytes: - // Measured: `1569` + // Measured: `1607` // Estimated: `9981` - // Minimum execution time: 229_572_000 picoseconds. - Weight::from_parts(235_208_000, 9981) + // Minimum execution time: 241_559_000 picoseconds. + Weight::from_parts(247_450_000, 9981) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -334,8 +333,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `254` // Estimated: `6531` - // Minimum execution time: 24_800_000 picoseconds. - Weight::from_parts(25_802_000, 6531) + // Minimum execution time: 34_521_000 picoseconds. + Weight::from_parts(36_795_000, 6531) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -347,8 +346,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `71` // Estimated: `4008` - // Minimum execution time: 17_091_000 picoseconds. - Weight::from_parts(17_899_000, 4008) + // Minimum execution time: 20_716_000 picoseconds. + Weight::from_parts(21_855_000, 4008) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -367,12 +366,12 @@ impl WeightInfo for () { /// The range of component `s` is `[0, 30]`. fn grant_delegation(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1331` + // Measured: `1403` // Estimated: `6531` - // Minimum execution time: 130_502_000 picoseconds. - Weight::from_parts(133_378_190, 6531) - // Standard Error: 17_887 - .saturating_add(Weight::from_parts(123_307, 0).saturating_mul(s.into())) + // Minimum execution time: 141_712_000 picoseconds. + Weight::from_parts(145_036_610, 6531) + // Standard Error: 24_833 + .saturating_add(Weight::from_parts(149_169, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -384,8 +383,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `161` // Estimated: `4177` - // Minimum execution time: 13_317_000 picoseconds. - Weight::from_parts(13_623_000, 4177) + // Minimum execution time: 17_384_000 picoseconds. + Weight::from_parts(18_061_000, 4177) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -397,8 +396,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `67` // Estimated: `4008` - // Minimum execution time: 10_198_000 picoseconds. - Weight::from_parts(10_346_000, 4008) + // Minimum execution time: 13_540_000 picoseconds. + Weight::from_parts(13_801_000, 4008) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -410,8 +409,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `67` // Estimated: `4008` - // Minimum execution time: 10_028_000 picoseconds. - Weight::from_parts(10_663_000, 4008) + // Minimum execution time: 13_517_000 picoseconds. + Weight::from_parts(13_923_000, 4008) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -429,8 +428,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `147` // Estimated: `4107` - // Minimum execution time: 18_240_000 picoseconds. - Weight::from_parts(18_769_000, 4107) + // Minimum execution time: 23_089_000 picoseconds. + Weight::from_parts(23_438_000, 4107) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -443,12 +442,12 @@ impl WeightInfo for () { /// The range of component `s` is `[0, 30]`. fn revoke_schema_permissions(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `316 + s * (6 ±0)` + // Measured: `392 + s * (6 ±0)` // Estimated: `4177` - // Minimum execution time: 16_243_000 picoseconds. - Weight::from_parts(17_262_926, 4177) - // Standard Error: 4_127 - .saturating_add(Weight::from_parts(104_656, 0).saturating_mul(s.into())) + // Minimum execution time: 21_303_000 picoseconds. + Weight::from_parts(23_953_635, 4177) + // Standard Error: 14_319 + .saturating_add(Weight::from_parts(220_250, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } diff --git a/pallets/passkey/Cargo.toml b/pallets/passkey/Cargo.toml index 0f74a98f42..79ca3184f0 100644 --- a/pallets/passkey/Cargo.toml +++ b/pallets/passkey/Cargo.toml @@ -49,6 +49,7 @@ std = [ "frame-benchmarking/std", "common-primitives/std", "common-runtime/std", + "pallet-transaction-payment/std" ] runtime-benchmarks = [ "frame-support/runtime-benchmarks", @@ -59,4 +60,4 @@ runtime-benchmarks = [ "common-runtime/runtime-benchmarks", ] try-runtime = ["frame-support/try-runtime", "frame-system/try-runtime"] -test = [] \ No newline at end of file +test = [] diff --git a/pallets/passkey/src/benchmarking.rs b/pallets/passkey/src/benchmarking.rs index 4d4ca9628f..ad1ec283e0 100644 --- a/pallets/passkey/src/benchmarking.rs +++ b/pallets/passkey/src/benchmarking.rs @@ -71,7 +71,8 @@ fn generate_payload() -> PasskeyPayloadV2 { benchmarks! { where_clause { where BalanceOf: From, - ::RuntimeCall: From> + Dispatchable + ::RuntimeCall: From> + Dispatchable, + ::RuntimeOrigin: AsTransactionAuthorizedOrigin, } validate { diff --git a/pallets/passkey/src/lib.rs b/pallets/passkey/src/lib.rs index d0cbbec65c..7cc2f19d06 100644 --- a/pallets/passkey/src/lib.rs +++ b/pallets/passkey/src/lib.rs @@ -16,9 +16,11 @@ rustdoc::invalid_codeblock_attributes, missing_docs )] +// allowing deprecated until moving to Extrinisc V5 structure +#![allow(deprecated)] use common_runtime::{extensions::check_nonce::CheckNonce, signature::check_signature}; use frame_support::{ - dispatch::{DispatchInfo, GetDispatchInfo, PostDispatchInfo}, + dispatch::{DispatchInfo, GetDispatchInfo, PostDispatchInfo, RawOrigin}, pallet_prelude::*, traits::Contains, }; @@ -26,7 +28,10 @@ use frame_system::pallet_prelude::*; use pallet_transaction_payment::OnChargeTransaction; use sp_runtime::{ generic::Era, - traits::{Convert, Dispatchable, SignedExtension, Zero}, + traits::{ + AsTransactionAuthorizedOrigin, Convert, Dispatchable, SignedExtension, TxBaseImplication, + Zero, + }, transaction_validity::{TransactionValidity, TransactionValidityError}, AccountId32, MultiSignature, }; @@ -55,6 +60,7 @@ pub use weights::*; #[cfg(feature = "runtime-benchmarks")] use frame_support::traits::tokens::fungible::Mutate; use frame_system::CheckWeight; +use sp_runtime::traits::{DispatchTransaction, TransactionExtension}; #[cfg(feature = "runtime-benchmarks")] mod benchmarking; @@ -131,8 +137,8 @@ pub mod module { #[pallet::call_index(0)] #[pallet::weight({ let dispatch_info = payload.passkey_call.call.get_dispatch_info(); - let overhead = T::WeightInfo::pre_dispatch(); - let total = overhead.saturating_add(dispatch_info.weight); + let overhead = ::WeightInfo::pre_dispatch(); + let total = overhead.saturating_add(dispatch_info.call_weight); (total, dispatch_info.class) })] #[allow(deprecated)] @@ -149,8 +155,8 @@ pub mod module { #[pallet::call_index(1)] #[pallet::weight({ let dispatch_info = payload.passkey_call.call.get_dispatch_info(); - let overhead = T::WeightInfo::pre_dispatch(); - let total = overhead.saturating_add(dispatch_info.weight); + let overhead = ::WeightInfo::pre_dispatch(); + let total = overhead.saturating_add(dispatch_info.call_weight); (total, dispatch_info.class) })] pub fn proxy_v2( @@ -179,6 +185,7 @@ pub mod module { BalanceOf: Send + Sync + From, ::RuntimeCall: From> + Dispatchable, + ::RuntimeOrigin: AsTransactionAuthorizedOrigin, { type Call = Call; @@ -192,7 +199,9 @@ pub mod module { FrameSystemChecks(payload.passkey_call.account_id.clone(), call.clone()) .validate()?; let nonce_validity = PasskeyNonceCheck::new(payload.passkey_call.clone()).validate()?; - let weight_validity = PasskeyWeightCheck::new(call.clone()).validate()?; + let weight_validity = + PasskeyWeightCheck::new(payload.passkey_call.account_id.clone(), call.clone()) + .validate()?; let tx_payment_validity = ChargeTransactionPayment::( payload.passkey_call.account_id.clone(), call.clone(), @@ -218,7 +227,8 @@ pub mod module { FrameSystemChecks(payload.passkey_call.account_id.clone(), call.clone()) .pre_dispatch()?; PasskeyNonceCheck::new(payload.passkey_call.clone()).pre_dispatch()?; - PasskeyWeightCheck::new(call.clone()).pre_dispatch()?; + PasskeyWeightCheck::new(payload.passkey_call.account_id.clone(), call.clone()) + .pre_dispatch()?; ChargeTransactionPayment::(payload.passkey_call.account_id.clone(), call.clone()) .pre_dispatch()?; // this is the last since it is the heaviest @@ -241,11 +251,11 @@ where match call { Call::proxy { payload } if T::PasskeyCallFilter::contains(&payload.clone().passkey_call.call) => - return Ok((payload.clone().into(), true)), + Ok((payload.clone().into(), true)), Call::proxy_v2 { payload } if T::PasskeyCallFilter::contains(&payload.clone().passkey_call.call) => - return Ok((payload.clone(), false)), - _ => return Err(InvalidTransaction::Call.into()), + Ok((payload.clone(), false)), + _ => Err(InvalidTransaction::Call.into()), } } } @@ -367,6 +377,7 @@ where BalanceOf: Send + Sync + From, ::RuntimeCall: From> + Dispatchable, + ::RuntimeOrigin: AsTransactionAuthorizedOrigin, { /// Validates the transaction fee paid with tokens. pub fn pre_dispatch(&self) -> Result<(), TransactionValidityError> { @@ -374,9 +385,11 @@ where let len = self.1.using_encoded(|c| c.len()); let runtime_call: ::RuntimeCall = ::RuntimeCall::from(self.1.clone()); - let who = self.0.clone(); + + let raw_origin = RawOrigin::from(Some(self.0.clone())); + let who = ::RuntimeOrigin::from(raw_origin); pallet_transaction_payment::ChargeTransactionPayment::::from(Zero::zero()) - .pre_dispatch(&who, &runtime_call, info, len)?; + .validate_and_prepare(who, &runtime_call, info, len, 4)?; Ok(()) } @@ -386,14 +399,21 @@ where let len = self.1.using_encoded(|c| c.len()); let runtime_call: ::RuntimeCall = ::RuntimeCall::from(self.1.clone()); - let who = self.0.clone(); - - pallet_transaction_payment::ChargeTransactionPayment::::from(Zero::zero()).validate( - &who, - &runtime_call, - info, - len, - ) + let raw_origin = RawOrigin::from(Some(self.0.clone())); + let who = ::RuntimeOrigin::from(raw_origin); + + let (res, _, _) = + pallet_transaction_payment::ChargeTransactionPayment::::from(Zero::zero()) + .validate( + who, + &runtime_call, + info, + len, + (), + &TxBaseImplication(runtime_call.clone()), // implication + TransactionSource::External, + )?; + Ok(res) } } @@ -413,7 +433,9 @@ where let len = self.1.using_encoded(|c| c.len()); let runtime_call: ::RuntimeCall = ::RuntimeCall::from(self.1.clone()); - let who = self.0.clone(); + + let raw_origin = RawOrigin::from(Some(self.0.clone())); + let who = ::RuntimeOrigin::from(raw_origin); let non_zero_sender_check = frame_system::CheckNonZeroSender::::new(); let spec_version_check = frame_system::CheckSpecVersion::::new(); @@ -421,11 +443,13 @@ where let genesis_hash_check = frame_system::CheckGenesis::::new(); let era_check = frame_system::CheckEra::::from(Era::immortal()); - non_zero_sender_check.pre_dispatch(&who, &runtime_call, info, len)?; - spec_version_check.pre_dispatch(&who, &runtime_call, info, len)?; - tx_version_check.pre_dispatch(&who, &runtime_call, info, len)?; - genesis_hash_check.pre_dispatch(&who, &runtime_call, info, len)?; - era_check.pre_dispatch(&who, &runtime_call, info, len) + // currently (in stable2412) these implement the default version of `prepare`, which always returns Ok(...) + // val, origin, call, info, len (?) + non_zero_sender_check.prepare((), &who, &runtime_call, info, len)?; + spec_version_check.prepare((), &who, &runtime_call, info, len)?; + tx_version_check.prepare((), &who, &runtime_call, info, len)?; + genesis_hash_check.prepare((), &who, &runtime_call, info, len)?; + era_check.prepare((), &who, &runtime_call, info, len) } /// Validates the transaction fee paid with tokens. @@ -434,7 +458,9 @@ where let len = self.1.using_encoded(|c| c.len()); let runtime_call: ::RuntimeCall = ::RuntimeCall::from(self.1.clone()); - let who = self.0.clone(); + let implication = TxBaseImplication(runtime_call.clone()); + let raw_origin = RawOrigin::from(Some(self.0.clone())); + let who = ::RuntimeOrigin::from(raw_origin); let non_zero_sender_check = frame_system::CheckNonZeroSender::::new(); let spec_version_check = frame_system::CheckSpecVersion::::new(); @@ -442,12 +468,55 @@ where let genesis_hash_check = frame_system::CheckGenesis::::new(); let era_check = frame_system::CheckEra::::from(Era::immortal()); - let non_zero_sender_validity = - non_zero_sender_check.validate(&who, &runtime_call, info, len)?; - let spec_version_validity = spec_version_check.validate(&who, &runtime_call, info, len)?; - let tx_version_validity = tx_version_check.validate(&who, &runtime_call, info, len)?; - let genesis_hash_validity = genesis_hash_check.validate(&who, &runtime_call, info, len)?; - let era_validity = era_check.validate(&who, &runtime_call, info, len)?; + let (non_zero_sender_validity, _, origin) = non_zero_sender_check.validate( + who.clone(), + &runtime_call, + info, + len, + (), + &implication, + TransactionSource::External, + )?; + + let (spec_version_validity, _, origin) = spec_version_check.validate( + origin, + &runtime_call, + info, + len, + spec_version_check.implicit()?, + &implication, + TransactionSource::External, + )?; + + let (tx_version_validity, _, origin) = tx_version_check.validate( + origin, + &runtime_call, + info, + len, + tx_version_check.implicit()?, + &implication, + TransactionSource::External, + )?; + + let (genesis_hash_validity, _, origin) = genesis_hash_check.validate( + origin, + &runtime_call, + info, + len, + genesis_hash_check.implicit()?, + &implication, + TransactionSource::External, + )?; + + let (era_validity, _, _) = era_check.validate( + origin, + &runtime_call, + info, + len, + era_check.implicit()?, + &implication, + TransactionSource::External, + )?; Ok(non_zero_sender_validity .combine_with(spec_version_validity) @@ -460,7 +529,7 @@ where /// Block resource (weight) limit check. #[derive(Encode, Decode, Clone, TypeInfo)] #[scale_info(skip_type_params(T))] -pub struct PasskeyWeightCheck(pub Call); +pub struct PasskeyWeightCheck(pub T::AccountId, pub Call); impl PasskeyWeightCheck where @@ -468,29 +537,40 @@ where From> + Dispatchable, { /// creating a new instance - pub fn new(call: Call) -> Self { - Self(call) + pub fn new(account_id: T::AccountId, call: Call) -> Self { + Self(account_id, call) } /// Validate the transaction pub fn validate(&self) -> TransactionValidity { - let len = self.0.encode().len(); + let info = &self.1.get_dispatch_info(); + let len = self.1.using_encoded(|c| c.len()); + let runtime_call: ::RuntimeCall = + ::RuntimeCall::from(self.1.clone()); + let implication = TxBaseImplication(runtime_call.clone()); + let raw_origin = RawOrigin::from(Some(self.0.clone())); + let who = ::RuntimeOrigin::from(raw_origin); - CheckWeight::::validate_unsigned( - &self.0.clone().into(), - &self.0.get_dispatch_info(), + let check_weight = CheckWeight::::new(); + let (result, _, _) = check_weight.validate( + who, + &runtime_call, + &info, len, - ) + (), + &implication, + TransactionSource::External, + )?; + Ok(result) } /// Pre-dispatch transaction checks pub fn pre_dispatch(&self) -> Result<(), TransactionValidityError> { - let len = self.0.encode().len(); + let info = &self.1.get_dispatch_info(); + let len = self.1.using_encoded(|c| c.len()); + let runtime_call: ::RuntimeCall = + ::RuntimeCall::from(self.1.clone()); - CheckWeight::::pre_dispatch_unsigned( - &self.0.clone().into(), - &self.0.get_dispatch_info(), - len, - ) + CheckWeight::::bare_validate_and_prepare(&runtime_call, info, len) } } diff --git a/pallets/passkey/src/mock.rs b/pallets/passkey/src/mock.rs index 57ace6eef8..58258287e4 100644 --- a/pallets/passkey/src/mock.rs +++ b/pallets/passkey/src/mock.rs @@ -81,6 +81,7 @@ impl frame_system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } impl pallet_transaction_payment::Config for Test { @@ -90,6 +91,7 @@ impl pallet_transaction_payment::Config for Test { type LengthToFee = TransactionByteFee; type FeeMultiplierUpdate = (); type OperationalFeeMultiplier = ConstU8<5>; + type WeightInfo = (); } impl pallet_passkey::Config for Test { @@ -116,6 +118,7 @@ impl pallet_balances::Config for Test { type RuntimeFreezeReason = (); type MaxFreezes = ConstU32<1>; type RuntimeHoldReason = (); + type DoneSlashHandler = (); } pub struct MockPasskeyCallFilter; diff --git a/pallets/passkey/src/tests.rs b/pallets/passkey/src/tests.rs index 251cf0c8bf..fcc2e7afec 100644 --- a/pallets/passkey/src/tests.rs +++ b/pallets/passkey/src/tests.rs @@ -259,7 +259,7 @@ fn pre_dispatch_with_low_funds_should_fail() { } #[test] -fn validate_unsigned_should_fee_removed_on_successful_validation() { +fn validate_unsigned_should_not_remove_fee_on_successful_validation() { new_test_ext().execute_with(|| { // arrange let (test_account_2_key_pair, _) = sr25519::Pair::generate(); @@ -279,6 +279,34 @@ fn validate_unsigned_should_fee_removed_on_successful_validation() { // act let res = Passkey::validate_unsigned(TransactionSource::InBlock, &Call::proxy { payload }); + // assert + assert!(res.is_ok()); + let final_balance = Balances::free_balance(&account_id); + assert_eq!(final_balance, initial_balance); + }); +} + +#[test] +fn pre_dispatch_should_remove_fee_on_successful_validation() { + new_test_ext().execute_with(|| { + // arrange + let (test_account_2_key_pair, _) = sr25519::Pair::generate(); + let (payload, account_pk) = TestPasskeyPayloadBuilder::new() + .with_a_valid_passkey() + .with_passkey_as_payload() + .with_call(RuntimeCall::Balances(BalancesCall::transfer_allow_death { + dest: test_account_2_key_pair.public().into(), + value: 100, + })) + .with_funded_account(10000000000) + .build(); + + let account_id: ::AccountId = account_pk.into(); + let initial_balance = Balances::free_balance(&account_id); + + // act + let res = Passkey::pre_dispatch(&Call::proxy { payload }); + // assert assert!(res.is_ok()); let final_balance = Balances::free_balance(&account_id); @@ -307,10 +335,7 @@ fn fee_withdrawn_for_failed_call() { let initial_balance = Balances::free_balance(&account_id); // act - let validate_result = Passkey::validate_unsigned( - TransactionSource::InBlock, - &Call::proxy { payload: payload.clone() }, - ); + let validate_result = Passkey::pre_dispatch(&Call::proxy { payload: payload.clone() }); let extrinsic_result = Passkey::proxy(RuntimeOrigin::none(), payload); // assert diff --git a/pallets/passkey/src/tests_v2.rs b/pallets/passkey/src/tests_v2.rs index 7285a79bfa..063ad20d5c 100644 --- a/pallets/passkey/src/tests_v2.rs +++ b/pallets/passkey/src/tests_v2.rs @@ -264,7 +264,7 @@ fn pre_dispatch_with_low_funds_should_fail() { } #[test] -fn validate_unsigned_should_fee_removed_on_successful_validation() { +fn validate_unsigned_fee_should_not_get_removed_on_successful_validation() { new_test_ext().execute_with(|| { // arrange let (test_account_2_key_pair, _) = sr25519::Pair::generate(); @@ -285,6 +285,34 @@ fn validate_unsigned_should_fee_removed_on_successful_validation() { let res = Passkey::validate_unsigned(TransactionSource::InBlock, &Call::proxy_v2 { payload }); + // assert + assert!(res.is_ok()); + let final_balance = Balances::free_balance(&account_id); + assert_eq!(final_balance, initial_balance); + }); +} + +#[test] +fn pre_dispatch_fee_should_get_removed_on_successful_validation() { + new_test_ext().execute_with(|| { + // arrange + let (test_account_2_key_pair, _) = sr25519::Pair::generate(); + let (payload, account_pk) = TestPasskeyPayloadBuilder::new() + .with_a_valid_passkey() + .with_passkey_as_payload() + .with_call(RuntimeCall::Balances(BalancesCall::transfer_allow_death { + dest: test_account_2_key_pair.public().into(), + value: 100, + })) + .with_funded_account(10000000000) + .build(); + + let account_id: ::AccountId = account_pk.into(); + let initial_balance = Balances::free_balance(&account_id); + + // act + let res = Passkey::pre_dispatch(&Call::proxy_v2 { payload }); + // assert assert!(res.is_ok()); let final_balance = Balances::free_balance(&account_id); @@ -312,10 +340,7 @@ fn fee_withdrawn_for_failed_call() { let initial_balance = Balances::free_balance(&account_id); // act - let validate_result = Passkey::validate_unsigned( - TransactionSource::InBlock, - &Call::proxy_v2 { payload: payload.clone() }, - ); + let validate_result = Passkey::pre_dispatch(&Call::proxy_v2 { payload: payload.clone() }); let extrinsic_result = Passkey::proxy_v2(RuntimeOrigin::none(), payload); // assert diff --git a/pallets/passkey/src/weights.rs b/pallets/passkey/src/weights.rs index b0b9340061..70afee372e 100644 --- a/pallets/passkey/src/weights.rs +++ b/pallets/passkey/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_passkey` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_passkey // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -40,69 +39,55 @@ pub trait WeightInfo { /// Weights for `pallet_passkey` using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { - /// Storage: `System::Account` (r:1 w:1) + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:0) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `System::AllExtrinsicsLen` (r:1 w:0) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0) - /// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn validate() -> Weight { // Proof Size summary in bytes: - // Measured: `169` + // Measured: `170` // Estimated: `4088` - // Minimum execution time: 2_190_415_000 picoseconds. - Weight::from_parts(2_247_670_000, 4088) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + // Minimum execution time: 2_173_468_000 picoseconds. + Weight::from_parts(2_228_773_000, 4088) + .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `System::AllExtrinsicsLen` (r:1 w:1) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0) - /// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn pre_dispatch() -> Weight { // Proof Size summary in bytes: - // Measured: `169` + // Measured: `103` // Estimated: `4088` - // Minimum execution time: 2_177_274_000 picoseconds. - Weight::from_parts(2_259_838_000, 4088) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) + // Minimum execution time: 2_200_856_000 picoseconds. + Weight::from_parts(2_263_713_000, 4088) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } } // For backwards compatibility and tests. impl WeightInfo for () { - /// Storage: `System::Account` (r:1 w:1) + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:0) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `System::AllExtrinsicsLen` (r:1 w:0) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0) - /// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn validate() -> Weight { // Proof Size summary in bytes: - // Measured: `169` + // Measured: `170` // Estimated: `4088` - // Minimum execution time: 2_190_415_000 picoseconds. - Weight::from_parts(2_247_670_000, 4088) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Minimum execution time: 2_173_468_000 picoseconds. + Weight::from_parts(2_228_773_000, 4088) + .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `System::AllExtrinsicsLen` (r:1 w:1) - /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0) - /// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn pre_dispatch() -> Weight { // Proof Size summary in bytes: - // Measured: `169` + // Measured: `103` // Estimated: `4088` - // Minimum execution time: 2_177_274_000 picoseconds. - Weight::from_parts(2_259_838_000, 4088) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Minimum execution time: 2_200_856_000 picoseconds. + Weight::from_parts(2_263_713_000, 4088) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } } diff --git a/pallets/schemas/src/tests/mock.rs b/pallets/schemas/src/tests/mock.rs index d37e8d3b07..f0e6055a3c 100644 --- a/pallets/schemas/src/tests/mock.rs +++ b/pallets/schemas/src/tests/mock.rs @@ -62,6 +62,9 @@ impl pallet_collective::Config for Test { type SetMembersOrigin = frame_system::EnsureRoot; type MaxProposalWeight = MaxProposalWeight; + type DisapproveOrigin = EnsureRoot; + type KillOrigin = EnsureRoot; + type Consideration = (); } pub type MaxSchemaRegistrations = ConstU16<64_000>; @@ -162,6 +165,7 @@ impl frame_system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } pub fn new_test_ext() -> sp_io::TestExternalities { diff --git a/pallets/stateful-storage/src/stateful_child_tree.rs b/pallets/stateful-storage/src/stateful_child_tree.rs index 686bb46bf0..f4b9159255 100644 --- a/pallets/stateful-storage/src/stateful_child_tree.rs +++ b/pallets/stateful-storage/src/stateful_child_tree.rs @@ -59,6 +59,7 @@ pub trait MultipartKey: MultipartStorageKeyPart { fn hash(&self) -> Vec; fn hash_prefix_only(&self) -> Vec; + #[allow(dead_code)] fn decode(hash: &[u8]) -> Result { let mut key_material = H::reverse(hash, Self::Arity::get()); ::decode(&mut key_material) diff --git a/pallets/stateful-storage/src/tests/delete_page_tests.rs b/pallets/stateful-storage/src/tests/delete_page_tests.rs index 4d8b76deee..c26c6b352d 100644 --- a/pallets/stateful-storage/src/tests/delete_page_tests.rs +++ b/pallets/stateful-storage/src/tests/delete_page_tests.rs @@ -202,6 +202,16 @@ fn delete_existing_page_succeeds() { page_hash )); + System::assert_last_event( + crate::Event::PaginatedPageDeleted { + msa_id, + schema_id, + page_id, + prev_content_hash: page_hash, + } + .into(), + ); + let page: Option> = ::try_read( &msa_id, PALLET_STORAGE_PREFIX, diff --git a/pallets/stateful-storage/src/tests/mock.rs b/pallets/stateful-storage/src/tests/mock.rs index 4c97f2357a..fd6fb24044 100644 --- a/pallets/stateful-storage/src/tests/mock.rs +++ b/pallets/stateful-storage/src/tests/mock.rs @@ -75,6 +75,7 @@ impl system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } pub type MaxItemizedActionsCount = ConstU32<6>; diff --git a/pallets/stateful-storage/src/weights.rs b/pallets/stateful-storage/src/weights.rs index b01d7ea6e6..528fe26c1a 100644 --- a/pallets/stateful-storage/src/weights.rs +++ b/pallets/stateful-storage/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_stateful_storage` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_stateful-storage // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -57,12 +56,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[1024, 5120]`. fn apply_item_actions_add(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `318` - // Estimated: `5763` - // Minimum execution time: 24_992_000 picoseconds. - Weight::from_parts(25_173_486, 5763) - // Standard Error: 57 - .saturating_add(Weight::from_parts(874, 0).saturating_mul(s.into())) + // Measured: `632` + // Estimated: `6077` + // Minimum execution time: 39_866_000 picoseconds. + Weight::from_parts(40_477_620, 6077) + // Standard Error: 72 + .saturating_add(Weight::from_parts(845, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -77,10 +76,10 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 5]`. fn apply_item_actions_delete(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `10696` - // Estimated: `16141` - // Minimum execution time: 37_998_000 picoseconds. - Weight::from_parts(41_996_897, 16141) + // Measured: `11010` + // Estimated: `16455` + // Minimum execution time: 52_387_000 picoseconds. + Weight::from_parts(57_331_107, 16455) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -95,12 +94,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[1, 1024]`. fn upsert_page(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1479` - // Estimated: `6924` - // Minimum execution time: 29_047_000 picoseconds. - Weight::from_parts(30_304_771, 6924) - // Standard Error: 202 - .saturating_add(Weight::from_parts(763, 0).saturating_mul(s.into())) + // Measured: `1790` + // Estimated: `7235` + // Minimum execution time: 44_001_000 picoseconds. + Weight::from_parts(45_493_841, 7235) + // Standard Error: 195 + .saturating_add(Weight::from_parts(226, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -114,10 +113,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: UNKNOWN KEY `0x0763c98381dc89abe38627fe2f98cb7af1577fbf1d628fdddb4ebfc6e8d95fb1` (r:1 w:1) fn delete_page() -> Weight { // Proof Size summary in bytes: - // Measured: `1477` - // Estimated: `6922` - // Minimum execution time: 27_897_000 picoseconds. - Weight::from_parts(29_565_000, 6922) + // Measured: `1788` + // Estimated: `7233` + // Minimum execution time: 43_346_000 picoseconds. + Weight::from_parts(44_229_000, 7233) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -130,12 +129,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[1024, 5120]`. fn apply_item_actions_with_signature_v2_add(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `325` - // Estimated: `5770` - // Minimum execution time: 129_736_000 picoseconds. - Weight::from_parts(116_192_590, 5770) - // Standard Error: 327 - .saturating_add(Weight::from_parts(11_076, 0).saturating_mul(s.into())) + // Measured: `639` + // Estimated: `6084` + // Minimum execution time: 133_057_000 picoseconds. + Weight::from_parts(120_872_618, 6084) + // Standard Error: 284 + .saturating_add(Weight::from_parts(10_415, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -148,10 +147,10 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 5]`. fn apply_item_actions_with_signature_v2_delete(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `10703` - // Estimated: `16148` - // Minimum execution time: 134_013_000 picoseconds. - Weight::from_parts(138_118_155, 16148) + // Measured: `11017` + // Estimated: `16462` + // Minimum execution time: 135_459_000 picoseconds. + Weight::from_parts(140_835_469, 16462) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -164,12 +163,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `s` is `[1, 1024]`. fn upsert_page_with_signature_v2(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1412` - // Estimated: `6857` - // Minimum execution time: 117_138_000 picoseconds. - Weight::from_parts(119_812_203, 6857) - // Standard Error: 1_022 - .saturating_add(Weight::from_parts(11_167, 0).saturating_mul(s.into())) + // Measured: `1723` + // Estimated: `7168` + // Minimum execution time: 124_245_000 picoseconds. + Weight::from_parts(126_614_053, 7168) + // Standard Error: 521 + .saturating_add(Weight::from_parts(9_061, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -181,10 +180,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: UNKNOWN KEY `0x0763c98381dc89abe38627fe2f98cb7af1577fbf1d628fdddb4ebfc6e8d95fb1` (r:1 w:1) fn delete_page_with_signature_v2() -> Weight { // Proof Size summary in bytes: - // Measured: `1410` - // Estimated: `6855` - // Minimum execution time: 115_582_000 picoseconds. - Weight::from_parts(117_526_000, 6855) + // Measured: `1721` + // Estimated: `7166` + // Minimum execution time: 121_932_000 picoseconds. + Weight::from_parts(124_530_000, 7166) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -203,12 +202,12 @@ impl WeightInfo for () { /// The range of component `s` is `[1024, 5120]`. fn apply_item_actions_add(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `318` - // Estimated: `5763` - // Minimum execution time: 24_992_000 picoseconds. - Weight::from_parts(25_173_486, 5763) - // Standard Error: 57 - .saturating_add(Weight::from_parts(874, 0).saturating_mul(s.into())) + // Measured: `632` + // Estimated: `6077` + // Minimum execution time: 39_866_000 picoseconds. + Weight::from_parts(40_477_620, 6077) + // Standard Error: 72 + .saturating_add(Weight::from_parts(845, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -223,10 +222,10 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 5]`. fn apply_item_actions_delete(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `10696` - // Estimated: `16141` - // Minimum execution time: 37_998_000 picoseconds. - Weight::from_parts(41_996_897, 16141) + // Measured: `11010` + // Estimated: `16455` + // Minimum execution time: 52_387_000 picoseconds. + Weight::from_parts(57_331_107, 16455) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -241,12 +240,12 @@ impl WeightInfo for () { /// The range of component `s` is `[1, 1024]`. fn upsert_page(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1479` - // Estimated: `6924` - // Minimum execution time: 29_047_000 picoseconds. - Weight::from_parts(30_304_771, 6924) - // Standard Error: 202 - .saturating_add(Weight::from_parts(763, 0).saturating_mul(s.into())) + // Measured: `1790` + // Estimated: `7235` + // Minimum execution time: 44_001_000 picoseconds. + Weight::from_parts(45_493_841, 7235) + // Standard Error: 195 + .saturating_add(Weight::from_parts(226, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -260,10 +259,10 @@ impl WeightInfo for () { /// Proof: UNKNOWN KEY `0x0763c98381dc89abe38627fe2f98cb7af1577fbf1d628fdddb4ebfc6e8d95fb1` (r:1 w:1) fn delete_page() -> Weight { // Proof Size summary in bytes: - // Measured: `1477` - // Estimated: `6922` - // Minimum execution time: 27_897_000 picoseconds. - Weight::from_parts(29_565_000, 6922) + // Measured: `1788` + // Estimated: `7233` + // Minimum execution time: 43_346_000 picoseconds. + Weight::from_parts(44_229_000, 7233) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -276,12 +275,12 @@ impl WeightInfo for () { /// The range of component `s` is `[1024, 5120]`. fn apply_item_actions_with_signature_v2_add(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `325` - // Estimated: `5770` - // Minimum execution time: 129_736_000 picoseconds. - Weight::from_parts(116_192_590, 5770) - // Standard Error: 327 - .saturating_add(Weight::from_parts(11_076, 0).saturating_mul(s.into())) + // Measured: `639` + // Estimated: `6084` + // Minimum execution time: 133_057_000 picoseconds. + Weight::from_parts(120_872_618, 6084) + // Standard Error: 284 + .saturating_add(Weight::from_parts(10_415, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -294,10 +293,10 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 5]`. fn apply_item_actions_with_signature_v2_delete(_n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `10703` - // Estimated: `16148` - // Minimum execution time: 134_013_000 picoseconds. - Weight::from_parts(138_118_155, 16148) + // Measured: `11017` + // Estimated: `16462` + // Minimum execution time: 135_459_000 picoseconds. + Weight::from_parts(140_835_469, 16462) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -310,12 +309,12 @@ impl WeightInfo for () { /// The range of component `s` is `[1, 1024]`. fn upsert_page_with_signature_v2(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1412` - // Estimated: `6857` - // Minimum execution time: 117_138_000 picoseconds. - Weight::from_parts(119_812_203, 6857) - // Standard Error: 1_022 - .saturating_add(Weight::from_parts(11_167, 0).saturating_mul(s.into())) + // Measured: `1723` + // Estimated: `7168` + // Minimum execution time: 124_245_000 picoseconds. + Weight::from_parts(126_614_053, 7168) + // Standard Error: 521 + .saturating_add(Weight::from_parts(9_061, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -327,10 +326,10 @@ impl WeightInfo for () { /// Proof: UNKNOWN KEY `0x0763c98381dc89abe38627fe2f98cb7af1577fbf1d628fdddb4ebfc6e8d95fb1` (r:1 w:1) fn delete_page_with_signature_v2() -> Weight { // Proof Size summary in bytes: - // Measured: `1410` - // Estimated: `6855` - // Minimum execution time: 115_582_000 picoseconds. - Weight::from_parts(117_526_000, 6855) + // Measured: `1721` + // Estimated: `7166` + // Minimum execution time: 121_932_000 picoseconds. + Weight::from_parts(124_530_000, 7166) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -368,7 +367,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 5763 + > 6077 ); } #[test] @@ -380,7 +379,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 16141 + > 16455 ); } #[test] @@ -392,7 +391,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 6924 + > 7235 ); } #[test] @@ -404,7 +403,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 6922 + > 7233 ); } #[test] @@ -416,7 +415,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 5770 + > 6084 ); } #[test] @@ -428,7 +427,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 16148 + > 16462 ); } #[test] @@ -440,7 +439,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 6857 + > 7168 ); } #[test] @@ -452,7 +451,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 6855 + > 7166 ); } } diff --git a/pallets/time-release/src/mock.rs b/pallets/time-release/src/mock.rs index 2a69c1e723..aa071d71dc 100644 --- a/pallets/time-release/src/mock.rs +++ b/pallets/time-release/src/mock.rs @@ -48,6 +48,7 @@ impl frame_system::Config for Test { type PreInherents = (); type PostInherents = (); type PostTransactions = (); + type ExtensionsWeightInfo = (); } type Balance = u64; @@ -66,6 +67,7 @@ impl pallet_balances::Config for Test { type MaxFreezes = ConstU32<1>; type RuntimeHoldReason = RuntimeHoldReason; type RuntimeFreezeReason = RuntimeFreezeReason; + type DoneSlashHandler = (); } impl pallet_preimage::Config for Test { diff --git a/pallets/time-release/src/weights.rs b/pallets/time-release/src/weights.rs index 2d76fa25ea..62d838c8cc 100644 --- a/pallets/time-release/src/weights.rs +++ b/pallets/time-release/src/weights.rs @@ -1,11 +1,11 @@ //! Autogenerated weights for `pallet_time_release` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-24, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-5-195`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("frequency-bench")`, DB CACHE: `1024` +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: // ./scripts/../target/release/frequency @@ -14,7 +14,6 @@ // --pallet=pallet_time-release // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=20 @@ -58,10 +57,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `216` + // Measured: `253` // Estimated: `5409` - // Minimum execution time: 65_157_000 picoseconds. - Weight::from_parts(66_530_000, 5409) + // Minimum execution time: 74_477_000 picoseconds. + Weight::from_parts(76_651_000, 5409) .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -75,10 +74,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(10463), added: 12938, mode: `MaxEncodedLen`) fn schedule_named_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `216` + // Measured: `252` // Estimated: `14423` - // Minimum execution time: 55_308_000 picoseconds. - Weight::from_parts(56_230_000, 14423) + // Minimum execution time: 62_773_000 picoseconds. + Weight::from_parts(64_371_000, 14423) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -100,10 +99,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: `TimeRelease::ScheduleReservedAmounts` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) fn execute_scheduled_named_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `271` + // Measured: `308` // Estimated: `5409` - // Minimum execution time: 68_496_000 picoseconds. - Weight::from_parts(70_394_000, 5409) + // Minimum execution time: 82_140_000 picoseconds. + Weight::from_parts(84_034_000, 5409) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(5_u64)) } @@ -120,10 +119,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `313 + i * (16 ±0)` // Estimated: `5409 + i * (16 ±0)` - // Minimum execution time: 31_131_000 picoseconds. - Weight::from_parts(32_077_810, 5409) - // Standard Error: 2_742 - .saturating_add(Weight::from_parts(52_963, 0).saturating_mul(i.into())) + // Minimum execution time: 40_421_000 picoseconds. + Weight::from_parts(41_490_432, 5409) + // Standard Error: 2_965 + .saturating_add(Weight::from_parts(57_949, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 16).saturating_mul(i.into())) @@ -139,12 +138,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[1, 50]`. fn update_release_schedules(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `174` + // Measured: `141` // Estimated: `5259` - // Minimum execution time: 26_442_000 picoseconds. - Weight::from_parts(27_448_844, 5259) - // Standard Error: 2_236 - .saturating_add(Weight::from_parts(51_858, 0).saturating_mul(i.into())) + // Minimum execution time: 30_687_000 picoseconds. + Weight::from_parts(31_558_194, 5259) + // Standard Error: 2_781 + .saturating_add(Weight::from_parts(53_723, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -163,12 +162,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[1, 50]`. fn cancel_scheduled_named_transfer(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `931 + i * (170 ±0)` + // Measured: `967 + i * (170 ±0)` // Estimated: `14423` - // Minimum execution time: 52_409_000 picoseconds. - Weight::from_parts(57_601_450, 14423) - // Standard Error: 9_299 - .saturating_add(Weight::from_parts(799_132, 0).saturating_mul(i.into())) + // Minimum execution time: 66_527_000 picoseconds. + Weight::from_parts(70_164_081, 14423) + // Standard Error: 10_282 + .saturating_add(Weight::from_parts(884_337, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -190,10 +189,10 @@ impl WeightInfo for () { /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `216` + // Measured: `253` // Estimated: `5409` - // Minimum execution time: 65_157_000 picoseconds. - Weight::from_parts(66_530_000, 5409) + // Minimum execution time: 74_477_000 picoseconds. + Weight::from_parts(76_651_000, 5409) .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -207,10 +206,10 @@ impl WeightInfo for () { /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(10463), added: 12938, mode: `MaxEncodedLen`) fn schedule_named_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `216` + // Measured: `252` // Estimated: `14423` - // Minimum execution time: 55_308_000 picoseconds. - Weight::from_parts(56_230_000, 14423) + // Minimum execution time: 62_773_000 picoseconds. + Weight::from_parts(64_371_000, 14423) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -232,10 +231,10 @@ impl WeightInfo for () { /// Proof: `TimeRelease::ScheduleReservedAmounts` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) fn execute_scheduled_named_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `271` + // Measured: `308` // Estimated: `5409` - // Minimum execution time: 68_496_000 picoseconds. - Weight::from_parts(70_394_000, 5409) + // Minimum execution time: 82_140_000 picoseconds. + Weight::from_parts(84_034_000, 5409) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(5_u64)) } @@ -252,10 +251,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `313 + i * (16 ±0)` // Estimated: `5409 + i * (16 ±0)` - // Minimum execution time: 31_131_000 picoseconds. - Weight::from_parts(32_077_810, 5409) - // Standard Error: 2_742 - .saturating_add(Weight::from_parts(52_963, 0).saturating_mul(i.into())) + // Minimum execution time: 40_421_000 picoseconds. + Weight::from_parts(41_490_432, 5409) + // Standard Error: 2_965 + .saturating_add(Weight::from_parts(57_949, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 16).saturating_mul(i.into())) @@ -271,12 +270,12 @@ impl WeightInfo for () { /// The range of component `i` is `[1, 50]`. fn update_release_schedules(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `174` + // Measured: `141` // Estimated: `5259` - // Minimum execution time: 26_442_000 picoseconds. - Weight::from_parts(27_448_844, 5259) - // Standard Error: 2_236 - .saturating_add(Weight::from_parts(51_858, 0).saturating_mul(i.into())) + // Minimum execution time: 30_687_000 picoseconds. + Weight::from_parts(31_558_194, 5259) + // Standard Error: 2_781 + .saturating_add(Weight::from_parts(53_723, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -295,12 +294,12 @@ impl WeightInfo for () { /// The range of component `i` is `[1, 50]`. fn cancel_scheduled_named_transfer(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `931 + i * (170 ±0)` + // Measured: `967 + i * (170 ±0)` // Estimated: `14423` - // Minimum execution time: 52_409_000 picoseconds. - Weight::from_parts(57_601_450, 14423) - // Standard Error: 9_299 - .saturating_add(Weight::from_parts(799_132, 0).saturating_mul(i.into())) + // Minimum execution time: 66_527_000 picoseconds. + Weight::from_parts(70_164_081, 14423) + // Standard Error: 10_282 + .saturating_add(Weight::from_parts(884_337, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } diff --git a/pallets/treasury/Cargo.toml b/pallets/treasury/Cargo.toml new file mode 100644 index 0000000000..dee67cef9d --- /dev/null +++ b/pallets/treasury/Cargo.toml @@ -0,0 +1,74 @@ +[package] +authors = ["Frequency"] +description = "FRAME pallet to manage treasury" +edition = "2021" +homepage = "https://substrate.io" +license = "Apache-2.0" +name = "pallet-treasury" +publish = false +repository = "https://github.com/frequency-chain/frequency/" +version = "27.0.0" +readme = "README.md" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +parity-scale-codec = { workspace = true, features = ["derive", "max-encoded-len"] } +docify = { workspace = true } +impl-trait-for-tuples = { workspace = true } +scale-info = { workspace = true, features = ["derive"] } +serde = { features = ["derive"], optional = true, workspace = true, default-features = true } +frame-benchmarking = { workspace = true, default-features = false, optional = true } +frame-support = { workspace = true, default-features = false } +frame-system = { workspace = true, default-features = false } +pallet-balances = { workspace = true, default-features = false } +sp-runtime = { workspace = true } +sp-std = { workspace = true } +sp-core = { workspace = true, optional = true } + +# Frequency related dependencies +common-primitives = { default-features = false, path = "../../common/primitives" } + +[dev-dependencies] +sp-io = { workspace = true } +pallet-utility = { workspace = true } +common-runtime = { path = "../../runtime/common", default-features = false } + +[features] +default = ["std"] +std = [ + "parity-scale-codec/std", + "frame-benchmarking?/std", + "frame-support/std", + "frame-system/std", + "pallet-balances/std", + "pallet-utility/std", + "scale-info/std", + "serde", + "sp-core?/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "common-primitives/std", + "common-runtime/std", +] +runtime-benchmarks = [ + "dep:sp-core", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-utility/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "common-primitives/runtime-benchmarks", + "common-runtime/runtime-benchmarks", +] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "pallet-utility/try-runtime", + "sp-runtime/try-runtime", +] +test = [] diff --git a/pallets/treasury/README.md b/pallets/treasury/README.md new file mode 100644 index 0000000000..4945d79d14 --- /dev/null +++ b/pallets/treasury/README.md @@ -0,0 +1,31 @@ +# Treasury Pallet + +The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system and +a structure for making spending proposals from this pot. + +## Overview + +The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to propose, +approve, and deny expenditures. The chain will need to provide a method (e.g.inflation, fees) for +collecting funds. + +By way of example, the Council could vote to fund the Treasury with a portion of the block reward +and use the funds to pay developers. + +### Terminology + +- **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. +- **Beneficiary:** An account who will receive the funds from a proposal if the proposal is + approved. +- **Deposit:** Funds that a proposer must lock when making a proposal. The deposit will be returned + or slashed if the proposal is approved or rejected respectively. +- **Pot:** Unspent funds accumulated by the treasury pallet. + +## Interface + +### Dispatchable Functions + +General spending/proposal protocol: +- `propose_spend` - Make a spending proposal and stake the required deposit. +- `reject_proposal` - Reject a proposal, slashing the deposit. +- `approve_proposal` - Accept the proposal, returning the deposit. diff --git a/pallets/treasury/src/benchmarking.rs b/pallets/treasury/src/benchmarking.rs new file mode 100644 index 0000000000..27aa272ce0 --- /dev/null +++ b/pallets/treasury/src/benchmarking.rs @@ -0,0 +1,342 @@ +// 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. +#![allow(clippy::unwrap_used, clippy::expect_used)] +//! Treasury pallet benchmarking. + +#![cfg(feature = "runtime-benchmarks")] + +use super::{Pallet as Treasury, *}; + +use frame_benchmarking::{ + v1::{account, BenchmarkError}, + v2::*, +}; +use frame_support::{ + ensure, + traits::{ + tokens::{ConversionFromAssetBalance, PaymentStatus}, + EnsureOrigin, OnInitialize, + }, +}; +use frame_system::RawOrigin; +use sp_core::crypto::FromEntropy; + +/// Trait describing factory functions for dispatchables' parameters. +pub trait ArgumentsFactory { + /// Factory function for an asset kind. + fn create_asset_kind(seed: u32) -> AssetKind; + /// Factory function for a beneficiary. + fn create_beneficiary(seed: [u8; 32]) -> Beneficiary; +} + +/// Implementation that expects the parameters implement the [`FromEntropy`] trait. +impl ArgumentsFactory for () +where + AssetKind: FromEntropy, + Beneficiary: FromEntropy, +{ + fn create_asset_kind(seed: u32) -> AssetKind { + AssetKind::from_entropy(&mut seed.encode().as_slice()).unwrap() + } + fn create_beneficiary(seed: [u8; 32]) -> Beneficiary { + Beneficiary::from_entropy(&mut seed.as_slice()).unwrap() + } +} + +const SEED: u32 = 0; + +// Create the pre-requisite information needed to create a treasury `propose_spend`. +fn setup_proposal, I: 'static>( + u: u32, +) -> (T::AccountId, BalanceOf, AccountIdLookupOf) { + let caller = account("caller", u, SEED); + let value: BalanceOf = T::ProposalBondMinimum::get().saturating_mul(100u32.into()); + let _ = T::Currency::make_free_balance_be(&caller, value); + let beneficiary = account("beneficiary", u, SEED); + let beneficiary_lookup = T::Lookup::unlookup(beneficiary); + (caller, value, beneficiary_lookup) +} + +// Create proposals that are approved for use in `on_initialize`. +fn create_approved_proposals, I: 'static>(n: u32) -> Result<(), &'static str> { + for i in 0..n { + let (caller, value, lookup) = setup_proposal::(i); + #[allow(deprecated)] + Treasury::::propose_spend(RawOrigin::Signed(caller).into(), value, lookup)?; + let proposal_id = >::get() - 1; + Approvals::::try_append(proposal_id).unwrap(); + } + ensure!(>::get().len() == n as usize, "Not all approved"); + Ok(()) +} + +fn setup_pot_account, I: 'static>() { + let pot_account = Treasury::::account_id(); + let value = T::Currency::minimum_balance().saturating_mul(1_000_000_000u32.into()); + let _ = T::Currency::make_free_balance_be(&pot_account, value); +} + +fn assert_last_event, I: 'static>(generic_event: >::RuntimeEvent) { + frame_system::Pallet::::assert_last_event(generic_event.into()); +} + +// Create the arguments for the `spend` dispatchable. +fn create_spend_arguments, I: 'static>( + seed: u32, +) -> (T::AssetKind, AssetBalanceOf, T::Beneficiary, BeneficiaryLookupOf) { + let asset_kind = T::BenchmarkHelper::create_asset_kind(seed); + let beneficiary = T::BenchmarkHelper::create_beneficiary([seed.try_into().unwrap(); 32]); + let beneficiary_lookup = T::BeneficiaryLookup::unlookup(beneficiary.clone()); + (asset_kind, 100u32.into(), beneficiary, beneficiary_lookup) +} + +#[instance_benchmarks] +mod benchmarks { + use super::*; + + // This benchmark is short-circuited if `SpendOrigin` cannot provide + // a successful origin, in which case `spend` is un-callable and can use weight=0. + #[benchmark] + fn spend_local() -> Result<(), BenchmarkError> { + let (_, value, beneficiary_lookup) = setup_proposal::(SEED); + let origin = + T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + let beneficiary = T::Lookup::lookup(beneficiary_lookup.clone()).unwrap(); + + #[extrinsic_call] + _(origin as T::RuntimeOrigin, value, beneficiary_lookup); + + assert_last_event::( + Event::SpendApproved { proposal_index: 0, amount: value, beneficiary }.into(), + ); + Ok(()) + } + + #[benchmark] + fn propose_spend() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + // Whitelist caller account from further DB operations. + let caller_key = frame_system::Account::::hashed_key_for(&caller); + frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into()); + + #[extrinsic_call] + _(RawOrigin::Signed(caller), value, beneficiary_lookup); + + Ok(()) + } + + #[benchmark] + fn reject_proposal() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + let reject_origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[extrinsic_call] + _(reject_origin as T::RuntimeOrigin, proposal_id); + + Ok(()) + } + + #[benchmark] + fn approve_proposal( + p: Linear<0, { T::MaxApprovals::get() - 1 }>, + ) -> Result<(), BenchmarkError> { + let approve_origin = + T::ApproveOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + create_approved_proposals::(p)?; + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + + #[extrinsic_call] + _(approve_origin as T::RuntimeOrigin, proposal_id); + + Ok(()) + } + + #[benchmark] + fn remove_approval() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + Approvals::::try_append(proposal_id).unwrap(); + let reject_origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[extrinsic_call] + _(reject_origin as T::RuntimeOrigin, proposal_id); + + Ok(()) + } + + #[benchmark] + fn on_initialize_proposals( + p: Linear<0, { T::MaxApprovals::get() - 1 }>, + ) -> Result<(), BenchmarkError> { + setup_pot_account::(); + create_approved_proposals::(p)?; + + #[block] + { + Treasury::::on_initialize(0u32.into()); + } + + Ok(()) + } + + #[benchmark] + fn spend() -> Result<(), BenchmarkError> { + let origin = + T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + + #[extrinsic_call] + _( + origin as T::RuntimeOrigin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + ); + + let valid_from = frame_system::Pallet::::block_number(); + let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); + assert_last_event::( + Event::AssetSpendApproved { + index: 0, + asset_kind, + amount, + beneficiary, + valid_from, + expire_at, + } + .into(), + ); + Ok(()) + } + + #[benchmark] + fn payout() -> Result<(), BenchmarkError> { + let origin = T::SpendOrigin::try_successful_origin().map_err(|_| "No origin")?; + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + Treasury::::spend( + origin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + )?; + T::Paymaster::ensure_successful(&beneficiary, asset_kind, amount); + let caller: T::AccountId = account("caller", 0, SEED); + + #[extrinsic_call] + _(RawOrigin::Signed(caller.clone()), 0u32); + + let id = match Spends::::get(0).unwrap().status { + PaymentState::Attempted { id, .. } => { + assert_ne!(T::Paymaster::check_payment(id), PaymentStatus::Failure); + id + }, + _ => panic!("No payout attempt made"), + }; + assert_last_event::(Event::Paid { index: 0, payment_id: id }.into()); + assert!(Treasury::::payout(RawOrigin::Signed(caller).into(), 0u32).is_err()); + Ok(()) + } + + #[benchmark] + fn check_status() -> Result<(), BenchmarkError> { + let origin = T::SpendOrigin::try_successful_origin().map_err(|_| "No origin")?; + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + Treasury::::spend( + origin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + )?; + T::Paymaster::ensure_successful(&beneficiary, asset_kind, amount); + let caller: T::AccountId = account("caller", 0, SEED); + Treasury::::payout(RawOrigin::Signed(caller.clone()).into(), 0u32)?; + match Spends::::get(0).unwrap().status { + PaymentState::Attempted { id, .. } => { + T::Paymaster::ensure_concluded(id); + }, + _ => panic!("No payout attempt made"), + }; + + #[extrinsic_call] + _(RawOrigin::Signed(caller.clone()), 0u32); + + if let Some(s) = Spends::::get(0) { + assert!(!matches!(s.status, PaymentState::Attempted { .. })); + } + Ok(()) + } + + #[benchmark] + fn void_spend() -> Result<(), BenchmarkError> { + let origin = T::SpendOrigin::try_successful_origin().map_err(|_| "No origin")?; + let (asset_kind, amount, _, beneficiary_lookup) = create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + Treasury::::spend( + origin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + )?; + assert!(Spends::::get(0).is_some()); + let origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[extrinsic_call] + _(origin as T::RuntimeOrigin, 0u32); + + assert!(Spends::::get(0).is_none()); + Ok(()) + } + + impl_benchmark_test_suite!( + Treasury, + crate::tests::ExtBuilder::default().build(), + crate::tests::Test + ); +} diff --git a/pallets/treasury/src/lib.rs b/pallets/treasury/src/lib.rs new file mode 100644 index 0000000000..be94c6cc51 --- /dev/null +++ b/pallets/treasury/src/lib.rs @@ -0,0 +1,1138 @@ +// 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. +//! This is copied from https://github.com/paritytech/polkadot-sdk/tree/release-polkadot-v1.13.0 +//! Git Hash d5160c1d567cc73c7df6c816d41e21aa3adb188d +//! > Made with *Substrate*, for *Polkadot*. +//! +//! [![github]](https://github.com/paritytech/substrate/frame/fast-unstake) - +//! [![polkadot]](https://polkadot.network) +//! +//! [polkadot]: https://img.shields.io/badge/polkadot-E6007A?style=for-the-badge&logo=polkadot&logoColor=white +//! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github +//! +//! # Treasury Pallet +//! +//! The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system +//! and a structure for making spending proposals from this pot. +//! +//! ## Overview +//! +//! The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to +//! propose and claim expenditures (aka spends). The chain will need to provide a method to approve +//! spends (e.g. public referendum) and a method for collecting funds (e.g. inflation, fees). +//! +//! By way of example, stakeholders could vote to fund the Treasury with a portion of the block +//! reward and use the funds to pay developers. +//! +//! ### Terminology +//! +//! - **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. +//! - **Beneficiary:** An account who will receive the funds from a proposal iff the proposal is +//! approved. +//! - **Pot:** Unspent funds accumulated by the treasury pallet. +//! - **Spend** An approved proposal for transferring a specific amount of funds to a designated +//! beneficiary. +//! +//! ### Example +//! +//! 1. Multiple local spends approved by spend origins and received by a beneficiary. +#![doc = docify::embed!("src/tests.rs", spend_local_origin_works)] +//! +//! 2. Approve a spend of some asset kind and claim it. +#![doc = docify::embed!("src/tests.rs", spend_payout_works)] +//! +//! ## Pallet API +//! +//! See the [`pallet`] module for more information about the interfaces this pallet exposes, +//! including its configuration trait, dispatchables, storage items, events and errors. +//! +//! ## Low Level / Implementation Details +//! +//! Spends can be initiated using either the `spend_local` or `spend` dispatchable. The +//! `spend_local` dispatchable enables the creation of spends using the native currency of the +//! chain, utilizing the funds stored in the pot. These spends are automatically paid out every +//! [`pallet::Config::SpendPeriod`]. On the other hand, the `spend` dispatchable allows spending of +//! any asset kind managed by the treasury, with payment facilitated by a designated +//! [`pallet::Config::Paymaster`]. To claim these spends, the `payout` dispatchable should be called +//! within some temporal bounds, starting from the moment they become valid and within one +//! [`pallet::Config::PayoutPeriod`]. + +#![cfg_attr(not(feature = "std"), no_std)] +#![allow(clippy::expect_used)] + +mod benchmarking; +#[cfg(test)] +mod tests; +pub mod weights; +use core::marker::PhantomData; + +#[cfg(feature = "runtime-benchmarks")] +pub use benchmarking::ArgumentsFactory; + +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; + +use sp_runtime::{ + traits::{AccountIdConversion, CheckedAdd, Saturating, StaticLookup, Zero}, + Permill, RuntimeDebug, +}; +use sp_std::{collections::btree_map::BTreeMap, prelude::*}; + +use frame_support::{ + dispatch::{DispatchResult, DispatchResultWithPostInfo}, + ensure, print, + traits::{ + tokens::Pay, Currency, ExistenceRequirement::KeepAlive, Get, Imbalance, OnUnbalanced, + ReservableCurrency, WithdrawReasons, + }, + weights::Weight, + PalletId, +}; + +pub use pallet::*; +pub use weights::WeightInfo; + +pub type BalanceOf = + <>::Currency as Currency<::AccountId>>::Balance; +pub type AssetBalanceOf = <>::Paymaster as Pay>::Balance; +pub type PositiveImbalanceOf = <>::Currency as Currency< + ::AccountId, +>>::PositiveImbalance; +pub type NegativeImbalanceOf = <>::Currency as Currency< + ::AccountId, +>>::NegativeImbalance; +type AccountIdLookupOf = <::Lookup as StaticLookup>::Source; +type BeneficiaryLookupOf = <>::BeneficiaryLookup as StaticLookup>::Source; + +/// A trait to allow the Treasury Pallet to spend it's funds for other purposes. +/// There is an expectation that the implementer of this trait will correctly manage +/// the mutable variables passed to it: +/// * `budget_remaining`: How much available funds that can be spent by the treasury. As funds are +/// spent, you must correctly deduct from this value. +/// * `imbalance`: Any imbalances that you create should be subsumed in here to maximize efficiency +/// of updating the total issuance. (i.e. `deposit_creating`) +/// * `total_weight`: Track any weight that your `spend_fund` implementation uses by updating this +/// value. +/// * `missed_any`: If there were items that you want to spend on, but there were not enough funds, +/// mark this value as `true`. This will prevent the treasury from burning the excess funds. +#[impl_trait_for_tuples::impl_for_tuples(30)] +pub trait SpendFunds, I: 'static = ()> { + fn spend_funds( + budget_remaining: &mut BalanceOf, + imbalance: &mut PositiveImbalanceOf, + total_weight: &mut Weight, + missed_any: &mut bool, + ); +} + +/// An index of a proposal. Just a `u32`. +pub type ProposalIndex = u32; + +/// A spending proposal. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub struct Proposal { + /// The account proposing it. + proposer: AccountId, + /// The (total) amount that should be paid if the proposal is accepted. + value: Balance, + /// The account to whom the payment should be made if the proposal is accepted. + beneficiary: AccountId, + /// The amount held on deposit (reserved) for making this proposal. + bond: Balance, +} + +/// The state of the payment claim. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub enum PaymentState { + /// Pending claim. + Pending, + /// Payment attempted with a payment identifier. + Attempted { id: Id }, + /// Payment failed. + Failed, +} + +/// Info regarding an approved treasury spend. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub struct SpendStatus { + // The kind of asset to be spent. + asset_kind: AssetKind, + /// The asset amount of the spend. + amount: AssetBalance, + /// The beneficiary of the spend. + beneficiary: Beneficiary, + /// The block number from which the spend can be claimed. + valid_from: BlockNumber, + /// The block number by which the spend has to be claimed. + expire_at: BlockNumber, + /// The status of the payout/claim. + status: PaymentState, +} + +/// Index of an approved treasury spend. +pub type SpendIndex = u32; + +#[frame_support::pallet] +pub mod pallet { + use super::*; + use frame_support::{ + dispatch_context::with_context, + pallet_prelude::*, + traits::tokens::{ConversionFromAssetBalance, PaymentStatus}, + }; + use frame_system::pallet_prelude::*; + + #[pallet::pallet] + pub struct Pallet(PhantomData<(T, I)>); + + #[pallet::config] + pub trait Config: frame_system::Config { + /// The staking balance. + type Currency: Currency + ReservableCurrency; + + /// Origin from which approvals must come. + type ApproveOrigin: EnsureOrigin; + + /// Origin from which rejections must come. + type RejectOrigin: EnsureOrigin; + + /// The overarching event type. + type RuntimeEvent: From> + + IsType<::RuntimeEvent>; + + /// Handler for the unbalanced decrease when slashing for a rejected proposal or bounty. + type OnSlash: OnUnbalanced>; + + /// Fraction of a proposal's value that should be bonded in order to place the proposal. + /// An accepted proposal gets these back. A rejected proposal does not. + #[pallet::constant] + type ProposalBond: Get; + + /// Minimum amount of funds that should be placed in a deposit for making a proposal. + #[pallet::constant] + type ProposalBondMinimum: Get>; + + /// Maximum amount of funds that should be placed in a deposit for making a proposal. + #[pallet::constant] + type ProposalBondMaximum: Get>>; + + /// Period between successive spends. + #[pallet::constant] + type SpendPeriod: Get>; + + /// Percentage of spare funds (if any) that are burnt per spend period. + #[pallet::constant] + type Burn: Get; + + /// The treasury's pallet id, used for deriving its sovereign account ID. + #[pallet::constant] + type PalletId: Get; + + /// Handler for the unbalanced decrease when treasury funds are burned. + type BurnDestination: OnUnbalanced>; + + /// Weight information for extrinsics in this pallet. + type WeightInfo: WeightInfo; + + /// Runtime hooks to external pallet using treasury to compute spend funds. + type SpendFunds: SpendFunds; + + /// The maximum number of approvals that can wait in the spending queue. + /// + /// NOTE: This parameter is also used within the Bounties Pallet extension if enabled. + #[pallet::constant] + type MaxApprovals: Get; + + /// The origin required for approving spends from the treasury outside of the proposal + /// process. The `Success` value is the maximum amount in a native asset that this origin + /// is allowed to spend at a time. + type SpendOrigin: EnsureOrigin>; + + /// Type parameter representing the asset kinds to be spent from the treasury. + type AssetKind: Parameter + MaxEncodedLen; + + /// Type parameter used to identify the beneficiaries eligible to receive treasury spends. + type Beneficiary: Parameter + MaxEncodedLen; + + /// Converting trait to take a source type and convert to [`Self::Beneficiary`]. + type BeneficiaryLookup: StaticLookup; + + /// Type for processing spends of [Self::AssetKind] in favor of [`Self::Beneficiary`]. + type Paymaster: Pay; + + /// Type for converting the balance of an [Self::AssetKind] to the balance of the native + /// asset, solely for the purpose of asserting the result against the maximum allowed spend + /// amount of the [`Self::SpendOrigin`]. + type BalanceConverter: ConversionFromAssetBalance< + ::Balance, + Self::AssetKind, + BalanceOf, + >; + + /// The period during which an approved treasury spend has to be claimed. + #[pallet::constant] + type PayoutPeriod: Get>; + + /// Helper type for benchmarks. + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper: ArgumentsFactory; + } + + /// Number of proposals that have been made. + #[pallet::storage] + #[pallet::getter(fn proposal_count)] + pub(crate) type ProposalCount = StorageValue<_, ProposalIndex, ValueQuery>; + + /// Proposals that have been made. + #[pallet::storage] + #[pallet::getter(fn proposals)] + pub type Proposals, I: 'static = ()> = StorageMap< + _, + Twox64Concat, + ProposalIndex, + Proposal>, + OptionQuery, + >; + + /// The amount which has been reported as inactive to Currency. + #[pallet::storage] + pub type Deactivated, I: 'static = ()> = + StorageValue<_, BalanceOf, ValueQuery>; + + /// Proposal indices that have been approved but not yet awarded. + #[pallet::storage] + #[pallet::getter(fn approvals)] + pub type Approvals, I: 'static = ()> = + StorageValue<_, BoundedVec, ValueQuery>; + + /// The count of spends that have been made. + #[pallet::storage] + pub(crate) type SpendCount = StorageValue<_, SpendIndex, ValueQuery>; + + /// Spends that have been approved and being processed. + // Hasher: Twox safe since `SpendIndex` is an internal count based index. + #[pallet::storage] + pub type Spends, I: 'static = ()> = StorageMap< + _, + Twox64Concat, + SpendIndex, + SpendStatus< + T::AssetKind, + AssetBalanceOf, + T::Beneficiary, + BlockNumberFor, + ::Id, + >, + OptionQuery, + >; + + #[pallet::genesis_config] + #[derive(frame_support::DefaultNoBound)] + pub struct GenesisConfig, I: 'static = ()> { + #[serde(skip)] + _config: sp_std::marker::PhantomData<(T, I)>, + } + + #[pallet::genesis_build] + impl, I: 'static> BuildGenesisConfig for GenesisConfig { + fn build(&self) { + // Create Treasury account + let account_id = >::account_id(); + let min = T::Currency::minimum_balance(); + if T::Currency::free_balance(&account_id) < min { + let _ = T::Currency::make_free_balance_be(&account_id, min); + } + } + } + + #[pallet::event] + #[pallet::generate_deposit(pub(super) fn deposit_event)] + pub enum Event, I: 'static = ()> { + /// New proposal. + Proposed { proposal_index: ProposalIndex }, + /// We have ended a spend period and will now allocate funds. + Spending { budget_remaining: BalanceOf }, + /// Some funds have been allocated. + Awarded { proposal_index: ProposalIndex, award: BalanceOf, account: T::AccountId }, + /// A proposal was rejected; funds were slashed. + Rejected { proposal_index: ProposalIndex, slashed: BalanceOf }, + /// Some of our funds have been burnt. + Burnt { burnt_funds: BalanceOf }, + /// Spending has finished; this is the amount that rolls over until next spend. + Rollover { rollover_balance: BalanceOf }, + /// Some funds have been deposited. + Deposit { value: BalanceOf }, + /// A new spend proposal has been approved. + SpendApproved { + proposal_index: ProposalIndex, + amount: BalanceOf, + beneficiary: T::AccountId, + }, + /// The inactive funds of the pallet have been updated. + UpdatedInactive { reactivated: BalanceOf, deactivated: BalanceOf }, + /// A new asset spend proposal has been approved. + AssetSpendApproved { + index: SpendIndex, + asset_kind: T::AssetKind, + amount: AssetBalanceOf, + beneficiary: T::Beneficiary, + valid_from: BlockNumberFor, + expire_at: BlockNumberFor, + }, + /// An approved spend was voided. + AssetSpendVoided { index: SpendIndex }, + /// A payment happened. + Paid { index: SpendIndex, payment_id: ::Id }, + /// A payment failed and can be retried. + PaymentFailed { index: SpendIndex, payment_id: ::Id }, + /// A spend was processed and removed from the storage. It might have been successfully + /// paid or it may have expired. + SpendProcessed { index: SpendIndex }, + } + + /// Error for the treasury pallet. + #[pallet::error] + pub enum Error { + /// Proposer's balance is too low. + InsufficientProposersBalance, + /// No proposal, bounty or spend at that index. + InvalidIndex, + /// Too many approvals in the queue. + TooManyApprovals, + /// The spend origin is valid but the amount it is allowed to spend is lower than the + /// amount to be spent. + InsufficientPermission, + /// Proposal has not been approved. + ProposalNotApproved, + /// The balance of the asset kind is not convertible to the balance of the native asset. + FailedToConvertBalance, + /// The spend has expired and cannot be claimed. + SpendExpired, + /// The spend is not yet eligible for payout. + EarlyPayout, + /// The payment has already been attempted. + AlreadyAttempted, + /// There was some issue with the mechanism of payment. + PayoutError, + /// The payout was not yet attempted/claimed. + NotAttempted, + /// The payment has neither failed nor succeeded yet. + Inconclusive, + } + + #[pallet::hooks] + impl, I: 'static> Hooks> for Pallet { + /// ## Complexity + /// - `O(A)` where `A` is the number of approvals + fn on_initialize(n: frame_system::pallet_prelude::BlockNumberFor) -> Weight { + let pot = Self::pot(); + let deactivated = Deactivated::::get(); + if pot != deactivated { + T::Currency::reactivate(deactivated); + T::Currency::deactivate(pot); + Deactivated::::put(&pot); + Self::deposit_event(Event::::UpdatedInactive { + reactivated: deactivated, + deactivated: pot, + }); + } + + // Check to see if we should spend some funds! + if (n % T::SpendPeriod::get()).is_zero() { + Self::spend_funds() + } else { + Weight::zero() + } + } + + #[cfg(feature = "try-runtime")] + fn try_state( + _: frame_system::pallet_prelude::BlockNumberFor, + ) -> Result<(), sp_runtime::TryRuntimeError> { + Self::do_try_state()?; + Ok(()) + } + } + + #[derive(Default)] + struct SpendContext { + spend_in_context: BTreeMap, + } + + #[pallet::call] + impl, I: 'static> Pallet { + /// Put forward a suggestion for spending. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// A deposit proportional to the value is reserved and slashed if the proposal is rejected. + /// It is returned once the proposal is awarded. + /// + /// ### Complexity + /// - O(1) + /// + /// ## Events + /// + /// Emits [`Event::Proposed`] if successful. + #[pallet::call_index(0)] + #[pallet::weight(T::WeightInfo::propose_spend())] + #[allow(deprecated)] + #[deprecated( + note = "`propose_spend` will be removed in February 2024. Use `spend` instead." + )] + pub fn propose_spend( + origin: OriginFor, + #[pallet::compact] value: BalanceOf, + beneficiary: AccountIdLookupOf, + ) -> DispatchResult { + let proposer = ensure_signed(origin)?; + let beneficiary = T::Lookup::lookup(beneficiary)?; + + let bond = Self::calculate_bond(value); + T::Currency::reserve(&proposer, bond) + .map_err(|_| Error::::InsufficientProposersBalance)?; + + let c = Self::proposal_count(); + >::put(c + 1); + >::insert(c, Proposal { proposer, value, beneficiary, bond }); + + Self::deposit_event(Event::Proposed { proposal_index: c }); + Ok(()) + } + + /// Reject a proposed spend. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// The original deposit will be slashed. + /// + /// ### Complexity + /// - O(1) + /// + /// ## Events + /// + /// Emits [`Event::Rejected`] if successful. + #[pallet::call_index(1)] + #[pallet::weight((T::WeightInfo::reject_proposal(), DispatchClass::Operational))] + #[allow(deprecated)] + #[deprecated( + note = "`reject_proposal` will be removed in February 2024. Use `spend` instead." + )] + pub fn reject_proposal( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + + let proposal = + >::take(&proposal_id).ok_or(Error::::InvalidIndex)?; + let value = proposal.bond; + let imbalance = T::Currency::slash_reserved(&proposal.proposer, value).0; + T::OnSlash::on_unbalanced(imbalance); + + Self::deposit_event(Event::::Rejected { + proposal_index: proposal_id, + slashed: value, + }); + Ok(()) + } + + /// Approve a proposal. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::ApproveOrigin`]. + /// + /// ## Details + /// + /// At a later time, the proposal will be allocated to the beneficiary and the original + /// deposit will be returned. + /// + /// ### Complexity + /// - O(1). + /// + /// ## Events + /// + /// No events are emitted from this dispatch. + #[pallet::call_index(2)] + #[pallet::weight((T::WeightInfo::approve_proposal(T::MaxApprovals::get()), DispatchClass::Operational))] + #[allow(deprecated)] + #[deprecated( + note = "`approve_proposal` will be removed in February 2024. Use `spend` instead." + )] + pub fn approve_proposal( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::ApproveOrigin::ensure_origin(origin)?; + + ensure!(>::contains_key(proposal_id), Error::::InvalidIndex); + Approvals::::try_append(proposal_id) + .map_err(|_| Error::::TooManyApprovals)?; + Ok(()) + } + + /// Propose and approve a spend of treasury funds. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`. + /// + /// ### Details + /// NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the + /// beneficiary. + /// + /// ### Parameters + /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + /// - `beneficiary`: The destination account for the transfer. + /// + /// ## Events + /// + /// Emits [`Event::SpendApproved`] if successful. + #[pallet::call_index(3)] + #[pallet::weight(T::WeightInfo::spend_local())] + pub fn spend_local( + origin: OriginFor, + #[pallet::compact] amount: BalanceOf, + beneficiary: AccountIdLookupOf, + ) -> DispatchResult { + let max_amount = T::SpendOrigin::ensure_origin(origin)?; + ensure!(amount <= max_amount, Error::::InsufficientPermission); + + with_context::>, _>(|v| { + let context = v.or_default(); + + // We group based on `max_amount`, to distinguish between different kind of + // origins. (assumes that all origins have different `max_amount`) + // + // Worst case is that we reject some "valid" request. + let spend = context.spend_in_context.entry(max_amount).or_default(); + + // Ensure that we don't overflow nor use more than `max_amount` + if spend.checked_add(&amount).map(|s| s > max_amount).unwrap_or(true) { + Err(Error::::InsufficientPermission) + } else { + *spend = spend.saturating_add(amount); + + Ok(()) + } + }) + .unwrap_or(Ok(()))?; + + let beneficiary = T::Lookup::lookup(beneficiary)?; + let proposal_index = Self::proposal_count(); + Approvals::::try_append(proposal_index) + .map_err(|_| Error::::TooManyApprovals)?; + let proposal = Proposal { + proposer: beneficiary.clone(), + value: amount, + beneficiary: beneficiary.clone(), + bond: Default::default(), + }; + Proposals::::insert(proposal_index, proposal); + ProposalCount::::put(proposal_index + 1); + + Self::deposit_event(Event::SpendApproved { proposal_index, amount, beneficiary }); + Ok(()) + } + + /// Force a previously approved proposal to be removed from the approval queue. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// + /// The original deposit will no longer be returned. + /// + /// ### Parameters + /// - `proposal_id`: The index of a proposal + /// + /// ### Complexity + /// - O(A) where `A` is the number of approvals + /// + /// ### Errors + /// - [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the + /// approval queue, i.e., the proposal has not been approved. This could also mean the + /// proposal does not exist altogether, thus there is no way it would have been approved + /// in the first place. + #[pallet::call_index(4)] + #[pallet::weight((T::WeightInfo::remove_approval(), DispatchClass::Operational))] + pub fn remove_approval( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + + Approvals::::try_mutate(|v| -> DispatchResult { + if let Some(index) = v.iter().position(|x| x == &proposal_id) { + v.remove(index); + Ok(()) + } else { + Err(Error::::ProposalNotApproved.into()) + } + })?; + + Ok(()) + } + + /// Propose and approve a spend of treasury funds. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::SpendOrigin`] with the `Success` value being at least + /// `amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted + /// for assertion using the [`Config::BalanceConverter`]. + /// + /// ## Details + /// + /// Create an approved spend for transferring a specific `amount` of `asset_kind` to a + /// designated beneficiary. The spend must be claimed using the `payout` dispatchable within + /// the [`Config::PayoutPeriod`]. + /// + /// ### Parameters + /// - `asset_kind`: An indicator of the specific asset class to be spent. + /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + /// - `beneficiary`: The beneficiary of the spend. + /// - `valid_from`: The block number from which the spend can be claimed. It can refer to + /// the past if the resulting spend has not yet expired according to the + /// [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after + /// approval. + /// + /// ## Events + /// + /// Emits [`Event::AssetSpendApproved`] if successful. + #[pallet::call_index(5)] + #[pallet::weight(T::WeightInfo::spend())] + pub fn spend( + origin: OriginFor, + asset_kind: Box, + #[pallet::compact] amount: AssetBalanceOf, + beneficiary: Box>, + valid_from: Option>, + ) -> DispatchResult { + let max_amount = T::SpendOrigin::ensure_origin(origin)?; + let beneficiary = T::BeneficiaryLookup::lookup(*beneficiary)?; + + let now = frame_system::Pallet::::block_number(); + let valid_from = valid_from.unwrap_or(now); + let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); + ensure!(expire_at > now, Error::::SpendExpired); + + let native_amount = + T::BalanceConverter::from_asset_balance(amount, *asset_kind.clone()) + .map_err(|_| Error::::FailedToConvertBalance)?; + + ensure!(native_amount <= max_amount, Error::::InsufficientPermission); + + with_context::>, _>(|v| { + let context = v.or_default(); + // We group based on `max_amount`, to distinguish between different kind of + // origins. (assumes that all origins have different `max_amount`) + // + // Worst case is that we reject some "valid" request. + let spend = context.spend_in_context.entry(max_amount).or_default(); + + // Ensure that we don't overflow nor use more than `max_amount` + if spend.checked_add(&native_amount).map(|s| s > max_amount).unwrap_or(true) { + Err(Error::::InsufficientPermission) + } else { + *spend = spend.saturating_add(native_amount); + Ok(()) + } + }) + .unwrap_or(Ok(()))?; + + let index = SpendCount::::get(); + Spends::::insert( + index, + SpendStatus { + asset_kind: *asset_kind.clone(), + amount, + beneficiary: beneficiary.clone(), + valid_from, + expire_at, + status: PaymentState::Pending, + }, + ); + SpendCount::::put(index + 1); + + Self::deposit_event(Event::AssetSpendApproved { + index, + asset_kind: *asset_kind, + amount, + beneficiary, + valid_from, + expire_at, + }); + Ok(()) + } + + /// Claim a spend. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// + /// Spends must be claimed within some temporal bounds. A spend may be claimed within one + /// [`Config::PayoutPeriod`] from the `valid_from` block. + /// In case of a payout failure, the spend status must be updated with the `check_status` + /// dispatchable before retrying with the current function. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::Paid`] if successful. + #[pallet::call_index(6)] + #[pallet::weight(T::WeightInfo::payout())] + pub fn payout(origin: OriginFor, index: SpendIndex) -> DispatchResult { + ensure_signed(origin)?; + let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + let now = frame_system::Pallet::::block_number(); + ensure!(now >= spend.valid_from, Error::::EarlyPayout); + ensure!(spend.expire_at > now, Error::::SpendExpired); + ensure!( + matches!(spend.status, PaymentState::Pending | PaymentState::Failed), + Error::::AlreadyAttempted + ); + + let id = T::Paymaster::pay(&spend.beneficiary, spend.asset_kind.clone(), spend.amount) + .map_err(|_| Error::::PayoutError)?; + + spend.status = PaymentState::Attempted { id }; + Spends::::insert(index, spend); + + Self::deposit_event(Event::::Paid { index, payment_id: id }); + + Ok(()) + } + + /// Check the status of the spend and remove it from the storage if processed. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// + /// The status check is a prerequisite for retrying a failed payout. + /// If a spend has either succeeded or expired, it is removed from the storage by this + /// function. In such instances, transaction fees are refunded. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::PaymentFailed`] if the spend payout has failed. + /// Emits [`Event::SpendProcessed`] if the spend payout has succeed. + #[pallet::call_index(7)] + #[pallet::weight(T::WeightInfo::check_status())] + pub fn check_status(origin: OriginFor, index: SpendIndex) -> DispatchResultWithPostInfo { + use PaymentState as State; + use PaymentStatus as Status; + + ensure_signed(origin)?; + let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + let now = frame_system::Pallet::::block_number(); + + if now > spend.expire_at && !matches!(spend.status, State::Attempted { .. }) { + // spend has expired and no further status update is expected. + Spends::::remove(index); + Self::deposit_event(Event::::SpendProcessed { index }); + return Ok(Pays::No.into()) + } + + let payment_id = match spend.status { + State::Attempted { id } => id, + _ => return Err(Error::::NotAttempted.into()), + }; + + match T::Paymaster::check_payment(payment_id) { + Status::Failure => { + spend.status = PaymentState::Failed; + Spends::::insert(index, spend); + Self::deposit_event(Event::::PaymentFailed { index, payment_id }); + }, + Status::Success | Status::Unknown => { + Spends::::remove(index); + Self::deposit_event(Event::::SpendProcessed { index }); + return Ok(Pays::No.into()) + }, + Status::InProgress => return Err(Error::::Inconclusive.into()), + } + return Ok(Pays::Yes.into()) + } + + /// Void previously approved spend. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// + /// A spend void is only possible if the payout has not been attempted yet. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::AssetSpendVoided`] if successful. + #[pallet::call_index(8)] + #[pallet::weight(T::WeightInfo::void_spend())] + pub fn void_spend(origin: OriginFor, index: SpendIndex) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + let spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + ensure!( + matches!(spend.status, PaymentState::Pending | PaymentState::Failed), + Error::::AlreadyAttempted + ); + + Spends::::remove(index); + Self::deposit_event(Event::::AssetSpendVoided { index }); + Ok(()) + } + } +} + +impl, I: 'static> Pallet { + // Add public immutables and private mutables. + + /// The account ID of the treasury pot. + /// + /// This actually does computation. If you need to keep using it, then make sure you cache the + /// value and only call this once. + pub fn account_id() -> T::AccountId { + T::PalletId::get().into_account_truncating() + } + + /// The needed bond for a proposal whose spend is `value`. + fn calculate_bond(value: BalanceOf) -> BalanceOf { + let mut r = T::ProposalBondMinimum::get().max(T::ProposalBond::get() * value); + if let Some(m) = T::ProposalBondMaximum::get() { + r = r.min(m); + } + r + } + + /// Spend some money! returns number of approvals before spend. + pub fn spend_funds() -> Weight { + let mut total_weight = Weight::zero(); + + let mut budget_remaining = Self::pot(); + Self::deposit_event(Event::Spending { budget_remaining }); + let account_id = Self::account_id(); + + let mut missed_any = false; + let mut imbalance = >::zero(); + let proposals_len = Approvals::::mutate(|v| { + let proposals_approvals_len = v.len() as u32; + v.retain(|&index| { + // Should always be true, but shouldn't panic if false or we're screwed. + if let Some(p) = Self::proposals(index) { + if p.value <= budget_remaining { + budget_remaining -= p.value; + >::remove(index); + + // return their deposit. + let err_amount = T::Currency::unreserve(&p.proposer, p.bond); + debug_assert!(err_amount.is_zero()); + + // provide the allocation. + imbalance.subsume(T::Currency::deposit_creating(&p.beneficiary, p.value)); + + Self::deposit_event(Event::Awarded { + proposal_index: index, + award: p.value, + account: p.beneficiary, + }); + false + } else { + missed_any = true; + true + } + } else { + false + } + }); + proposals_approvals_len + }); + + total_weight += T::WeightInfo::on_initialize_proposals(proposals_len); + + // Call Runtime hooks to external pallet using treasury to compute spend funds. + T::SpendFunds::spend_funds( + &mut budget_remaining, + &mut imbalance, + &mut total_weight, + &mut missed_any, + ); + + if !missed_any { + // burn some proportion of the remaining budget if we run a surplus. + let burn = (T::Burn::get() * budget_remaining).min(budget_remaining); + budget_remaining -= burn; + + let (debit, credit) = T::Currency::pair(burn); + imbalance.subsume(debit); + T::BurnDestination::on_unbalanced(credit); + Self::deposit_event(Event::Burnt { burnt_funds: burn }) + } + + // Must never be an error, but better to be safe. + // proof: budget_remaining is account free balance minus ED; + // Thus we can't spend more than account free balance minus ED; + // Thus account is kept alive; qed; + if let Err(problem) = + T::Currency::settle(&account_id, imbalance, WithdrawReasons::TRANSFER, KeepAlive) + { + print("Inconsistent state - couldn't settle imbalance for funds spent by treasury"); + // Nothing else to do here. + drop(problem); + } + + Self::deposit_event(Event::Rollover { rollover_balance: budget_remaining }); + + total_weight + } + + /// Return the amount of money in the pot. + // The existential deposit is not part of the pot so treasury account never gets deleted. + pub fn pot() -> BalanceOf { + T::Currency::free_balance(&Self::account_id()) + // Must never be less than 0 but better be safe. + .saturating_sub(T::Currency::minimum_balance()) + } + + /// Ensure the correctness of the state of this pallet. + #[cfg(any(feature = "try-runtime", test))] + fn do_try_state() -> Result<(), sp_runtime::TryRuntimeError> { + Self::try_state_proposals()?; + Self::try_state_spends()?; + + Ok(()) + } + + /// ### Invariants of proposal storage items + /// + /// 1. [`ProposalCount`] >= Number of elements in [`Proposals`]. + /// 2. Each entry in [`Proposals`] should be saved under a key strictly less than current + /// [`ProposalCount`]. + /// 3. Each [`ProposalIndex`] contained in [`Approvals`] should exist in [`Proposals`]. + /// Note, that this automatically implies [`Approvals`].count() <= [`Proposals`].count(). + #[cfg(any(feature = "try-runtime", test))] + fn try_state_proposals() -> Result<(), sp_runtime::TryRuntimeError> { + let current_proposal_count = ProposalCount::::get(); + ensure!( + current_proposal_count as usize >= Proposals::::iter().count(), + "Actual number of proposals exceeds `ProposalCount`." + ); + + Proposals::::iter_keys().try_for_each(|proposal_index| -> DispatchResult { + ensure!( + current_proposal_count as u32 > proposal_index, + "`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`." + ); + Ok(()) + })?; + + Approvals::::get() + .iter() + .try_for_each(|proposal_index| -> DispatchResult { + ensure!( + Proposals::::contains_key(proposal_index), + "Proposal indices in `Approvals` must also be contained in `Proposals`." + ); + Ok(()) + })?; + + Ok(()) + } + + /// ## Invariants of spend storage items + /// + /// 1. [`SpendCount`] >= Number of elements in [`Spends`]. + /// 2. Each entry in [`Spends`] should be saved under a key strictly less than current + /// [`SpendCount`]. + /// 3. For each spend entry contained in [`Spends`] we should have spend.expire_at + /// > spend.valid_from. + #[cfg(any(feature = "try-runtime", test))] + fn try_state_spends() -> Result<(), sp_runtime::TryRuntimeError> { + let current_spend_count = SpendCount::::get(); + ensure!( + current_spend_count as usize >= Spends::::iter().count(), + "Actual number of spends exceeds `SpendCount`." + ); + + Spends::::iter_keys().try_for_each(|spend_index| -> DispatchResult { + ensure!( + current_spend_count > spend_index, + "`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`." + ); + Ok(()) + })?; + + Spends::::iter().try_for_each(|(_index, spend)| -> DispatchResult { + ensure!( + spend.valid_from < spend.expire_at, + "Spend cannot expire before it becomes valid." + ); + Ok(()) + })?; + + Ok(()) + } +} + +impl, I: 'static> OnUnbalanced> for Pallet { + fn on_nonzero_unbalanced(amount: NegativeImbalanceOf) { + let numeric_amount = amount.peek(); + + // Must resolve into existing but better to be safe. + let _ = T::Currency::resolve_creating(&Self::account_id(), amount); + + Self::deposit_event(Event::Deposit { value: numeric_amount }); + } +} + +/// TypedGet implementation to get the AccountId of the Treasury. +pub struct TreasuryAccountId(PhantomData); +impl sp_runtime::traits::TypedGet for TreasuryAccountId +where + R: crate::Config, +{ + type Type = ::AccountId; + fn get() -> Self::Type { + >::account_id() + } +} diff --git a/pallets/treasury/src/tests.rs b/pallets/treasury/src/tests.rs new file mode 100644 index 0000000000..ba33f2811c --- /dev/null +++ b/pallets/treasury/src/tests.rs @@ -0,0 +1,1144 @@ +// 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. + +//! Treasury pallet tests. + +#![cfg(test)] + +use core::{cell::RefCell, marker::PhantomData}; +use sp_runtime::{ + traits::{BadOrigin, Dispatchable, IdentityLookup}, + BuildStorage, +}; + +use frame_support::{ + assert_err_ignore_postinfo, assert_noop, assert_ok, derive_impl, + pallet_prelude::Pays, + parameter_types, + traits::{ + tokens::{ConversionFromAssetBalance, PaymentStatus}, + ConstU32, ConstU64, OnInitialize, + }, + PalletId, +}; + +use super::*; +use crate as treasury; + +type Block = frame_system::mocking::MockBlock; +type UtilityCall = pallet_utility::Call; +type TreasuryCall = crate::Call; + +frame_support::construct_runtime!( + pub enum Test + { + System: frame_system, + Balances: pallet_balances, + Treasury: treasury, + Utility: pallet_utility, + } +); + +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] +impl frame_system::Config for Test { + type AccountId = u128; // u64 is not enough to hold bytes used to generate bounty account + type Lookup = IdentityLookup; + type Block = Block; + type AccountData = pallet_balances::AccountData; +} +impl pallet_balances::Config for Test { + type MaxLocks = (); + type MaxReserves = (); + type ReserveIdentifier = [u8; 8]; + type Balance = u64; + type RuntimeEvent = RuntimeEvent; + type DustRemoval = (); + type ExistentialDeposit = ConstU64<1>; + type AccountStore = System; + type WeightInfo = (); + type FreezeIdentifier = (); + type MaxFreezes = (); + type RuntimeHoldReason = (); + type RuntimeFreezeReason = (); + type DoneSlashHandler = (); +} + +impl pallet_utility::Config for Test { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PalletsOrigin = OriginCaller; + type WeightInfo = (); +} + +thread_local! { + pub static PAID: RefCell> = RefCell::new(BTreeMap::new()); + pub static STATUS: RefCell> = RefCell::new(BTreeMap::new()); + pub static LAST_ID: RefCell = RefCell::new(0u64); +} + +/// paid balance for a given account and asset ids +fn paid(who: u128, asset_id: u32) -> u64 { + PAID.with(|p| p.borrow().get(&(who, asset_id)).cloned().unwrap_or(0)) +} + +/// reduce paid balance for a given account and asset ids +fn unpay(who: u128, asset_id: u32, amount: u64) { + PAID.with(|p| p.borrow_mut().entry((who, asset_id)).or_default().saturating_reduce(amount)) +} + +/// set status for a given payment id +fn set_status(id: u64, s: PaymentStatus) { + STATUS.with(|m| m.borrow_mut().insert(id, s)); +} + +pub struct TestPay; +impl Pay for TestPay { + type Beneficiary = u128; + type Balance = u64; + type Id = u64; + type AssetKind = u32; + type Error = (); + + fn pay( + who: &Self::Beneficiary, + asset_kind: Self::AssetKind, + amount: Self::Balance, + ) -> Result { + PAID.with(|paid| *paid.borrow_mut().entry((*who, asset_kind)).or_default() += amount); + Ok(LAST_ID.with(|lid| { + let x = *lid.borrow(); + lid.replace(x + 1); + x + })) + } + fn check_payment(id: Self::Id) -> PaymentStatus { + STATUS.with(|s| s.borrow().get(&id).cloned().unwrap_or(PaymentStatus::Unknown)) + } + #[cfg(feature = "runtime-benchmarks")] + fn ensure_successful(_: &Self::Beneficiary, _: Self::AssetKind, _: Self::Balance) {} + #[cfg(feature = "runtime-benchmarks")] + fn ensure_concluded(id: Self::Id) { + set_status(id, PaymentStatus::Failure) + } +} + +parameter_types! { + pub const ProposalBond: Permill = Permill::from_percent(5); + pub const Burn: Permill = Permill::from_percent(50); + pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); + pub TreasuryAccount: u128 = Treasury::account_id(); + pub const SpendPayoutPeriod: u64 = 5; +} +pub struct TestSpendOrigin; +impl frame_support::traits::EnsureOrigin for TestSpendOrigin { + type Success = u64; + fn try_origin(o: RuntimeOrigin) -> Result { + Result::, RuntimeOrigin>::from(o).and_then(|o| match o { + frame_system::RawOrigin::Root => Ok(u64::max_value()), + frame_system::RawOrigin::Signed(10) => Ok(5), + frame_system::RawOrigin::Signed(11) => Ok(10), + frame_system::RawOrigin::Signed(12) => Ok(20), + frame_system::RawOrigin::Signed(13) => Ok(50), + r => Err(RuntimeOrigin::from(r)), + }) + } + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin() -> Result { + Ok(RuntimeOrigin::root()) + } +} + +pub struct MulBy(PhantomData); +impl> ConversionFromAssetBalance for MulBy { + type Error = (); + fn from_asset_balance(balance: u64, _asset_id: u32) -> Result { + return balance.checked_mul(N::get()).ok_or(()) + } + #[cfg(feature = "runtime-benchmarks")] + fn ensure_successful(_: u32) {} +} + +impl Config for Test { + type PalletId = TreasuryPalletId; + type Currency = pallet_balances::Pallet; + type ApproveOrigin = frame_system::EnsureRoot; + type RejectOrigin = frame_system::EnsureRoot; + type RuntimeEvent = RuntimeEvent; + type OnSlash = (); + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU64<1>; + type ProposalBondMaximum = (); + type SpendPeriod = ConstU64<2>; + type Burn = Burn; + type BurnDestination = (); // Just gets burned. + type WeightInfo = (); + type SpendFunds = (); + type MaxApprovals = ConstU32<100>; + type SpendOrigin = TestSpendOrigin; + type AssetKind = u32; + type Beneficiary = u128; + type BeneficiaryLookup = IdentityLookup; + type Paymaster = TestPay; + type BalanceConverter = MulBy>; + type PayoutPeriod = SpendPayoutPeriod; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); +} + +pub struct ExtBuilder {} + +impl Default for ExtBuilder { + fn default() -> Self { + Self {} + } +} + +impl ExtBuilder { + pub fn build(self) -> sp_io::TestExternalities { + let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); + pallet_balances::GenesisConfig:: { + // Total issuance will be 200 with treasury account initialized at ED. + balances: vec![(0, 100), (1, 98), (2, 1)], + } + .assimilate_storage(&mut t) + .unwrap(); + crate::GenesisConfig::::default().assimilate_storage(&mut t).unwrap(); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| System::set_block_number(1)); + ext + } +} + +fn get_payment_id(i: SpendIndex) -> Option { + let spend = Spends::::get(i).expect("no spend"); + match spend.status { + PaymentState::Attempted { id } => Some(id), + _ => None, + } +} + +#[test] +fn genesis_config_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(Treasury::pot(), 0); + assert_eq!(Treasury::proposal_count(), 0); + }); +} + +#[test] +fn spend_local_origin_permissioning_works() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!(Treasury::spend_local(RuntimeOrigin::signed(1), 1, 1), BadOrigin); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(10), 6, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(11), 11, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(12), 21, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(13), 51, 1), + Error::::InsufficientPermission + ); + }); +} + +#[docify::export] +#[test] +fn spend_local_origin_works() { + ExtBuilder::default().build().execute_with(|| { + // Check that accumulate works when we have Some value in Dummy already. + Balances::make_free_balance_be(&Treasury::account_id(), 101); + // approve spend of some amount to beneficiary `6`. + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(11), 10, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(12), 20, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(13), 50, 6)); + // free balance of `6` is zero, spend period has not passed. + >::on_initialize(1); + assert_eq!(Balances::free_balance(6), 0); + // free balance of `6` is `100`, spend period has passed. + >::on_initialize(2); + assert_eq!(Balances::free_balance(6), 100); + // `100` spent, `1` burned. + assert_eq!(Treasury::pot(), 0); + }); +} + +#[test] +fn minting_works() { + ExtBuilder::default().build().execute_with(|| { + // Check that accumulate works when we have Some value in Dummy already. + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + }); +} + +#[test] +fn spend_proposal_takes_min_deposit() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Balances::free_balance(0), 99); + assert_eq!(Balances::reserved_balance(0), 1); + }); +} + +#[test] +fn spend_proposal_takes_proportional_deposit() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_eq!(Balances::free_balance(0), 95); + assert_eq!(Balances::reserved_balance(0), 5); + }); +} + +#[test] +fn spend_proposal_fails_when_proposer_poor() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(2), 100, 3) + }, + Error::::InsufficientProposersBalance, + ); + }); +} + +#[test] +fn accepted_spend_proposal_ignored_outside_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(1); + assert_eq!(Balances::free_balance(3), 0); + assert_eq!(Treasury::pot(), 100); + }); +} + +#[test] +fn unused_pot_should_diminish() { + ExtBuilder::default().build().execute_with(|| { + let init_total_issuance = Balances::total_issuance(); + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Balances::total_issuance(), init_total_issuance + 100); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 50); + assert_eq!(Balances::total_issuance(), init_total_issuance + 50); + }); +} + +#[test] +fn rejected_spend_proposal_ignored_on_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Balances::free_balance(3), 0); + assert_eq!(Treasury::pot(), 50); + }); +} + +#[test] +fn reject_already_rejected_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn reject_non_existent_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accept_non_existent_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accept_already_rejected_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accepted_spend_proposal_enacted_on_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Balances::free_balance(3), 100); + assert_eq!(Treasury::pot(), 0); + }); +} + +#[test] +fn pot_underflow_should_not_diminish() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 150, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 100); // Pot hasn't changed + + let _ = Balances::deposit_into_existing(&Treasury::account_id(), 100).unwrap(); + >::on_initialize(4); + assert_eq!(Balances::free_balance(3), 150); // Fund has been spent + assert_eq!(Treasury::pot(), 25); // Pot has finally changed + }); +} + +// Treasury account doesn't get deleted if amount approved to spend is all its free balance. +// i.e. pot should not include existential deposit needed for account survival. +#[test] +fn treasury_account_doesnt_get_deleted() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + let treasury_balance = Balances::free_balance(&Treasury::account_id()); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), treasury_balance, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 100); // Pot hasn't changed + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), Treasury::pot(), 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 1) + }); + + >::on_initialize(4); + assert_eq!(Treasury::pot(), 0); // Pot is emptied + assert_eq!(Balances::free_balance(Treasury::account_id()), 1); // but the account is still there + }); +} + +// In case treasury account is not existing then it works fine. +// This is useful for chain that will just update runtime. +#[test] +fn inexistent_account_works() { + let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); + pallet_balances::GenesisConfig:: { balances: vec![(0, 100), (1, 99), (2, 1)] } + .assimilate_storage(&mut t) + .unwrap(); + // Treasury genesis config is not build thus treasury account does not exist + let mut t: sp_io::TestExternalities = t.into(); + + t.execute_with(|| { + assert_eq!(Balances::free_balance(Treasury::account_id()), 0); // Account does not exist + assert_eq!(Treasury::pot(), 0); // Pot is empty + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 99, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 1) + }); + >::on_initialize(2); + assert_eq!(Treasury::pot(), 0); // Pot hasn't changed + assert_eq!(Balances::free_balance(3), 0); // Balance of `3` hasn't changed + + Balances::make_free_balance_be(&Treasury::account_id(), 100); + assert_eq!(Treasury::pot(), 99); // Pot now contains funds + assert_eq!(Balances::free_balance(Treasury::account_id()), 100); // Account does exist + + >::on_initialize(4); + + assert_eq!(Treasury::pot(), 0); // Pot has changed + assert_eq!(Balances::free_balance(3), 99); // Balance of `3` has changed + }); +} + +#[test] +fn genesis_funding_works() { + let mut t = frame_system::GenesisConfig::::default().build_storage().unwrap(); + let initial_funding = 100; + pallet_balances::GenesisConfig:: { + // Total issuance will be 200 with treasury account initialized with 100. + balances: vec![(0, 100), (Treasury::account_id(), initial_funding)], + } + .assimilate_storage(&mut t) + .unwrap(); + crate::GenesisConfig::::default().assimilate_storage(&mut t).unwrap(); + let mut t: sp_io::TestExternalities = t.into(); + + t.execute_with(|| { + assert_eq!(Balances::free_balance(Treasury::account_id()), initial_funding); + assert_eq!(Treasury::pot(), initial_funding - Balances::minimum_balance()); + }); +} + +#[test] +fn max_approvals_limited() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), u64::MAX); + Balances::make_free_balance_be(&0, u64::MAX); + + for _ in 0..::MaxApprovals::get() { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + } + + // One too many will fail + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::TooManyApprovals + ); + }); +} + +#[test] +fn remove_already_removed_approval_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_eq!(Treasury::approvals(), vec![0]); + assert_ok!(Treasury::remove_approval(RuntimeOrigin::root(), 0)); + assert_eq!(Treasury::approvals(), vec![]); + + assert_noop!( + Treasury::remove_approval(RuntimeOrigin::root(), 0), + Error::::ProposalNotApproved + ); + }); +} + +#[test] +fn spending_local_in_batch_respects_max_total() { + ExtBuilder::default().build().execute_with(|| { + // Respect the `max_total` for the given origin. + assert_ok!(RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend_local { amount: 2, beneficiary: 100 }), + RuntimeCall::from(TreasuryCall::spend_local { amount: 2, beneficiary: 101 }) + ] + }) + .dispatch(RuntimeOrigin::signed(10))); + + assert_err_ignore_postinfo!( + RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend_local { amount: 2, beneficiary: 100 }), + RuntimeCall::from(TreasuryCall::spend_local { amount: 4, beneficiary: 101 }) + ] + }) + .dispatch(RuntimeOrigin::signed(10)), + Error::::InsufficientPermission + ); + }) +} + +#[test] +fn spending_in_batch_respects_max_total() { + ExtBuilder::default().build().execute_with(|| { + // Respect the `max_total` for the given origin. + assert_ok!(RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 1, + beneficiary: Box::new(100), + valid_from: None, + }), + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 1, + beneficiary: Box::new(101), + valid_from: None, + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10))); + + assert_err_ignore_postinfo!( + RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 2, + beneficiary: Box::new(100), + valid_from: None, + }), + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 2, + beneficiary: Box::new(101), + valid_from: None, + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10)), + Error::::InsufficientPermission + ); + }) +} + +#[test] +fn spend_origin_works() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None)); + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 3, Box::new(6), None), + Error::::InsufficientPermission + ); + assert_ok!(Treasury::spend(RuntimeOrigin::signed(11), Box::new(1), 5, Box::new(6), None)); + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(11), Box::new(1), 6, Box::new(6), None), + Error::::InsufficientPermission + ); + assert_ok!(Treasury::spend(RuntimeOrigin::signed(12), Box::new(1), 10, Box::new(6), None)); + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(12), Box::new(1), 11, Box::new(6), None), + Error::::InsufficientPermission + ); + + assert_eq!(SpendCount::::get(), 4); + assert_eq!(Spends::::iter().count(), 4); + }); +} + +#[test] +fn spend_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + + assert_eq!(SpendCount::::get(), 1); + assert_eq!( + Spends::::get(0).unwrap(), + SpendStatus { + asset_kind: 1, + amount: 2, + beneficiary: 6, + valid_from: 1, + expire_at: 6, + status: PaymentState::Pending, + } + ); + System::assert_last_event( + Event::::AssetSpendApproved { + index: 0, + asset_kind: 1, + amount: 2, + beneficiary: 6, + valid_from: 1, + expire_at: 6, + } + .into(), + ); + }); +} + +#[test] +fn spend_expires() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + + // spend `0` expires in 5 blocks after the creating. + System::set_block_number(1); + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + System::set_block_number(6); + assert_noop!(Treasury::payout(RuntimeOrigin::signed(1), 0), Error::::SpendExpired); + + // spend cannot be approved since its already expired. + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), Some(0)), + Error::::SpendExpired + ); + }); +} + +#[docify::export] +#[test] +fn spend_payout_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + // approve a `2` coins spend of asset `1` to beneficiary `6`, the spend valid from now. + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + // payout the spend. + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + // beneficiary received `2` coins of asset `1`. + assert_eq!(paid(6, 1), 2); + assert_eq!(SpendCount::::get(), 1); + let payment_id = get_payment_id(0).expect("no payment attempt"); + System::assert_last_event(Event::::Paid { index: 0, payment_id }.into()); + set_status(payment_id, PaymentStatus::Success); + // the payment succeed. + assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); + System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); + // cannot payout the same spend twice. + assert_noop!(Treasury::payout(RuntimeOrigin::signed(1), 0), Error::::InvalidIndex); + }); +} + +#[test] +fn payout_retry_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_eq!(paid(6, 1), 2); + let payment_id = get_payment_id(0).expect("no payment attempt"); + // spend payment is failed + set_status(payment_id, PaymentStatus::Failure); + unpay(6, 1, 2); + // cannot payout a spend in the attempted state + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::AlreadyAttempted + ); + // check status and update it to retry the payout again + assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); + System::assert_last_event(Event::::PaymentFailed { index: 0, payment_id }.into()); + // the payout can be retried now + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_eq!(paid(6, 1), 2); + }); +} + +#[test] +fn spend_valid_from_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + System::set_block_number(1); + + // spend valid from block `2`. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(2) + )); + assert_noop!(Treasury::payout(RuntimeOrigin::signed(1), 0), Error::::EarlyPayout); + System::set_block_number(2); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + + System::set_block_number(5); + // spend approved even if `valid_from` in the past since the payout period has not passed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(4) + )); + // spend paid. + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); + }); +} + +#[test] +fn void_spend_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + // spend cannot be voided if already attempted. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(1) + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_noop!( + Treasury::void_spend(RuntimeOrigin::root(), 0), + Error::::AlreadyAttempted + ); + + // void spend. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(10) + )); + assert_ok!(Treasury::void_spend(RuntimeOrigin::root(), 1)); + assert_eq!(Spends::::get(1), None); + }); +} + +#[test] +fn check_status_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + System::set_block_number(1); + + // spend `0` expired and can be removed. + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + System::set_block_number(7); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 0).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); + + // spend `1` payment failed and expired hence can be removed. + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + assert_noop!( + Treasury::check_status(RuntimeOrigin::signed(1), 1), + Error::::NotAttempted + ); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); + let payment_id = get_payment_id(1).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Failure); + // spend expired. + System::set_block_number(13); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); + assert_eq!(info.pays_fee, Pays::Yes); + System::assert_last_event(Event::::PaymentFailed { index: 1, payment_id }.into()); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 1 }.into()); + + // spend `2` payment succeed. + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 2)); + let payment_id = get_payment_id(2).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Success); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 2).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 2 }.into()); + + // spend `3` payment in process. + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 3)); + let payment_id = get_payment_id(3).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::InProgress); + assert_noop!( + Treasury::check_status(RuntimeOrigin::signed(1), 3), + Error::::Inconclusive + ); + + // spend `4` removed since the payment status is unknown. + assert_ok!(Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 2, Box::new(6), None)); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 4)); + let payment_id = get_payment_id(4).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Unknown); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 4).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 4 }.into()); + }); +} + +#[test] +fn try_state_proposals_invariant_1_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + assert_eq!(ProposalCount::::get(), 1); + // Check invariant 1 holds + assert!(ProposalCount::::get() as usize >= Proposals::::iter().count()); + // Break invariant 1 by decreasing `ProposalCount` + ProposalCount::::put(0); + // Invariant 1 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Actual number of proposals exceeds `ProposalCount`.")) + ); + }); +} + +#[test] +fn try_state_proposals_invariant_2_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + let current_proposal_count = ProposalCount::::get(); + assert_eq!(current_proposal_count, 1); + // Check invariant 2 holds + assert!( + Proposals::::iter_keys() + .all(|proposal_index| { + proposal_index < current_proposal_count + }) + ); + // Break invariant 2 by inserting the proposal under key = 1 + let proposal = Proposals::::take(0).unwrap(); + Proposals::::insert(1, proposal); + // Invariant 2 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`.")) + ); + }); +} + +#[test] +fn try_state_proposals_invariant_3_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 10, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + // Approve the proposal + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_eq!(Approvals::::get().len(), 1); + // Check invariant 3 holds + assert!(Approvals::::get() + .iter() + .all(|proposal_index| { Proposals::::contains_key(proposal_index) })); + // Break invariant 3 by adding another key to `Approvals` + let mut approvals_modified = Approvals::::get(); + approvals_modified.try_push(2).unwrap(); + Approvals::::put(approvals_modified); + // Invariant 3 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Proposal indices in `Approvals` must also be contained in `Proposals`.")) + ); + }); +} + +#[test] +fn try_state_spends_invariant_1_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + assert_eq!(SpendCount::::get(), 1); + // Check invariant 1 holds + assert!(SpendCount::::get() as usize >= Spends::::iter().count()); + // Break invariant 1 by decreasing `SpendCount` + SpendCount::::put(0); + // Invariant 1 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Actual number of spends exceeds `SpendCount`.")) + ); + }); +} + +#[test] +fn try_state_spends_invariant_2_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + let current_spend_count = SpendCount::::get(); + assert_eq!(current_spend_count, 1); + // Check invariant 2 holds + assert!( + Spends::::iter_keys() + .all(|spend_index| { + spend_index < current_spend_count + }) + ); + // Break invariant 2 by inserting the spend under key = 1 + let spend = Spends::::take(0).unwrap(); + Spends::::insert(1, spend); + // Invariant 2 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`.")) + ); + }); +} + +#[test] +fn try_state_spends_invariant_3_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + let current_spend_count = SpendCount::::get(); + assert_eq!(current_spend_count, 1); + // Check invariant 3 holds + assert!(Spends::::iter_values() + .all(|SpendStatus { valid_from, expire_at, .. }| { valid_from < expire_at })); + // Break invariant 3 by reversing spend.expire_at and spend.valid_from + let spend = Spends::::take(0).unwrap(); + Spends::::insert( + 0, + SpendStatus { valid_from: spend.expire_at, expire_at: spend.valid_from, ..spend }, + ); + // Invariant 3 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Spend cannot expire before it becomes valid.")) + ); + }); +} diff --git a/pallets/treasury/src/weights.rs b/pallets/treasury/src/weights.rs new file mode 100644 index 0000000000..82277e2d28 --- /dev/null +++ b/pallets/treasury/src/weights.rs @@ -0,0 +1,367 @@ +// 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. + +//! Autogenerated weights for `pallet_treasury` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner-anb7yjbi-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024` + +// Executed Command: +// ./target/production/substrate-node +// benchmark +// pallet +// --chain=dev +// --steps=50 +// --repeat=20 +// --pallet=pallet_treasury +// --no-storage-info +// --no-median-slopes +// --no-min-squares +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=./substrate/frame/treasury/src/weights.rs +// --header=./substrate/HEADER-APACHE2 +// --template=./substrate/.maintain/frame-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_treasury`. +pub trait WeightInfo { + fn spend_local() -> Weight; + fn propose_spend() -> Weight; + fn reject_proposal() -> Weight; + fn approve_proposal(p: u32, ) -> Weight; + fn remove_approval() -> Weight; + fn on_initialize_proposals(p: u32, ) -> Weight; + fn spend() -> Weight; + fn payout() -> Weight; + fn check_status() -> Weight; + fn void_spend() -> Weight; +} + +/// Weights for `pallet_treasury` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn spend_local() -> Weight { + // Proof Size summary in bytes: + // Measured: `76` + // Estimated: `1887` + // Minimum execution time: 11_910_000 picoseconds. + Weight::from_parts(12_681_000, 1887) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn propose_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `177` + // Estimated: `1489` + // Minimum execution time: 24_704_000 picoseconds. + Weight::from_parts(25_484_000, 1489) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn reject_proposal() -> Weight { + // Proof Size summary in bytes: + // Measured: `335` + // Estimated: `3593` + // Minimum execution time: 26_632_000 picoseconds. + Weight::from_parts(27_325_000, 3593) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:0) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn approve_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `504 + p * (8 ±0)` + // Estimated: `3573` + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(11_268_438, 3573) + // Standard Error: 1_039 + .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + fn remove_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `161` + // Estimated: `1887` + // Minimum execution time: 6_372_000 picoseconds. + Weight::from_parts(6_567_000, 1887) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Deactivated` (r:1 w:1) + /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:99 w:99) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:198 w:198) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Bounties::BountyApprovals` (r:1 w:1) + /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn on_initialize_proposals(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `451 + p * (251 ±0)` + // Estimated: `1887 + p * (5206 ±0)` + // Minimum execution time: 33_150_000 picoseconds. + Weight::from_parts(41_451_020, 1887) + // Standard Error: 19_018 + .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into()))) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) + } + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::SpendCount` (r:1 w:1) + /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Spends` (r:0 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `140` + // Estimated: `3501` + // Minimum execution time: 14_233_000 picoseconds. + Weight::from_parts(14_842_000, 3501) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn payout() -> Weight { + // Proof Size summary in bytes: + // Measured: `709` + // Estimated: `6208` + // Minimum execution time: 58_857_000 picoseconds. + Weight::from_parts(61_291_000, 6208) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(5_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn check_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 12_116_000 picoseconds. + Weight::from_parts(12_480_000, 3538) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn void_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 10_834_000 picoseconds. + Weight::from_parts(11_427_000, 3538) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn spend_local() -> Weight { + // Proof Size summary in bytes: + // Measured: `76` + // Estimated: `1887` + // Minimum execution time: 11_910_000 picoseconds. + Weight::from_parts(12_681_000, 1887) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn propose_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `177` + // Estimated: `1489` + // Minimum execution time: 24_704_000 picoseconds. + Weight::from_parts(25_484_000, 1489) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn reject_proposal() -> Weight { + // Proof Size summary in bytes: + // Measured: `335` + // Estimated: `3593` + // Minimum execution time: 26_632_000 picoseconds. + Weight::from_parts(27_325_000, 3593) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:0) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn approve_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `504 + p * (8 ±0)` + // Estimated: `3573` + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(11_268_438, 3573) + // Standard Error: 1_039 + .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + fn remove_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `161` + // Estimated: `1887` + // Minimum execution time: 6_372_000 picoseconds. + Weight::from_parts(6_567_000, 1887) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Deactivated` (r:1 w:1) + /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:99 w:99) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:198 w:198) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Bounties::BountyApprovals` (r:1 w:1) + /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn on_initialize_proposals(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `451 + p * (251 ±0)` + // Estimated: `1887 + p * (5206 ±0)` + // Minimum execution time: 33_150_000 picoseconds. + Weight::from_parts(41_451_020, 1887) + // Standard Error: 19_018 + .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(p.into()))) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) + } + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::SpendCount` (r:1 w:1) + /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Spends` (r:0 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `140` + // Estimated: `3501` + // Minimum execution time: 14_233_000 picoseconds. + Weight::from_parts(14_842_000, 3501) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn payout() -> Weight { + // Proof Size summary in bytes: + // Measured: `709` + // Estimated: `6208` + // Minimum execution time: 58_857_000 picoseconds. + Weight::from_parts(61_291_000, 6208) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(5_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn check_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 12_116_000 picoseconds. + Weight::from_parts(12_480_000, 3538) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn void_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 10_834_000 picoseconds. + Weight::from_parts(11_427_000, 3538) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } +} diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index aa75843e7a..83908150cc 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -34,13 +34,14 @@ pallet-scheduler = { workspace = true } pallet-session = { workspace = true } pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } -pallet-treasury = { workspace = true } +pallet-transaction-payment = { workspace = true } pallet-utility = { workspace = true } pallet-proxy = { workspace = true } # cumulus cumulus-primitives-core = { workspace = true } pallet-collator-selection = { workspace = true } pallet-time-release = { path = "../../pallets/time-release", default-features = false } +pallet-treasury = { path = "../../pallets/treasury", default-features = false } [features] default = ["std"] @@ -63,7 +64,9 @@ std = [ "pallet-treasury/std", "pallet-utility/std", "pallet-proxy/std", + "pallet-sudo/std", "pallet-timestamp/std", + "pallet-transaction-payment/std", "pallet-scheduler/std", "sp-core/std", "sp-runtime/std", @@ -82,6 +85,7 @@ try-runtime = [ "pallet-multisig/try-runtime", "pallet-preimage/try-runtime", "pallet-scheduler/try-runtime", + "pallet-transaction-payment/try-runtime", "pallet-treasury/try-runtime", "pallet-utility/try-runtime", "pallet-proxy/try-runtime", diff --git a/runtime/common/src/extensions/check_nonce.rs b/runtime/common/src/extensions/check_nonce.rs index 9dcede2a04..9829da1b8b 100644 --- a/runtime/common/src/extensions/check_nonce.rs +++ b/runtime/common/src/extensions/check_nonce.rs @@ -24,6 +24,7 @@ use frame_support::{ sp_runtime, }; use scale_info::TypeInfo; +#[allow(deprecated)] use sp_runtime::{ traits::{DispatchInfoOf, Dispatchable, One, SignedExtension}, transaction_validity::{ @@ -63,6 +64,7 @@ impl sp_std::fmt::Debug for CheckNonce { } } +#[allow(deprecated)] impl SignedExtension for CheckNonce where T::RuntimeCall: Dispatchable, diff --git a/runtime/common/src/fee.rs b/runtime/common/src/fee.rs index d6c66a531e..a61ae9e38e 100644 --- a/runtime/common/src/fee.rs +++ b/runtime/common/src/fee.rs @@ -78,7 +78,7 @@ mod test { assert_eq!(p, 100_000); assert!(q >= 50_000_000); - assert!(q <= 100_000_000); + assert!(q <= 101_000_000); assert_eq!(p / q, Balance::from(0u128)); } diff --git a/runtime/common/src/weights/block_weights.rs b/runtime/common/src/weights/block_weights.rs index cc08d85ff5..bbbf482972 100644 --- a/runtime/common/src/weights/block_weights.rs +++ b/runtime/common/src/weights/block_weights.rs @@ -15,11 +15,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06 (Y/M/D) -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09 (Y/M/D) +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` //! -//! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Frequency Development (No Relay)` +//! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Frequency` //! WARMUPS: `10`, REPEAT: `100` //! WEIGHT-PATH: `runtime/common/src/weights` //! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0` @@ -39,21 +39,21 @@ use sp_core::parameter_types; use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight}; parameter_types! { - /// Time to execute an empty block. + /// Weight of executing an empty block. /// Calculated by multiplying the *Average* with `1.0` and adding `0`. /// /// Stats nanoseconds: - /// Min, Max: 359_012, 470_541 - /// Average: 369_317 - /// Median: 364_297 - /// Std-Dev: 14700.58 + /// Min, Max: 353_702, 383_120 + /// Average: 361_346 + /// Median: 358_046 + /// Std-Dev: 7905.51 /// /// Percentiles nanoseconds: - /// 99th: 430_840 - /// 95th: 389_243 - /// 75th: 371_769 + /// 99th: 382_503 + /// 95th: 378_936 + /// 75th: 363_297 pub const BlockExecutionWeight: Weight = - Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(369_317), 0); + Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(361_346), 0); } #[cfg(test)] diff --git a/runtime/common/src/weights/extrinsic_weights.rs b/runtime/common/src/weights/extrinsic_weights.rs index eb11e367b0..fbc2eaf786 100644 --- a/runtime/common/src/weights/extrinsic_weights.rs +++ b/runtime/common/src/weights/extrinsic_weights.rs @@ -15,11 +15,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06 (Y/M/D) -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09 (Y/M/D) +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` //! -//! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `Frequency Development (No Relay)` +//! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `Frequency` //! WARMUPS: `10`, REPEAT: `100` //! WEIGHT-PATH: `runtime/common/src/weights` //! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0` @@ -39,21 +39,21 @@ use sp_core::parameter_types; use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight}; parameter_types! { - /// Time to execute a NO-OP extrinsic, for example `System::remark`. + /// Weight of executing a NO-OP extrinsic, for example `System::remark`. /// Calculated by multiplying the *Average* with `1.0` and adding `0`. /// /// Stats nanoseconds: - /// Min, Max: 86_157, 87_457 - /// Average: 86_795 - /// Median: 86_694 - /// Std-Dev: 329.82 + /// Min, Max: 99_386, 101_480 + /// Average: 100_107 + /// Median: 100_030 + /// Std-Dev: 444.4 /// /// Percentiles nanoseconds: - /// 99th: 87_418 - /// 95th: 87_251 - /// 75th: 87_124 + /// 99th: 101_245 + /// 95th: 100_851 + /// 75th: 100_433 pub const ExtrinsicBaseWeight: Weight = - Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(86_795), 0); + Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(100_107), 0); } #[cfg(test)] diff --git a/runtime/common/src/weights/frame_system_extensions.rs b/runtime/common/src/weights/frame_system_extensions.rs new file mode 100644 index 0000000000..182410f20f --- /dev/null +++ b/runtime/common/src/weights/frame_system_extensions.rs @@ -0,0 +1,132 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Cumulus is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Cumulus. If not, see . + +//! Autogenerated weights for `frame_system_extensions` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-rococo-dev")`, DB CACHE: 1024 + +// Executed Command: +// ./target/release/polkadot-parachain +// benchmark +// pallet +// --wasm-execution=compiled +// --pallet=frame_system_extensions +// --no-storage-info +// --no-median-slopes +// --no-min-squares +// --extrinsic=* +// --steps=2 +// --repeat=2 +// --json +// --header=./cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/ +// --chain=asset-hub-rococo-dev + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `frame_system_extensions`. +pub struct WeightInfo(PhantomData); +impl frame_system::ExtensionsWeightInfo for WeightInfo { + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + fn check_genesis() -> Weight { + // Proof Size summary in bytes: + // Measured: `54` + // Estimated: `3509` + // Minimum execution time: 3_637_000 picoseconds. + Weight::from_parts(6_382_000, 0) + .saturating_add(Weight::from_parts(0, 3509)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + fn check_mortality_mortal_transaction() -> Weight { + // Proof Size summary in bytes: + // Measured: `92` + // Estimated: `3509` + // Minimum execution time: 5_841_000 picoseconds. + Weight::from_parts(8_776_000, 0) + .saturating_add(Weight::from_parts(0, 3509)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + fn check_mortality_immortal_transaction() -> Weight { + // Proof Size summary in bytes: + // Measured: `92` + // Estimated: `3509` + // Minimum execution time: 5_841_000 picoseconds. + Weight::from_parts(8_776_000, 0) + .saturating_add(Weight::from_parts(0, 3509)) + .saturating_add(T::DbWeight::get().reads(1)) + } + fn check_non_zero_sender() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 561_000 picoseconds. + Weight::from_parts(2_705_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn check_nonce() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_316_000 picoseconds. + Weight::from_parts(5_771_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn check_spec_version() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 511_000 picoseconds. + Weight::from_parts(2_575_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn check_tx_version() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 501_000 picoseconds. + Weight::from_parts(2_595_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `System::AllExtrinsicsLen` (r:1 w:1) + /// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `System::BlockWeight` (r:1 w:1) + /// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`) + fn check_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `24` + // Estimated: `1533` + // Minimum execution time: 3_687_000 picoseconds. + Weight::from_parts(6_192_000, 0) + .saturating_add(Weight::from_parts(0, 1533)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } +} diff --git a/runtime/common/src/weights/mod.rs b/runtime/common/src/weights/mod.rs index d41b29d068..c305f149bb 100644 --- a/runtime/common/src/weights/mod.rs +++ b/runtime/common/src/weights/mod.rs @@ -19,6 +19,7 @@ pub mod block_weights; pub mod extrinsic_weights; +pub mod frame_system_extensions; pub mod pallet_balances; pub mod pallet_collator_selection; pub mod pallet_collective_council; @@ -30,6 +31,6 @@ pub mod pallet_proxy; pub mod pallet_scheduler; pub mod pallet_session; pub mod pallet_timestamp; -pub mod pallet_treasury; +pub mod pallet_transaction_payment; pub mod pallet_utility; pub mod rocksdb_weights; diff --git a/runtime/common/src/weights/pallet_balances.rs b/runtime/common/src/weights/pallet_balances.rs index 1b111a684b..af7007c86b 100644 --- a/runtime/common/src/weights/pallet_balances.rs +++ b/runtime/common/src/weights/pallet_balances.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_balances //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_balances // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -39,8 +38,8 @@ impl pallet_balances::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `0` // Estimated: `4088` - // Minimum execution time: 42_991_000 picoseconds. - Weight::from_parts(43_482_000, 4088) + // Minimum execution time: 49_603_000 picoseconds. + Weight::from_parts(51_305_000, 4088) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -50,8 +49,8 @@ impl pallet_balances::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `0` // Estimated: `4088` - // Minimum execution time: 33_594_000 picoseconds. - Weight::from_parts(34_082_000, 4088) + // Minimum execution time: 40_093_000 picoseconds. + Weight::from_parts(40_523_000, 4088) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -59,10 +58,10 @@ impl pallet_balances::WeightInfo for SubstrateWeight /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_set_balance_creating() -> Weight { // Proof Size summary in bytes: - // Measured: `207` + // Measured: `174` // Estimated: `4088` - // Minimum execution time: 12_281_000 picoseconds. - Weight::from_parts(12_638_000, 4088) + // Minimum execution time: 16_004_000 picoseconds. + Weight::from_parts(16_468_000, 4088) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -70,10 +69,10 @@ impl pallet_balances::WeightInfo for SubstrateWeight /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_set_balance_killing() -> Weight { // Proof Size summary in bytes: - // Measured: `207` + // Measured: `174` // Estimated: `4088` - // Minimum execution time: 17_253_000 picoseconds. - Weight::from_parts(17_776_000, 4088) + // Minimum execution time: 22_697_000 picoseconds. + Weight::from_parts(23_280_000, 4088) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -83,8 +82,8 @@ impl pallet_balances::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `103` // Estimated: `6691` - // Minimum execution time: 45_326_000 picoseconds. - Weight::from_parts(45_938_000, 6691) + // Minimum execution time: 52_038_000 picoseconds. + Weight::from_parts(53_635_000, 6691) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -94,8 +93,8 @@ impl pallet_balances::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `0` // Estimated: `4088` - // Minimum execution time: 42_793_000 picoseconds. - Weight::from_parts(43_532_000, 4088) + // Minimum execution time: 48_553_000 picoseconds. + Weight::from_parts(50_323_000, 4088) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -103,10 +102,10 @@ impl pallet_balances::WeightInfo for SubstrateWeight /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_unreserve() -> Weight { // Proof Size summary in bytes: - // Measured: `207` + // Measured: `174` // Estimated: `4088` - // Minimum execution time: 15_142_000 picoseconds. - Weight::from_parts(15_693_000, 4088) + // Minimum execution time: 18_715_000 picoseconds. + Weight::from_parts(19_350_000, 4088) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -115,12 +114,12 @@ impl pallet_balances::WeightInfo for SubstrateWeight /// The range of component `u` is `[1, 1000]`. fn upgrade_accounts(u: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `14 + u * (136 ±0)` + // Measured: `0 + u * (136 ±0)` // Estimated: `1485 + u * (2603 ±0)` - // Minimum execution time: 15_052_000 picoseconds. - Weight::from_parts(15_308_000, 1485) - // Standard Error: 14_844 - .saturating_add(Weight::from_parts(13_334_930, 0).saturating_mul(u.into())) + // Minimum execution time: 17_925_000 picoseconds. + Weight::from_parts(18_088_000, 1485) + // Standard Error: 15_883 + .saturating_add(Weight::from_parts(15_457_376, 0).saturating_mul(u.into())) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into()))) .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) @@ -129,22 +128,22 @@ impl pallet_balances::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_645_000 picoseconds. - Weight::from_parts(4_947_000, 0) + // Minimum execution time: 6_115_000 picoseconds. + Weight::from_parts(6_507_000, 0) } fn burn_allow_death() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 26_657_000 picoseconds. - Weight::from_parts(27_029_000, 0) + // Minimum execution time: 30_644_000 picoseconds. + Weight::from_parts(31_319_000, 0) } fn burn_keep_alive() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 17_966_000 picoseconds. - Weight::from_parts(18_414_000, 0) + // Minimum execution time: 21_454_000 picoseconds. + Weight::from_parts(21_968_000, 0) } } diff --git a/runtime/common/src/weights/pallet_collator_selection.rs b/runtime/common/src/weights/pallet_collator_selection.rs index 1d66ffb0ba..b3c676e06b 100644 --- a/runtime/common/src/weights/pallet_collator_selection.rs +++ b/runtime/common/src/weights/pallet_collator_selection.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_collator_selection //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_collator_selection // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -40,15 +39,15 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `b` is `[1, 16]`. fn set_invulnerables(b: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `334 + b * (79 ±0)` - // Estimated: `1819 + b * (2554 ±0)` - // Minimum execution time: 10_456_000 picoseconds. - Weight::from_parts(8_843_082, 1819) - // Standard Error: 9_565 - .saturating_add(Weight::from_parts(3_119_188, 0).saturating_mul(b.into())) + // Measured: `197 + b * (80 ±0)` + // Estimated: `1681 + b * (2555 ±0)` + // Minimum execution time: 13_746_000 picoseconds. + Weight::from_parts(11_459_349, 1681) + // Standard Error: 10_298 + .saturating_add(Weight::from_parts(4_357_670, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_parts(0, 2554).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 2555).saturating_mul(b.into())) } /// Storage: `Session::NextKeys` (r:1 w:0) /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -62,18 +61,16 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `c` is `[1, 49]`. fn add_invulnerable(b: u32, c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1111 + b * (32 ±0) + c * (52 ±0)` - // Estimated: `5025 + b * (29 ±0) + c * (53 ±0)` - // Minimum execution time: 40_395_000 picoseconds. - Weight::from_parts(40_648_982, 5025) - // Standard Error: 5_320 - .saturating_add(Weight::from_parts(41_887, 0).saturating_mul(b.into())) - // Standard Error: 1_577 - .saturating_add(Weight::from_parts(201_697, 0).saturating_mul(c.into())) + // Measured: `971 + b * (32 ±0) + c * (54 ±0)` + // Estimated: `4883 + b * (29 ±0) + c * (56 ±0)` + // Minimum execution time: 50_044_000 picoseconds. + Weight::from_parts(51_295_340, 4883) + // Standard Error: 1_744 + .saturating_add(Weight::from_parts(207_552, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 29).saturating_mul(b.into())) - .saturating_add(Weight::from_parts(0, 53).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(0, 56).saturating_mul(c.into())) } /// Storage: `CollatorSelection::CandidateList` (r:1 w:0) /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(2401), added: 2896, mode: `MaxEncodedLen`) @@ -84,10 +81,10 @@ impl pallet_collator_selection::WeightInfo for Substrat // Proof Size summary in bytes: // Measured: `153 + b * (32 ±0)` // Estimated: `4381` - // Minimum execution time: 9_775_000 picoseconds. - Weight::from_parts(9_969_967, 4381) - // Standard Error: 2_145 - .saturating_add(Weight::from_parts(167_825, 0).saturating_mul(b.into())) + // Minimum execution time: 12_905_000 picoseconds. + Weight::from_parts(13_292_242, 4381) + // Standard Error: 2_030 + .saturating_add(Weight::from_parts(166_491, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -97,8 +94,8 @@ impl pallet_collator_selection::WeightInfo for Substrat // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_699_000 picoseconds. - Weight::from_parts(3_984_000, 0) + // Minimum execution time: 5_150_000 picoseconds. + Weight::from_parts(5_390_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } /// Storage: `CollatorSelection::CandidacyBond` (r:1 w:1) @@ -113,14 +110,14 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `k` is `[0, 50]`. fn set_candidacy_bond(c: u32, k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + c * (190 ±0) + k * (131 ±0)` + // Measured: `0 + c * (181 ±0) + k * (124 ±0)` // Estimated: `4381 + c * (894 ±29) + k * (894 ±29)` - // Minimum execution time: 8_083_000 picoseconds. - Weight::from_parts(8_214_000, 4381) - // Standard Error: 153_848 - .saturating_add(Weight::from_parts(5_362_747, 0).saturating_mul(c.into())) - // Standard Error: 153_848 - .saturating_add(Weight::from_parts(4_981_164, 0).saturating_mul(k.into())) + // Minimum execution time: 11_511_000 picoseconds. + Weight::from_parts(11_645_000, 4381) + // Standard Error: 176_451 + .saturating_add(Weight::from_parts(6_132_057, 0).saturating_mul(c.into())) + // Standard Error: 176_451 + .saturating_add(Weight::from_parts(5_780_667, 0).saturating_mul(k.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) @@ -135,12 +132,12 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `c` is `[1, 50]`. fn update_bond(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `372 + c * (49 ±0)` + // Measured: `357 + c * (49 ±0)` // Estimated: `4381` - // Minimum execution time: 22_510_000 picoseconds. - Weight::from_parts(24_824_077, 4381) - // Standard Error: 2_258 - .saturating_add(Weight::from_parts(217_066, 0).saturating_mul(c.into())) + // Minimum execution time: 32_230_000 picoseconds. + Weight::from_parts(35_397_598, 4381) + // Standard Error: 2_764 + .saturating_add(Weight::from_parts(204_781, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -157,15 +154,15 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `c` is `[1, 49]`. fn register_as_candidate(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + c * (57 ±0)` - // Estimated: `4774 + c * (57 ±0)` - // Minimum execution time: 34_869_000 picoseconds. - Weight::from_parts(37_259_184, 4774) - // Standard Error: 3_308 - .saturating_add(Weight::from_parts(274_133, 0).saturating_mul(c.into())) + // Measured: `604 + c * (59 ±0)` + // Estimated: `4571 + c * (59 ±0)` + // Minimum execution time: 44_140_000 picoseconds. + Weight::from_parts(46_946_457, 4571) + // Standard Error: 2_903 + .saturating_add(Weight::from_parts(253_066, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) - .saturating_add(Weight::from_parts(0, 57).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(0, 59).saturating_mul(c.into())) } /// Storage: `CollatorSelection::Invulnerables` (r:1 w:0) /// Proof: `CollatorSelection::Invulnerables` (`max_values`: Some(1), `max_size`: Some(513), added: 1008, mode: `MaxEncodedLen`) @@ -182,15 +179,15 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `c` is `[1, 50]`. fn take_candidate_slot(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `901 + c * (58 ±0)` - // Estimated: `4866 + c * (59 ±0)` - // Minimum execution time: 48_639_000 picoseconds. - Weight::from_parts(51_741_853, 4866) - // Standard Error: 3_330 - .saturating_add(Weight::from_parts(312_471, 0).saturating_mul(c.into())) + // Measured: `699 + c * (60 ±0)` + // Estimated: `4668 + c * (60 ±0)` + // Minimum execution time: 60_971_000 picoseconds. + Weight::from_parts(63_807_148, 4668) + // Standard Error: 5_266 + .saturating_add(Weight::from_parts(319_152, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 59).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(0, 60).saturating_mul(c.into())) } /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(2401), added: 2896, mode: `MaxEncodedLen`) @@ -201,12 +198,12 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `c` is `[1, 50]`. fn leave_intent(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `501 + c * (48 ±0)` + // Measured: `372 + c * (48 ±0)` // Estimated: `4381` - // Minimum execution time: 25_417_000 picoseconds. - Weight::from_parts(27_581_316, 4381) - // Standard Error: 2_499 - .saturating_add(Weight::from_parts(244_162, 0).saturating_mul(c.into())) + // Minimum execution time: 35_328_000 picoseconds. + Weight::from_parts(37_329_650, 4381) + // Standard Error: 2_787 + .saturating_add(Weight::from_parts(245_435, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -216,10 +213,10 @@ impl pallet_collator_selection::WeightInfo for Substrat /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) fn note_author() -> Weight { // Proof Size summary in bytes: - // Measured: `212` + // Measured: `230` // Estimated: `6691` - // Minimum execution time: 38_313_000 picoseconds. - Weight::from_parts(38_999_000, 6691) + // Minimum execution time: 47_382_000 picoseconds. + Weight::from_parts(48_259_000, 6691) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -237,12 +234,12 @@ impl pallet_collator_selection::WeightInfo for Substrat /// The range of component `c` is `[1, 50]`. fn new_session(r: u32, c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1172 + c * (98 ±0) + r * (130 ±0)` + // Measured: `1143 + c * (98 ±0) + r * (118 ±0)` // Estimated: `4381 + c * (2519 ±0) + r * (2603 ±0)` - // Minimum execution time: 17_178_000 picoseconds. - Weight::from_parts(17_571_000, 4381) - // Standard Error: 273_803 - .saturating_add(Weight::from_parts(12_245_687, 0).saturating_mul(c.into())) + // Minimum execution time: 25_053_000 picoseconds. + Weight::from_parts(25_533_000, 4381) + // Standard Error: 309_467 + .saturating_add(Weight::from_parts(14_442_074, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) @@ -282,7 +279,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 1819 + > 1681 ); } #[test] @@ -294,7 +291,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 5025 + > 4883 ); } #[test] @@ -342,7 +339,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 4774 + > 4571 ); } #[test] @@ -354,7 +351,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 4866 + > 4668 ); } #[test] diff --git a/runtime/common/src/weights/pallet_collective_council.rs b/runtime/common/src/weights/pallet_collective_council.rs index 328ffb8073..ecb61a266c 100644 --- a/runtime/common/src/weights/pallet_collective_council.rs +++ b/runtime/common/src/weights/pallet_collective_council.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_collective //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_collective // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -51,12 +50,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `0 + m * (832 ±0) + p * (310 ±0)` // Estimated: `4789 + m * (489 ±3) + p * (2615 ±1)` - // Minimum execution time: 6_929_000 picoseconds. - Weight::from_parts(7_208_000, 4789) - // Standard Error: 61_668 - .saturating_add(Weight::from_parts(2_921_736, 0).saturating_mul(m.into())) - // Standard Error: 25_060 - .saturating_add(Weight::from_parts(3_329_801, 0).saturating_mul(p.into())) + // Minimum execution time: 9_369_000 picoseconds. + Weight::from_parts(9_765_000, 4789) + // Standard Error: 82_554 + .saturating_add(Weight::from_parts(3_603_495, 0).saturating_mul(m.into())) + // Standard Error: 33_547 + .saturating_add(Weight::from_parts(4_400_960, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes(2_u64)) @@ -74,12 +73,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `70 + m * (32 ±0)` // Estimated: `2049 + m * (32 ±0)` - // Minimum execution time: 10_800_000 picoseconds. - Weight::from_parts(10_973_742, 2049) - // Standard Error: 12 - .saturating_add(Weight::from_parts(1_466, 0).saturating_mul(b.into())) - // Standard Error: 1_303 - .saturating_add(Weight::from_parts(16_022, 0).saturating_mul(m.into())) + // Minimum execution time: 13_682_000 picoseconds. + Weight::from_parts(13_979_475, 2049) + // Standard Error: 14 + .saturating_add(Weight::from_parts(1_352, 0).saturating_mul(b.into())) + // Standard Error: 1_585 + .saturating_add(Weight::from_parts(19_946, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -95,12 +94,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `70 + m * (32 ±0)` // Estimated: `4029 + m * (32 ±0)` - // Minimum execution time: 12_961_000 picoseconds. - Weight::from_parts(13_196_866, 4029) - // Standard Error: 14 - .saturating_add(Weight::from_parts(1_444, 0).saturating_mul(b.into())) - // Standard Error: 1_542 - .saturating_add(Weight::from_parts(28_898, 0).saturating_mul(m.into())) + // Minimum execution time: 16_263_000 picoseconds. + Weight::from_parts(16_570_523, 4029) + // Standard Error: 17 + .saturating_add(Weight::from_parts(1_472, 0).saturating_mul(b.into())) + // Standard Error: 1_892 + .saturating_add(Weight::from_parts(33_311, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -124,14 +123,14 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `113 + m * (32 ±0) + p * (51 ±0)` // Estimated: `4025 + m * (42 ±0) + p * (49 ±0)` - // Minimum execution time: 17_819_000 picoseconds. - Weight::from_parts(16_727_670, 4025) - // Standard Error: 44 - .saturating_add(Weight::from_parts(2_323, 0).saturating_mul(b.into())) - // Standard Error: 5_249 - .saturating_add(Weight::from_parts(137_177, 0).saturating_mul(m.into())) - // Standard Error: 1_832 - .saturating_add(Weight::from_parts(260_698, 0).saturating_mul(p.into())) + // Minimum execution time: 21_591_000 picoseconds. + Weight::from_parts(23_603_495, 4025) + // Standard Error: 90 + .saturating_add(Weight::from_parts(2_322, 0).saturating_mul(b.into())) + // Standard Error: 10_740 + .saturating_add(Weight::from_parts(233_793, 0).saturating_mul(m.into())) + // Standard Error: 3_748 + .saturating_add(Weight::from_parts(348_358, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 42).saturating_mul(m.into())) @@ -147,10 +146,10 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `571 + m * (64 ±0)` // Estimated: `4531 + m * (64 ±0)` - // Minimum execution time: 15_619_000 picoseconds. - Weight::from_parts(16_379_869, 4531) - // Standard Error: 4_308 - .saturating_add(Weight::from_parts(61_610, 0).saturating_mul(m.into())) + // Minimum execution time: 24_309_000 picoseconds. + Weight::from_parts(25_227_096, 4531) + // Standard Error: 5_482 + .saturating_add(Weight::from_parts(91_434, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) @@ -171,12 +170,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `41 + m * (64 ±0) + p * (54 ±0)` // Estimated: `4019 + m * (80 ±0) + p * (50 ±0)` - // Minimum execution time: 18_340_000 picoseconds. - Weight::from_parts(18_336_184, 4019) - // Standard Error: 5_543 - .saturating_add(Weight::from_parts(156_852, 0).saturating_mul(m.into())) - // Standard Error: 1_478 - .saturating_add(Weight::from_parts(234_446, 0).saturating_mul(p.into())) + // Minimum execution time: 27_343_000 picoseconds. + Weight::from_parts(27_420_652, 4019) + // Standard Error: 7_204 + .saturating_add(Weight::from_parts(171_361, 0).saturating_mul(m.into())) + // Standard Error: 1_921 + .saturating_add(Weight::from_parts(264_914, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(m.into())) @@ -200,14 +199,14 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `72 + b * (1 ±0) + m * (64 ±0) + p * (72 ±0)` // Estimated: `4025 + b * (1 ±0) + m * (85 ±0) + p * (65 ±0)` - // Minimum execution time: 27_201_000 picoseconds. - Weight::from_parts(27_984_558, 4025) - // Standard Error: 61 - .saturating_add(Weight::from_parts(1_959, 0).saturating_mul(b.into())) - // Standard Error: 9_519 - .saturating_add(Weight::from_parts(104_636, 0).saturating_mul(m.into())) - // Standard Error: 2_546 - .saturating_add(Weight::from_parts(391_513, 0).saturating_mul(p.into())) + // Minimum execution time: 36_997_000 picoseconds. + Weight::from_parts(35_984_349, 4025) + // Standard Error: 66 + .saturating_add(Weight::from_parts(1_889, 0).saturating_mul(b.into())) + // Standard Error: 10_252 + .saturating_add(Weight::from_parts(150_158, 0).saturating_mul(m.into())) + // Standard Error: 2_742 + .saturating_add(Weight::from_parts(440_453, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -232,12 +231,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `61 + m * (64 ±0) + p * (54 ±0)` // Estimated: `4039 + m * (80 ±0) + p * (50 ±0)` - // Minimum execution time: 20_032_000 picoseconds. - Weight::from_parts(19_861_042, 4039) - // Standard Error: 5_891 - .saturating_add(Weight::from_parts(184_469, 0).saturating_mul(m.into())) - // Standard Error: 1_571 - .saturating_add(Weight::from_parts(246_862, 0).saturating_mul(p.into())) + // Minimum execution time: 29_536_000 picoseconds. + Weight::from_parts(29_752_540, 4039) + // Standard Error: 7_359 + .saturating_add(Weight::from_parts(195_049, 0).saturating_mul(m.into())) + // Standard Error: 1_963 + .saturating_add(Weight::from_parts(265_272, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(m.into())) @@ -263,14 +262,14 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `92 + b * (1 ±0) + m * (64 ±0) + p * (72 ±0)` // Estimated: `4045 + b * (1 ±0) + m * (85 ±0) + p * (65 ±0)` - // Minimum execution time: 29_363_000 picoseconds. - Weight::from_parts(30_577_596, 4045) - // Standard Error: 61 - .saturating_add(Weight::from_parts(1_875, 0).saturating_mul(b.into())) - // Standard Error: 9_419 - .saturating_add(Weight::from_parts(59_729, 0).saturating_mul(m.into())) - // Standard Error: 2_520 - .saturating_add(Weight::from_parts(402_777, 0).saturating_mul(p.into())) + // Minimum execution time: 39_500_000 picoseconds. + Weight::from_parts(38_937_908, 4045) + // Standard Error: 68 + .saturating_add(Weight::from_parts(1_966, 0).saturating_mul(b.into())) + // Standard Error: 10_562 + .saturating_add(Weight::from_parts(85_656, 0).saturating_mul(m.into())) + // Standard Error: 2_825 + .saturating_add(Weight::from_parts(466_754, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -289,14 +288,53 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `226 + p * (32 ±0)` // Estimated: `2206 + p * (32 ±0)` - // Minimum execution time: 11_201_000 picoseconds. - Weight::from_parts(11_982_752, 2206) - // Standard Error: 979 - .saturating_add(Weight::from_parts(210_058, 0).saturating_mul(p.into())) + // Minimum execution time: 14_155_000 picoseconds. + Weight::from_parts(14_961_001, 2206) + // Standard Error: 946 + .saturating_add(Weight::from_parts(223_602, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into())) } + /// Storage: `Council::ProposalOf` (r:1 w:1) + /// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Council::CostOf` (r:1 w:0) + /// Proof: `Council::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Council::Proposals` (r:1 w:1) + /// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Council::Voting` (r:0 w:1) + /// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `d` is `[0, 1]`. + /// The range of component `p` is `[1, 25]`. + /// The range of component `d` is `[0, 1]`. + /// The range of component `p` is `[1, 25]`. + fn kill(d: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1185 + p * (52 ±0)` + // Estimated: `5190 + d * (88 ±2) + p * (51 ±0)` + // Minimum execution time: 24_349_000 picoseconds. + Weight::from_parts(25_652_352, 5190) + // Standard Error: 29_957 + .saturating_add(Weight::from_parts(298_520, 0).saturating_mul(d.into())) + // Standard Error: 1_860 + .saturating_add(Weight::from_parts(323_259, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 88).saturating_mul(d.into())) + .saturating_add(Weight::from_parts(0, 51).saturating_mul(p.into())) + } + /// Storage: `Council::ProposalOf` (r:1 w:0) + /// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Council::CostOf` (r:1 w:0) + /// Proof: `Council::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn release_proposal_cost() -> Weight { + // Proof Size summary in bytes: + // Measured: `675` + // Estimated: `4635` + // Minimum execution time: 13_523_000 picoseconds. + Weight::from_parts(13_949_000, 4635) + .saturating_add(T::DbWeight::get().reads(2_u64)) + } } @@ -441,4 +479,28 @@ mod tests { > 2206 ); } + #[test] + fn test_kill() { + assert!( + BlockWeights::get() + .per_class + .get(frame_support::dispatch::DispatchClass::Normal) + .max_extrinsic + .unwrap_or_else(::max_value) + .proof_size() + > 5190 + ); + } + #[test] + fn test_release_proposal_cost() { + assert!( + BlockWeights::get() + .per_class + .get(frame_support::dispatch::DispatchClass::Normal) + .max_extrinsic + .unwrap_or_else(::max_value) + .proof_size() + > 4635 + ); + } } diff --git a/runtime/common/src/weights/pallet_collective_technical_committee.rs b/runtime/common/src/weights/pallet_collective_technical_committee.rs index 1d5ddd1b8b..d3f21b7708 100644 --- a/runtime/common/src/weights/pallet_collective_technical_committee.rs +++ b/runtime/common/src/weights/pallet_collective_technical_committee.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_collective //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_collective // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -51,12 +50,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `0 + m * (832 ±0) + p * (310 ±0)` // Estimated: `4856 + m * (489 ±3) + p * (2615 ±1)` - // Minimum execution time: 7_045_000 picoseconds. - Weight::from_parts(7_364_000, 4856) - // Standard Error: 62_252 - .saturating_add(Weight::from_parts(2_951_476, 0).saturating_mul(m.into())) - // Standard Error: 25_297 - .saturating_add(Weight::from_parts(3_351_287, 0).saturating_mul(p.into())) + // Minimum execution time: 9_347_000 picoseconds. + Weight::from_parts(9_767_000, 4856) + // Standard Error: 82_300 + .saturating_add(Weight::from_parts(3_612_028, 0).saturating_mul(m.into())) + // Standard Error: 33_444 + .saturating_add(Weight::from_parts(4_388_411, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes(2_u64)) @@ -74,12 +73,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `137 + m * (32 ±0)` // Estimated: `2116 + m * (32 ±0)` - // Minimum execution time: 10_570_000 picoseconds. - Weight::from_parts(10_786_874, 2116) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_516, 0).saturating_mul(b.into())) - // Standard Error: 1_022 - .saturating_add(Weight::from_parts(31_272, 0).saturating_mul(m.into())) + // Minimum execution time: 13_841_000 picoseconds. + Weight::from_parts(14_110_353, 2116) + // Standard Error: 11 + .saturating_add(Weight::from_parts(1_323, 0).saturating_mul(b.into())) + // Standard Error: 1_239 + .saturating_add(Weight::from_parts(19_955, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -95,12 +94,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `137 + m * (32 ±0)` // Estimated: `4096 + m * (32 ±0)` - // Minimum execution time: 12_931_000 picoseconds. - Weight::from_parts(13_084_562, 4096) - // Standard Error: 11 - .saturating_add(Weight::from_parts(1_472, 0).saturating_mul(b.into())) - // Standard Error: 1_241 - .saturating_add(Weight::from_parts(30_682, 0).saturating_mul(m.into())) + // Minimum execution time: 16_306_000 picoseconds. + Weight::from_parts(16_662_282, 4096) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_418, 0).saturating_mul(b.into())) + // Standard Error: 1_435 + .saturating_add(Weight::from_parts(29_249, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into())) } @@ -124,14 +123,14 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `180 + m * (32 ±0) + p * (51 ±0)` // Estimated: `4092 + m * (42 ±0) + p * (49 ±0)` - // Minimum execution time: 17_654_000 picoseconds. - Weight::from_parts(16_736_033, 4092) - // Standard Error: 42 - .saturating_add(Weight::from_parts(2_335, 0).saturating_mul(b.into())) - // Standard Error: 5_050 - .saturating_add(Weight::from_parts(141_142, 0).saturating_mul(m.into())) - // Standard Error: 1_762 - .saturating_add(Weight::from_parts(260_274, 0).saturating_mul(p.into())) + // Minimum execution time: 21_555_000 picoseconds. + Weight::from_parts(23_863_550, 4092) + // Standard Error: 92 + .saturating_add(Weight::from_parts(2_319, 0).saturating_mul(b.into())) + // Standard Error: 10_979 + .saturating_add(Weight::from_parts(222_551, 0).saturating_mul(m.into())) + // Standard Error: 3_831 + .saturating_add(Weight::from_parts(350_076, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 42).saturating_mul(m.into())) @@ -147,10 +146,10 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `638 + m * (64 ±0)` // Estimated: `4598 + m * (64 ±0)` - // Minimum execution time: 15_885_000 picoseconds. - Weight::from_parts(16_592_734, 4598) - // Standard Error: 3_761 - .saturating_add(Weight::from_parts(56_222, 0).saturating_mul(m.into())) + // Minimum execution time: 24_669_000 picoseconds. + Weight::from_parts(25_467_818, 4598) + // Standard Error: 5_033 + .saturating_add(Weight::from_parts(93_275, 0).saturating_mul(m.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into())) @@ -171,12 +170,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `108 + m * (64 ±0) + p * (54 ±0)` // Estimated: `4086 + m * (80 ±0) + p * (50 ±0)` - // Minimum execution time: 18_706_000 picoseconds. - Weight::from_parts(18_788_075, 4086) - // Standard Error: 5_248 - .saturating_add(Weight::from_parts(134_071, 0).saturating_mul(m.into())) - // Standard Error: 1_400 - .saturating_add(Weight::from_parts(225_765, 0).saturating_mul(p.into())) + // Minimum execution time: 27_465_000 picoseconds. + Weight::from_parts(27_501_919, 4086) + // Standard Error: 6_786 + .saturating_add(Weight::from_parts(177_766, 0).saturating_mul(m.into())) + // Standard Error: 1_810 + .saturating_add(Weight::from_parts(264_648, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(m.into())) @@ -200,14 +199,14 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `139 + b * (1 ±0) + m * (64 ±0) + p * (72 ±0)` // Estimated: `4092 + b * (1 ±0) + m * (85 ±0) + p * (65 ±0)` - // Minimum execution time: 27_719_000 picoseconds. - Weight::from_parts(28_019_302, 4092) - // Standard Error: 58 - .saturating_add(Weight::from_parts(1_918, 0).saturating_mul(b.into())) - // Standard Error: 9_052 - .saturating_add(Weight::from_parts(123_592, 0).saturating_mul(m.into())) - // Standard Error: 2_422 - .saturating_add(Weight::from_parts(384_559, 0).saturating_mul(p.into())) + // Minimum execution time: 37_339_000 picoseconds. + Weight::from_parts(36_325_310, 4092) + // Standard Error: 64 + .saturating_add(Weight::from_parts(1_914, 0).saturating_mul(b.into())) + // Standard Error: 10_023 + .saturating_add(Weight::from_parts(140_818, 0).saturating_mul(m.into())) + // Standard Error: 2_681 + .saturating_add(Weight::from_parts(432_825, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -232,12 +231,12 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `128 + m * (64 ±0) + p * (54 ±0)` // Estimated: `4106 + m * (80 ±0) + p * (50 ±0)` - // Minimum execution time: 20_589_000 picoseconds. - Weight::from_parts(20_395_979, 4106) - // Standard Error: 5_528 - .saturating_add(Weight::from_parts(162_158, 0).saturating_mul(m.into())) - // Standard Error: 1_474 - .saturating_add(Weight::from_parts(233_932, 0).saturating_mul(p.into())) + // Minimum execution time: 29_653_000 picoseconds. + Weight::from_parts(29_904_437, 4106) + // Standard Error: 6_923 + .saturating_add(Weight::from_parts(184_062, 0).saturating_mul(m.into())) + // Standard Error: 1_846 + .saturating_add(Weight::from_parts(263_157, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 80).saturating_mul(m.into())) @@ -263,14 +262,14 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `159 + b * (1 ±0) + m * (64 ±0) + p * (72 ±0)` // Estimated: `4112 + b * (1 ±0) + m * (85 ±0) + p * (65 ±0)` - // Minimum execution time: 29_170_000 picoseconds. - Weight::from_parts(30_432_075, 4112) - // Standard Error: 58 - .saturating_add(Weight::from_parts(1_864, 0).saturating_mul(b.into())) - // Standard Error: 9_028 - .saturating_add(Weight::from_parts(93_178, 0).saturating_mul(m.into())) - // Standard Error: 2_415 - .saturating_add(Weight::from_parts(396_341, 0).saturating_mul(p.into())) + // Minimum execution time: 39_878_000 picoseconds. + Weight::from_parts(39_043_474, 4112) + // Standard Error: 65 + .saturating_add(Weight::from_parts(2_136, 0).saturating_mul(b.into())) + // Standard Error: 10_126 + .saturating_add(Weight::from_parts(80_709, 0).saturating_mul(m.into())) + // Standard Error: 2_709 + .saturating_add(Weight::from_parts(459_218, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) @@ -289,14 +288,53 @@ impl pallet_collective::WeightInfo for SubstrateWeight< // Proof Size summary in bytes: // Measured: `293 + p * (32 ±0)` // Estimated: `2273 + p * (32 ±0)` - // Minimum execution time: 11_474_000 picoseconds. - Weight::from_parts(11_944_521, 2273) - // Standard Error: 798 - .saturating_add(Weight::from_parts(200_018, 0).saturating_mul(p.into())) + // Minimum execution time: 14_356_000 picoseconds. + Weight::from_parts(15_068_361, 2273) + // Standard Error: 992 + .saturating_add(Weight::from_parts(226_226, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into())) } + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::CostOf` (r:1 w:0) + /// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Proposals` (r:1 w:1) + /// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::Voting` (r:0 w:1) + /// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `d` is `[0, 1]`. + /// The range of component `p` is `[1, 25]`. + /// The range of component `d` is `[0, 1]`. + /// The range of component `p` is `[1, 25]`. + fn kill(d: u32, p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1252 + p * (52 ±0)` + // Estimated: `5257 + d * (88 ±2) + p * (51 ±0)` + // Minimum execution time: 24_422_000 picoseconds. + Weight::from_parts(25_700_751, 5257) + // Standard Error: 30_664 + .saturating_add(Weight::from_parts(278_761, 0).saturating_mul(d.into())) + // Standard Error: 1_903 + .saturating_add(Weight::from_parts(326_422, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 88).saturating_mul(d.into())) + .saturating_add(Weight::from_parts(0, 51).saturating_mul(p.into())) + } + /// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:0) + /// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `TechnicalCommittee::CostOf` (r:1 w:0) + /// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn release_proposal_cost() -> Weight { + // Proof Size summary in bytes: + // Measured: `742` + // Estimated: `4702` + // Minimum execution time: 13_711_000 picoseconds. + Weight::from_parts(14_202_000, 4702) + .saturating_add(T::DbWeight::get().reads(2_u64)) + } } @@ -441,4 +479,28 @@ mod tests { > 2273 ); } + #[test] + fn test_kill() { + assert!( + BlockWeights::get() + .per_class + .get(frame_support::dispatch::DispatchClass::Normal) + .max_extrinsic + .unwrap_or_else(::max_value) + .proof_size() + > 5257 + ); + } + #[test] + fn test_release_proposal_cost() { + assert!( + BlockWeights::get() + .per_class + .get(frame_support::dispatch::DispatchClass::Normal) + .max_extrinsic + .unwrap_or_else(::max_value) + .proof_size() + > 4702 + ); + } } diff --git a/runtime/common/src/weights/pallet_democracy.rs b/runtime/common/src/weights/pallet_democracy.rs index de7e79ccc4..0cf12af1b8 100644 --- a/runtime/common/src/weights/pallet_democracy.rs +++ b/runtime/common/src/weights/pallet_democracy.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_democracy //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_democracy // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -43,10 +42,10 @@ impl pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `4772` + // Measured: `4734` // Estimated: `18682` - // Minimum execution time: 40_978_000 picoseconds. - Weight::from_parts(41_832_000, 18682) + // Minimum execution time: 51_601_000 picoseconds. + Weight::from_parts(53_383_000, 18682) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -54,10 +53,10 @@ impl pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `3523` + // Measured: `3489` // Estimated: `7190` - // Minimum execution time: 35_954_000 picoseconds. - Weight::from_parts(37_267_000, 7190) + // Minimum execution time: 45_008_000 picoseconds. + Weight::from_parts(47_117_000, 7190) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -71,10 +70,10 @@ impl pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `3404` + // Measured: `3365` // Estimated: `7755` - // Minimum execution time: 55_124_000 picoseconds. - Weight::from_parts(57_067_000, 7755) + // Minimum execution time: 66_222_000 picoseconds. + Weight::from_parts(67_634_000, 7755) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -88,10 +87,10 @@ impl pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `3426` + // Measured: `3387` // Estimated: `7755` - // Minimum execution time: 57_833_000 picoseconds. - Weight::from_parts(59_812_000, 7755) + // Minimum execution time: 67_742_000 picoseconds. + Weight::from_parts(69_891_000, 7755) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -105,8 +104,8 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `5942` + // Measured: `5843` // Estimated: `18682` - // Minimum execution time: 87_863_000 picoseconds. - Weight::from_parts(89_657_000, 18682) + // Minimum execution time: 102_489_000 picoseconds. + Weight::from_parts(104_073_000, 18682) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -141,8 +140,8 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `5853` + // Measured: `5754` // Estimated: `18682` - // Minimum execution time: 69_833_000 picoseconds. - Weight::from_parts(72_244_000, 18682) + // Minimum execution time: 83_844_000 picoseconds. + Weight::from_parts(85_605_000, 18682) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -223,8 +222,8 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `768 + r * (108 ±0)` + // Measured: `729 + r * (108 ±0)` // Estimated: `20295 + r * (2676 ±0)` - // Minimum execution time: 38_819_000 picoseconds. - Weight::from_parts(40_889_333, 20295) - // Standard Error: 8_018 - .saturating_add(Weight::from_parts(4_128_506, 0).saturating_mul(r.into())) + // Minimum execution time: 48_214_000 picoseconds. + Weight::from_parts(50_804_594, 20295) + // Standard Error: 13_401 + .saturating_add(Weight::from_parts(5_133_015, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4_u64)) @@ -306,10 +305,10 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `496` + // Measured: `458` // Estimated: `7755` - // Minimum execution time: 21_451_000 picoseconds. - Weight::from_parts(32_136_746, 7755) - // Standard Error: 2_710 - .saturating_add(Weight::from_parts(120_780, 0).saturating_mul(r.into())) + // Minimum execution time: 25_354_000 picoseconds. + Weight::from_parts(40_978_590, 7755) + // Standard Error: 3_835 + .saturating_add(Weight::from_parts(138_102, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -357,12 +356,12 @@ impl pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `497 + r * (22 ±0)` + // Measured: `459 + r * (22 ±0)` // Estimated: `7755` - // Minimum execution time: 30_028_000 picoseconds. - Weight::from_parts(33_789_348, 7755) - // Standard Error: 1_755 - .saturating_add(Weight::from_parts(139_444, 0).saturating_mul(r.into())) + // Minimum execution time: 37_917_000 picoseconds. + Weight::from_parts(42_600_899, 7755) + // Standard Error: 1_988 + .saturating_add(Weight::from_parts(153_298, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -375,10 +374,10 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `289` + // Measured: `251` // Estimated: `4051` - // Minimum execution time: 15_425_000 picoseconds. - Weight::from_parts(15_854_000, 4051) + // Minimum execution time: 19_550_000 picoseconds. + Weight::from_parts(20_060_000, 4051) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -423,8 +422,8 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `4821` + // Measured: `4783` // Estimated: `18682` - // Minimum execution time: 42_888_000 picoseconds. - Weight::from_parts(44_690_000, 18682) + // Minimum execution time: 50_571_000 picoseconds. + Weight::from_parts(53_069_000, 18682) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -453,8 +452,8 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_democracy::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `144` + // Measured: `106` // Estimated: `4051` - // Minimum execution time: 12_200_000 picoseconds. - Weight::from_parts(12_558_000, 4051) + // Minimum execution time: 14_796_000 picoseconds. + Weight::from_parts(15_261_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -481,8 +480,8 @@ impl pallet_democracy::WeightInfo for SubstrateWeight pallet_multisig::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_280_000 picoseconds. - Weight::from_parts(13_199_793, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(496, 0).saturating_mul(z.into())) + // Minimum execution time: 16_067_000 picoseconds. + Weight::from_parts(16_850_264, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(416, 0).saturating_mul(z.into())) } /// Storage: `Multisig::Multisigs` (r:1 w:1) /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) @@ -49,14 +48,14 @@ impl pallet_multisig::WeightInfo for SubstrateWeight /// The range of component `z` is `[0, 10000]`. fn as_multi_create(s: u32, z: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `192 + s * (2 ±0)` + // Measured: `193 + s * (2 ±0)` // Estimated: `7306` - // Minimum execution time: 37_932_000 picoseconds. - Weight::from_parts(27_264_879, 7306) - // Standard Error: 636 - .saturating_add(Weight::from_parts(117_154, 0).saturating_mul(s.into())) + // Minimum execution time: 46_744_000 picoseconds. + Weight::from_parts(33_193_806, 7306) + // Standard Error: 619 + .saturating_add(Weight::from_parts(148_804, 0).saturating_mul(s.into())) // Standard Error: 6 - .saturating_add(Weight::from_parts(1_431, 0).saturating_mul(z.into())) + .saturating_add(Weight::from_parts(2_009, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -68,12 +67,12 @@ impl pallet_multisig::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `211` // Estimated: `7306` - // Minimum execution time: 24_414_000 picoseconds. - Weight::from_parts(14_744_002, 7306) - // Standard Error: 393 - .saturating_add(Weight::from_parts(104_535, 0).saturating_mul(s.into())) - // Standard Error: 3 - .saturating_add(Weight::from_parts(1_418, 0).saturating_mul(z.into())) + // Minimum execution time: 31_122_000 picoseconds. + Weight::from_parts(18_051_212, 7306) + // Standard Error: 416 + .saturating_add(Weight::from_parts(138_308, 0).saturating_mul(s.into())) + // Standard Error: 4 + .saturating_add(Weight::from_parts(2_026, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -85,28 +84,29 @@ impl pallet_multisig::WeightInfo for SubstrateWeight /// The range of component `z` is `[0, 10000]`. fn as_multi_complete(s: u32, z: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `314 + s * (33 ±0)` + // Measured: `317 + s * (33 ±0)` // Estimated: `7306` - // Minimum execution time: 42_139_000 picoseconds. - Weight::from_parts(29_136_990, 7306) - // Standard Error: 785 - .saturating_add(Weight::from_parts(156_774, 0).saturating_mul(s.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_500, 0).saturating_mul(z.into())) + // Minimum execution time: 55_086_000 picoseconds. + Weight::from_parts(34_731_257, 7306) + // Standard Error: 1_410 + .saturating_add(Weight::from_parts(240_956, 0).saturating_mul(s.into())) + // Standard Error: 13 + .saturating_add(Weight::from_parts(2_247, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } /// Storage: `Multisig::Multisigs` (r:1 w:1) /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) /// The range of component `s` is `[2, 100]`. - fn approve_as_multi_create(s: u32, ) -> Weight { + fn approve_as_multi_create(s: u32,) -> Weight { // Proof Size summary in bytes: // Measured: `193 + s * (2 ±0)` // Estimated: `7306` - // Minimum execution time: 25_218_000 picoseconds. - Weight::from_parts(26_231_892, 7306) - // Standard Error: 663 - .saturating_add(Weight::from_parts(114_540, 0).saturating_mul(s.into())) + // Minimum execution time: 30_805_000 picoseconds. + Weight::from_parts(35_482_616, 7306) + // Standard Error: 564 + .saturating_add(Weight::from_parts(150_448, 0).saturating_mul(s.into())) + // Standard Error: 5 .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -117,10 +117,11 @@ impl pallet_multisig::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `211` // Estimated: `7306` - // Minimum execution time: 12_978_000 picoseconds. - Weight::from_parts(13_619_776, 7306) - // Standard Error: 431 - .saturating_add(Weight::from_parts(107_827, 0).saturating_mul(s.into())) + // Minimum execution time: 18_844_000 picoseconds. + Weight::from_parts(18_843_709, 7306) + // Standard Error: 407 + .saturating_add(Weight::from_parts(135_455, 0).saturating_mul(s.into())) + // Standard Error: 3 .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -131,10 +132,11 @@ impl pallet_multisig::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `383 + s * (1 ±0)` // Estimated: `7306` - // Minimum execution time: 25_362_000 picoseconds. - Weight::from_parts(26_646_689, 7306) - // Standard Error: 646 - .saturating_add(Weight::from_parts(114_355, 0).saturating_mul(s.into())) + // Minimum execution time: 35_907_000 picoseconds. + Weight::from_parts(35_737_038, 7306) + // Standard Error: 1_140 + .saturating_add(Weight::from_parts(184_114, 0).saturating_mul(s.into())) + // Standard Error: 11 .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } diff --git a/runtime/common/src/weights/pallet_preimage.rs b/runtime/common/src/weights/pallet_preimage.rs index f4865c0386..89c8e3e852 100644 --- a/runtime/common/src/weights/pallet_preimage.rs +++ b/runtime/common/src/weights/pallet_preimage.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_preimage //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_preimage // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -38,18 +37,18 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Storage: `Preimage::RequestStatusFor` (r:1 w:1) /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// Storage: `Preimage::PreimageFor` (r:0 w:1) /// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`) /// The range of component `s` is `[0, 4194304]`. fn note_preimage(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `4` // Estimated: `4051` - // Minimum execution time: 43_899_000 picoseconds. - Weight::from_parts(44_435_000, 4051) - // Standard Error: 6 - .saturating_add(Weight::from_parts(2_490, 0).saturating_mul(s.into())) + // Minimum execution time: 47_878_000 picoseconds. + Weight::from_parts(48_138_000, 4051) + // Standard Error: 131 + .saturating_add(Weight::from_parts(14_277, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -62,12 +61,12 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// The range of component `s` is `[0, 4194304]`. fn note_requested_preimage(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `106` + // Measured: `68` // Estimated: `4051` - // Minimum execution time: 13_998_000 picoseconds. - Weight::from_parts(14_383_000, 4051) - // Standard Error: 6 - .saturating_add(Weight::from_parts(2_482, 0).saturating_mul(s.into())) + // Minimum execution time: 16_075_000 picoseconds. + Weight::from_parts(16_562_000, 4051) + // Standard Error: 125 + .saturating_add(Weight::from_parts(14_164, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -80,12 +79,12 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// The range of component `s` is `[0, 4194304]`. fn note_no_deposit_preimage(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `106` + // Measured: `68` // Estimated: `4051` - // Minimum execution time: 13_597_000 picoseconds. - Weight::from_parts(13_724_000, 4051) - // Standard Error: 6 - .saturating_add(Weight::from_parts(2_485, 0).saturating_mul(s.into())) + // Minimum execution time: 15_968_000 picoseconds. + Weight::from_parts(16_146_000, 4051) + // Standard Error: 129 + .saturating_add(Weight::from_parts(14_228, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -94,15 +93,15 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Storage: `Preimage::RequestStatusFor` (r:1 w:1) /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// Storage: `Preimage::PreimageFor` (r:0 w:1) /// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`) fn unnote_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `243` + // Measured: `205` // Estimated: `4051` - // Minimum execution time: 69_111_000 picoseconds. - Weight::from_parts(72_011_000, 4051) + // Minimum execution time: 67_460_000 picoseconds. + Weight::from_parts(71_665_000, 4051) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -114,10 +113,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`) fn unnote_no_deposit_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `144` + // Measured: `106` // Estimated: `4051` - // Minimum execution time: 36_401_000 picoseconds. - Weight::from_parts(39_955_000, 4051) + // Minimum execution time: 33_365_000 picoseconds. + Weight::from_parts(35_305_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -127,10 +126,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn request_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `188` + // Measured: `150` // Estimated: `4051` - // Minimum execution time: 31_636_000 picoseconds. - Weight::from_parts(34_147_000, 4051) + // Minimum execution time: 30_469_000 picoseconds. + Weight::from_parts(32_666_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -140,10 +139,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn request_no_deposit_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `144` + // Measured: `106` // Estimated: `4051` - // Minimum execution time: 23_161_000 picoseconds. - Weight::from_parts(24_376_000, 4051) + // Minimum execution time: 21_451_000 picoseconds. + Weight::from_parts(23_337_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -153,10 +152,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn request_unnoted_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `4` // Estimated: `4051` - // Minimum execution time: 24_706_000 picoseconds. - Weight::from_parts(26_251_000, 4051) + // Minimum execution time: 22_880_000 picoseconds. + Weight::from_parts(24_426_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -166,10 +165,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn request_requested_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `106` + // Measured: `68` // Estimated: `4051` - // Minimum execution time: 10_043_000 picoseconds. - Weight::from_parts(11_375_000, 4051) + // Minimum execution time: 12_000_000 picoseconds. + Weight::from_parts(13_127_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -181,10 +180,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`) fn unrequest_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `144` + // Measured: `106` // Estimated: `4051` - // Minimum execution time: 32_733_000 picoseconds. - Weight::from_parts(35_853_000, 4051) + // Minimum execution time: 31_454_000 picoseconds. + Weight::from_parts(34_387_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -194,10 +193,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn unrequest_unnoted_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `106` + // Measured: `68` // Estimated: `4051` - // Minimum execution time: 11_034_000 picoseconds. - Weight::from_parts(12_023_000, 4051) + // Minimum execution time: 11_069_000 picoseconds. + Weight::from_parts(11_677_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -207,10 +206,10 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn unrequest_multi_referenced_preimage() -> Weight { // Proof Size summary in bytes: - // Measured: `106` + // Measured: `68` // Estimated: `4051` - // Minimum execution time: 10_121_000 picoseconds. - Weight::from_parts(10_654_000, 4051) + // Minimum execution time: 11_133_000 picoseconds. + Weight::from_parts(11_661_000, 4051) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -219,18 +218,18 @@ impl pallet_preimage::WeightInfo for SubstrateWeight /// Storage: `System::Account` (r:1023 w:1023) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:1023 w:1023) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// Storage: `Preimage::RequestStatusFor` (r:0 w:1023) /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) /// The range of component `n` is `[1, 1024]`. fn ensure_updated(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `267 + n * (227 ±0)` + // Measured: `0 + n * (227 ±0)` // Estimated: `1485 + n * (2603 ±0)` - // Minimum execution time: 49_765_000 picoseconds. - Weight::from_parts(50_399_000, 1485) - // Standard Error: 59_664 - .saturating_add(Weight::from_parts(52_903_673, 0).saturating_mul(n.into())) + // Minimum execution time: 54_362_000 picoseconds. + Weight::from_parts(54_880_000, 1485) + // Standard Error: 69_317 + .saturating_add(Weight::from_parts(57_716_789, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(n.into()))) .saturating_add(Weight::from_parts(0, 2603).saturating_mul(n.into())) diff --git a/runtime/common/src/weights/pallet_proxy.rs b/runtime/common/src/weights/pallet_proxy.rs index 7f5a0bb66c..10c0c0f1a4 100644 --- a/runtime/common/src/weights/pallet_proxy.rs +++ b/runtime/common/src/weights/pallet_proxy.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_proxy //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_proxy // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -40,10 +39,10 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `161 + p * (37 ±0)` // Estimated: `5201` - // Minimum execution time: 11_781_000 picoseconds. - Weight::from_parts(12_298_593, 5201) - // Standard Error: 895 - .saturating_add(Weight::from_parts(44_414, 0).saturating_mul(p.into())) + // Minimum execution time: 14_911_000 picoseconds. + Weight::from_parts(15_502_350, 5201) + // Standard Error: 1_027 + .saturating_add(Weight::from_parts(42_371, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Proxy::Proxies` (r:1 w:0) @@ -56,14 +55,14 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { /// The range of component `p` is `[1, 31]`. fn proxy_announced(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `520 + a * (68 ±0) + p * (37 ±0)` + // Measured: `488 + a * (68 ±0) + p * (37 ±0)` // Estimated: `6193` - // Minimum execution time: 35_070_000 picoseconds. - Weight::from_parts(33_384_749, 6193) - // Standard Error: 4_207 - .saturating_add(Weight::from_parts(121_388, 0).saturating_mul(a.into())) - // Standard Error: 4_347 - .saturating_add(Weight::from_parts(121_402, 0).saturating_mul(p.into())) + // Minimum execution time: 42_633_000 picoseconds. + Weight::from_parts(43_566_137, 6193) + // Standard Error: 1_971 + .saturating_add(Weight::from_parts(158_317, 0).saturating_mul(a.into())) + // Standard Error: 2_037 + .saturating_add(Weight::from_parts(37_531, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -75,14 +74,14 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { /// The range of component `p` is `[1, 31]`. fn remove_announcement(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `441 + a * (68 ±0)` + // Measured: `403 + a * (68 ±0)` // Estimated: `6193` - // Minimum execution time: 22_294_000 picoseconds. - Weight::from_parts(22_290_381, 6193) - // Standard Error: 1_537 - .saturating_add(Weight::from_parts(132_324, 0).saturating_mul(a.into())) - // Standard Error: 1_588 - .saturating_add(Weight::from_parts(39_114, 0).saturating_mul(p.into())) + // Minimum execution time: 30_666_000 picoseconds. + Weight::from_parts(31_448_935, 6193) + // Standard Error: 1_439 + .saturating_add(Weight::from_parts(157_686, 0).saturating_mul(a.into())) + // Standard Error: 1_486 + .saturating_add(Weight::from_parts(10_495, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -94,14 +93,14 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { /// The range of component `p` is `[1, 31]`. fn reject_announcement(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `441 + a * (68 ±0)` + // Measured: `403 + a * (68 ±0)` // Estimated: `6193` - // Minimum execution time: 22_491_000 picoseconds. - Weight::from_parts(22_521_180, 6193) - // Standard Error: 1_630 - .saturating_add(Weight::from_parts(130_539, 0).saturating_mul(a.into())) - // Standard Error: 1_684 - .saturating_add(Weight::from_parts(30_662, 0).saturating_mul(p.into())) + // Minimum execution time: 30_269_000 picoseconds. + Weight::from_parts(31_653_290, 6193) + // Standard Error: 1_601 + .saturating_add(Weight::from_parts(156_171, 0).saturating_mul(a.into())) + // Standard Error: 1_654 + .saturating_add(Weight::from_parts(1_841, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -115,14 +114,14 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { /// The range of component `p` is `[1, 31]`. fn announce(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `452 + a * (68 ±0) + p * (37 ±0)` + // Measured: `420 + a * (68 ±0) + p * (37 ±0)` // Estimated: `6193` - // Minimum execution time: 29_606_000 picoseconds. - Weight::from_parts(29_245_824, 6193) - // Standard Error: 4_032 - .saturating_add(Weight::from_parts(138_514, 0).saturating_mul(a.into())) - // Standard Error: 4_166 - .saturating_add(Weight::from_parts(104_558, 0).saturating_mul(p.into())) + // Minimum execution time: 38_118_000 picoseconds. + Weight::from_parts(39_362_050, 6193) + // Standard Error: 1_701 + .saturating_add(Weight::from_parts(162_774, 0).saturating_mul(a.into())) + // Standard Error: 1_758 + .saturating_add(Weight::from_parts(27_483, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -133,10 +132,10 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `161 + p * (37 ±0)` // Estimated: `5201` - // Minimum execution time: 20_194_000 picoseconds. - Weight::from_parts(21_051_000, 5201) - // Standard Error: 1_088 - .saturating_add(Weight::from_parts(42_662, 0).saturating_mul(p.into())) + // Minimum execution time: 25_541_000 picoseconds. + Weight::from_parts(26_228_332, 5201) + // Standard Error: 1_010 + .saturating_add(Weight::from_parts(46_683, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -147,10 +146,10 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `161 + p * (37 ±0)` // Estimated: `5201` - // Minimum execution time: 20_454_000 picoseconds. - Weight::from_parts(21_261_663, 5201) - // Standard Error: 1_350 - .saturating_add(Weight::from_parts(46_349, 0).saturating_mul(p.into())) + // Minimum execution time: 25_394_000 picoseconds. + Weight::from_parts(26_204_578, 5201) + // Standard Error: 1_069 + .saturating_add(Weight::from_parts(37_782, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -161,10 +160,10 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `161 + p * (37 ±0)` // Estimated: `5201` - // Minimum execution time: 18_833_000 picoseconds. - Weight::from_parts(19_680_337, 5201) - // Standard Error: 1_185 - .saturating_add(Weight::from_parts(33_843, 0).saturating_mul(p.into())) + // Minimum execution time: 22_643_000 picoseconds. + Weight::from_parts(23_584_221, 5201) + // Standard Error: 1_002 + .saturating_add(Weight::from_parts(31_791, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -175,10 +174,10 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `173` // Estimated: `5201` - // Minimum execution time: 21_340_000 picoseconds. - Weight::from_parts(22_276_318, 5201) - // Standard Error: 1_282 - .saturating_add(Weight::from_parts(20_970, 0).saturating_mul(p.into())) + // Minimum execution time: 26_411_000 picoseconds. + Weight::from_parts(27_264_907, 5201) + // Standard Error: 1_012 + .saturating_add(Weight::from_parts(10_082, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -189,10 +188,10 @@ impl pallet_proxy::WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `198 + p * (37 ±0)` // Estimated: `5201` - // Minimum execution time: 19_583_000 picoseconds. - Weight::from_parts(20_534_508, 5201) - // Standard Error: 936 - .saturating_add(Weight::from_parts(23_214, 0).saturating_mul(p.into())) + // Minimum execution time: 23_763_000 picoseconds. + Weight::from_parts(24_651_127, 5201) + // Standard Error: 930 + .saturating_add(Weight::from_parts(32_076, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } diff --git a/runtime/common/src/weights/pallet_scheduler.rs b/runtime/common/src/weights/pallet_scheduler.rs index fb218eb23e..f2de640288 100644 --- a/runtime/common/src/weights/pallet_scheduler.rs +++ b/runtime/common/src/weights/pallet_scheduler.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_scheduler //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_scheduler // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -37,10 +36,10 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `31` + // Measured: `30` // Estimated: `1984` - // Minimum execution time: 2_561_000 picoseconds. - Weight::from_parts(2_665_000, 1984) + // Minimum execution time: 3_632_000 picoseconds. + Weight::from_parts(3_926_000, 1984) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -49,12 +48,12 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `78 + s * (177 ±0)` + // Measured: `77 + s * (177 ±0)` // Estimated: `14423` - // Minimum execution time: 2_971_000 picoseconds. - Weight::from_parts(5_643_599, 14423) - // Standard Error: 1_335 - .saturating_add(Weight::from_parts(392_082, 0).saturating_mul(s.into())) + // Minimum execution time: 3_872_000 picoseconds. + Weight::from_parts(7_569_466, 14423) + // Standard Error: 1_710 + .saturating_add(Weight::from_parts(412_932, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -62,11 +61,11 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `179 + s * (1 ±0)` - // Estimated: `4139 + s * (1 ±0)` - // Minimum execution time: 15_402_000 picoseconds. - Weight::from_parts(15_778_000, 4139) - // Standard Error: 3 - .saturating_add(Weight::from_parts(1_272, 0).saturating_mul(s.into())) + // Measured: `141 + s * (1 ±0)` + // Estimated: `4198304` + // Minimum execution time: 19_430_000 picoseconds. + Weight::from_parts(19_584_000, 4198304) + // Standard Error: 261 + .saturating_add(Weight::from_parts(24_681, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(s.into())) } /// Storage: `Scheduler::Lookup` (r:0 w:1) /// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`) @@ -90,42 +88,42 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_343_000 picoseconds. - Weight::from_parts(2_480_000, 0) + // Minimum execution time: 3_181_000 picoseconds. + Weight::from_parts(3_368_000, 0) } fn execute_dispatch_signed() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_814_000 picoseconds. - Weight::from_parts(1_913_000, 0) + // Minimum execution time: 2_442_000 picoseconds. + Weight::from_parts(2_590_000, 0) } fn execute_dispatch_unsigned() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_774_000 picoseconds. - Weight::from_parts(1_904_000, 0) + // Minimum execution time: 2_496_000 picoseconds. + Weight::from_parts(2_617_000, 0) } /// Storage: `Scheduler::Agenda` (r:1 w:1) /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(10463), added: 12938, mode: `MaxEncodedLen`) /// The range of component `s` is `[0, 49]`. fn schedule(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `78 + s * (177 ±0)` + // Measured: `77 + s * (177 ±0)` // Estimated: `14423` - // Minimum execution time: 8_319_000 picoseconds. - Weight::from_parts(11_368_630, 14423) - // Standard Error: 1_545 - .saturating_add(Weight::from_parts(414_718, 0).saturating_mul(s.into())) + // Minimum execution time: 11_258_000 picoseconds. + Weight::from_parts(14_519_949, 14423) + // Standard Error: 1_580 + .saturating_add(Weight::from_parts(449_465, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -138,12 +136,12 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `78 + s * (177 ±0)` + // Measured: `77 + s * (177 ±0)` // Estimated: `14423` - // Minimum execution time: 14_024_000 picoseconds. - Weight::from_parts(13_762_299, 14423) - // Standard Error: 1_218 - .saturating_add(Weight::from_parts(643_146, 0).saturating_mul(s.into())) + // Minimum execution time: 17_242_000 picoseconds. + Weight::from_parts(16_783_800, 14423) + // Standard Error: 911 + .saturating_add(Weight::from_parts(680_782, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -154,12 +152,12 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `255 + s * (185 ±0)` + // Measured: `254 + s * (185 ±0)` // Estimated: `14423` - // Minimum execution time: 11_634_000 picoseconds. - Weight::from_parts(15_145_011, 14423) - // Standard Error: 2_024 - .saturating_add(Weight::from_parts(447_212, 0).saturating_mul(s.into())) + // Minimum execution time: 14_656_000 picoseconds. + Weight::from_parts(19_617_360, 14423) + // Standard Error: 2_978 + .saturating_add(Weight::from_parts(494_880, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -172,12 +170,12 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `281 + s * (185 ±0)` + // Measured: `280 + s * (185 ±0)` // Estimated: `14423` - // Minimum execution time: 16_088_000 picoseconds. - Weight::from_parts(16_249_328, 14423) - // Standard Error: 1_282 - .saturating_add(Weight::from_parts(670_349, 0).saturating_mul(s.into())) + // Minimum execution time: 20_107_000 picoseconds. + Weight::from_parts(20_591_967, 14423) + // Standard Error: 1_518 + .saturating_add(Weight::from_parts(720_844, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -188,12 +186,12 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `118` + // Measured: `117` // Estimated: `14423` - // Minimum execution time: 7_834_000 picoseconds. - Weight::from_parts(8_216_604, 14423) - // Standard Error: 446 - .saturating_add(Weight::from_parts(25_883, 0).saturating_mul(s.into())) + // Minimum execution time: 10_644_000 picoseconds. + Weight::from_parts(10_886_369, 14423) + // Standard Error: 458 + .saturating_add(Weight::from_parts(30_761, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -203,10 +201,10 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `8928` + // Measured: `8927` // Estimated: `14423` - // Minimum execution time: 24_564_000 picoseconds. - Weight::from_parts(25_513_000, 14423) + // Minimum execution time: 28_644_000 picoseconds. + Weight::from_parts(29_869_000, 14423) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -218,10 +216,10 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `9606` + // Measured: `9605` // Estimated: `14423` - // Minimum execution time: 29_073_000 picoseconds. - Weight::from_parts(30_437_000, 14423) + // Minimum execution time: 39_649_000 picoseconds. + Weight::from_parts(40_594_000, 14423) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -231,10 +229,10 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `8940` + // Measured: `8939` // Estimated: `14423` - // Minimum execution time: 23_385_000 picoseconds. - Weight::from_parts(24_028_000, 14423) + // Minimum execution time: 27_294_000 picoseconds. + Weight::from_parts(28_902_000, 14423) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -246,10 +244,10 @@ impl pallet_scheduler::WeightInfo for SubstrateWeight Weight { // Proof Size summary in bytes: - // Measured: `9618` + // Measured: `9617` // Estimated: `14423` - // Minimum execution time: 28_905_000 picoseconds. - Weight::from_parts(29_687_000, 14423) + // Minimum execution time: 38_454_000 picoseconds. + Weight::from_parts(39_825_000, 14423) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -310,7 +308,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 4139 + > 4198304 ); } #[test] diff --git a/runtime/common/src/weights/pallet_session.rs b/runtime/common/src/weights/pallet_session.rs index b0a22b1fd9..e772e8c7d7 100644 --- a/runtime/common/src/weights/pallet_session.rs +++ b/runtime/common/src/weights/pallet_session.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_session //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_session // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -39,10 +38,10 @@ impl pallet_session::WeightInfo for SubstrateWeight /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) fn set_keys() -> Weight { // Proof Size summary in bytes: - // Measured: `518` - // Estimated: `4478` - // Minimum execution time: 15_412_000 picoseconds. - Weight::from_parts(15_995_000, 4478) + // Measured: `298` + // Estimated: `4258` + // Minimum execution time: 23_088_000 picoseconds. + Weight::from_parts(23_866_000, 4258) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -52,10 +51,10 @@ impl pallet_session::WeightInfo for SubstrateWeight /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) fn purge_keys() -> Weight { // Proof Size summary in bytes: - // Measured: `409` - // Estimated: `4369` - // Minimum execution time: 11_100_000 picoseconds. - Weight::from_parts(11_348_000, 4369) + // Measured: `280` + // Estimated: `4240` + // Minimum execution time: 17_675_000 picoseconds. + Weight::from_parts(18_149_000, 4240) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -92,7 +91,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 4478 + > 4258 ); } #[test] @@ -104,7 +103,7 @@ mod tests { .max_extrinsic .unwrap_or_else(::max_value) .proof_size() - > 4369 + > 4240 ); } } diff --git a/runtime/common/src/weights/pallet_timestamp.rs b/runtime/common/src/weights/pallet_timestamp.rs index b259ab0331..1b15078009 100644 --- a/runtime/common/src/weights/pallet_timestamp.rs +++ b/runtime/common/src/weights/pallet_timestamp.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_timestamp //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_timestamp // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -41,8 +40,8 @@ impl pallet_timestamp::WeightInfo for SubstrateWeight pallet_timestamp::WeightInfo for SubstrateWeight` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 + +// Executed Command: +// ./scripts/../target/bench-dev/frequency +// benchmark +// pallet +// --pallet=pallet_transaction_payment +// --extrinsic +// * +// --heap-pages=4096 +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --output=./scripts/../runtime/common/src/weights +// --template=./scripts/../.maintain/runtime-weight-template.hbs +// --additional-trie-layers=3 + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weights for `pallet_transaction_payment` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl pallet_transaction_payment::WeightInfo for SubstrateWeight { + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn charge_transaction_payment() -> Weight { + // Proof Size summary in bytes: + // Measured: `101` + // Estimated: `3593` + // Minimum execution time: 39_528_000 picoseconds. + Weight::from_parts(40_073_000, 3593) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } +} diff --git a/runtime/common/src/weights/pallet_treasury.rs b/runtime/common/src/weights/pallet_treasury.rs deleted file mode 100644 index 0fc371147e..0000000000 --- a/runtime/common/src/weights/pallet_treasury.rs +++ /dev/null @@ -1,293 +0,0 @@ -//! Autogenerated weights for pallet_treasury -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2024-05-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-53`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 - -// Executed Command: -// ./scripts/../target/release/frequency -// benchmark -// pallet -// --pallet=pallet_treasury -// --extrinsic -// * -// --chain=frequency-bench -// --heap-pages=4096 -// --wasm-execution=compiled -// --additional-trie-layers=5 -// --steps=50 -// --repeat=20 -// --output=./scripts/../runtime/common/src/weights -// --template=./scripts/../.maintain/runtime-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::Weight}; -use core::marker::PhantomData; - -/// Weights for `pallet_treasury` using the Substrate node and recommended hardware. -pub struct SubstrateWeight(PhantomData); -impl pallet_treasury::WeightInfo for SubstrateWeight { - /// Storage: Treasury ProposalCount (r:1 w:1) - /// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Treasury Approvals (r:1 w:1) - /// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) - /// Storage: Treasury Proposals (r:0 w:1) - /// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen) - fn spend_local() -> Weight { - // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `1887` - // Minimum execution time: 177_000_000 picoseconds. - Weight::from_parts(191_000_000, 0) - .saturating_add(Weight::from_parts(0, 1887)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: Treasury ProposalCount (r:1 w:1) - /// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Treasury Proposals (r:0 w:1) - /// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen) - fn propose_spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `143` - // Estimated: `1489` - // Minimum execution time: 354_000_000 picoseconds. - Weight::from_parts(376_000_000, 0) - .saturating_add(Weight::from_parts(0, 1489)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: Treasury Proposals (r:1 w:1) - /// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - fn reject_proposal() -> Weight { - // Proof Size summary in bytes: - // Measured: `301` - // Estimated: `3593` - // Minimum execution time: 547_000_000 picoseconds. - Weight::from_parts(550_000_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: Treasury Proposals (r:1 w:0) - /// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen) - /// Storage: Treasury Approvals (r:1 w:1) - /// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) - /// The range of component `p` is `[0, 99]`. - fn approve_proposal(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `470 + p * (8 ±0)` - // Estimated: `3573` - // Minimum execution time: 104_000_000 picoseconds. - Weight::from_parts(121_184_402, 0) - .saturating_add(Weight::from_parts(0, 3573)) - // Standard Error: 42_854 - .saturating_add(Weight::from_parts(153_112, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: Treasury Approvals (r:1 w:1) - /// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) - fn remove_approval() -> Weight { - // Proof Size summary in bytes: - // Measured: `127` - // Estimated: `1887` - // Minimum execution time: 80_000_000 picoseconds. - Weight::from_parts(82_000_000, 0) - .saturating_add(Weight::from_parts(0, 1887)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: Treasury Deactivated (r:1 w:1) - /// Proof: Treasury Deactivated (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: Balances InactiveIssuance (r:1 w:1) - /// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: Treasury Approvals (r:1 w:1) - /// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) - /// Storage: Treasury Proposals (r:99 w:99) - /// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen) - /// Storage: System Account (r:199 w:199) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Bounties BountyApprovals (r:1 w:1) - /// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) - /// The range of component `p` is `[0, 99]`. - fn on_initialize_proposals(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `331 + p * (251 ±0)` - // Estimated: `3593 + p * (5206 ±0)` - // Minimum execution time: 887_000_000 picoseconds. - Weight::from_parts(828_616_021, 0) - .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 695_351 - .saturating_add(Weight::from_parts(566_114_524, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into()))) - .saturating_add(T::DbWeight::get().writes(5)) - .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) - } - /// Storage: AssetRate ConversionRateToNative (r:1 w:0) - /// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen) - /// Storage: Treasury SpendCount (r:1 w:1) - /// Proof: Treasury SpendCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Treasury Spends (r:0 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) - fn spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `114` - // Estimated: `4702` - // Minimum execution time: 208_000_000 picoseconds. - Weight::from_parts(222_000_000, 0) - .saturating_add(Weight::from_parts(0, 4702)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: Treasury Spends (r:1 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) - /// Storage: XcmPallet QueryCounter (r:1 w:1) - /// Proof Skipped: XcmPallet QueryCounter (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Configuration ActiveConfig (r:1 w:0) - /// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Dmp DeliveryFeeFactor (r:1 w:0) - /// Proof Skipped: Dmp DeliveryFeeFactor (max_values: None, max_size: None, mode: Measured) - /// Storage: XcmPallet SupportedVersion (r:1 w:0) - /// Proof Skipped: XcmPallet SupportedVersion (max_values: None, max_size: None, mode: Measured) - /// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) - /// Proof Skipped: XcmPallet VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: XcmPallet SafeXcmVersion (r:1 w:0) - /// Proof Skipped: XcmPallet SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Dmp DownwardMessageQueues (r:1 w:1) - /// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured) - /// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) - /// Proof Skipped: Dmp DownwardMessageQueueHeads (max_values: None, max_size: None, mode: Measured) - /// Storage: XcmPallet Queries (r:0 w:1) - /// Proof Skipped: XcmPallet Queries (max_values: None, max_size: None, mode: Measured) - fn payout() -> Weight { - // Proof Size summary in bytes: - // Measured: `737` - // Estimated: `5313` - // Minimum execution time: 551_000_000 picoseconds. - Weight::from_parts(569_000_000, 0) - .saturating_add(Weight::from_parts(0, 5313)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(6)) - } - /// Storage: Treasury Spends (r:1 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) - /// Storage: XcmPallet Queries (r:1 w:1) - /// Proof Skipped: XcmPallet Queries (max_values: None, max_size: None, mode: Measured) - fn check_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `442` - // Estimated: `5313` - // Minimum execution time: 245_000_000 picoseconds. - Weight::from_parts(281_000_000, 0) - .saturating_add(Weight::from_parts(0, 5313)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: Treasury Spends (r:1 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) - fn void_spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `172` - // Estimated: `5313` - // Minimum execution time: 147_000_000 picoseconds. - Weight::from_parts(160_000_000, 0) - .saturating_add(Weight::from_parts(0, 5313)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } -} - - -#[cfg(test)] -mod tests { - use frame_support::{traits::Get, weights::Weight, dispatch::DispatchClass}; - use crate::constants::{MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO}; - use crate::weights::extrinsic_weights::ExtrinsicBaseWeight; - - struct BlockWeights; - impl Get for BlockWeights { - fn get() -> frame_system::limits::BlockWeights { - frame_system::limits::BlockWeights::builder() - .base_block(Weight::zero()) - .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get().into(); - }) - .for_class(DispatchClass::non_mandatory(), |weights| { - weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); - }) - .build_or_panic() - } - } - - #[test] - fn test_propose_spend() { - assert!( - BlockWeights::get() - .per_class - .get(frame_support::dispatch::DispatchClass::Normal) - .max_extrinsic - .unwrap_or_else(::max_value) - .proof_size() - > 2974 - ); - } - #[test] - fn test_reject_proposal() { - assert!( - BlockWeights::get() - .per_class - .get(frame_support::dispatch::DispatchClass::Normal) - .max_extrinsic - .unwrap_or_else(::max_value) - .proof_size() - > 5078 - ); - } - #[test] - fn test_approve_proposal() { - assert!( - BlockWeights::get() - .per_class - .get(frame_support::dispatch::DispatchClass::Normal) - .max_extrinsic - .unwrap_or_else(::max_value) - .proof_size() - > 5058 - ); - } - #[test] - fn test_remove_approval() { - assert!( - BlockWeights::get() - .per_class - .get(frame_support::dispatch::DispatchClass::Normal) - .max_extrinsic - .unwrap_or_else(::max_value) - .proof_size() - > 3228 - ); - } - #[test] - fn test_on_initialize_proposals() { - assert!( - BlockWeights::get() - .per_class - .get(frame_support::dispatch::DispatchClass::Normal) - .max_extrinsic - .unwrap_or_else(::max_value) - .proof_size() - > 5078 - ); - } -} diff --git a/runtime/common/src/weights/pallet_utility.rs b/runtime/common/src/weights/pallet_utility.rs index ef1e856e1a..7ec9d4019a 100644 --- a/runtime/common/src/weights/pallet_utility.rs +++ b/runtime/common/src/weights/pallet_utility.rs @@ -1,10 +1,10 @@ //! Autogenerated weights for pallet_utility //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.1.0 +//! DATE: 2025-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ip-10-173-4-22`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` -//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("frequency-bench"), DB CACHE: 1024 +//! HOSTNAME: `ip-10-173-10-88`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // ./scripts/../target/release/frequency @@ -13,7 +13,6 @@ // --pallet=pallet_utility // --extrinsic // * -// --chain=frequency-bench // --heap-pages=4096 // --wasm-execution=compiled // --steps=50 @@ -38,67 +37,44 @@ impl pallet_utility::WeightInfo for SubstrateWeight // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_584_000 picoseconds. - Weight::from_parts(8_916_531, 0) - // Standard Error: 1_570 - .saturating_add(Weight::from_parts(2_690_115, 0).saturating_mul(c.into())) + // Minimum execution time: 4_983_000 picoseconds. + Weight::from_parts(5_066_000, 0) + // Standard Error: 1_862 + .saturating_add(Weight::from_parts(3_032_521, 0).saturating_mul(c.into())) } fn as_derivative() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_839_000 picoseconds. - Weight::from_parts(4_063_000, 0) + // Minimum execution time: 4_750_000 picoseconds. + Weight::from_parts(4_886_000, 0) } /// The range of component `c` is `[0, 1000]`. fn batch_all(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_491_000 picoseconds. - Weight::from_parts(4_518_409, 0) - // Standard Error: 984 - .saturating_add(Weight::from_parts(2_885_552, 0).saturating_mul(c.into())) + // Minimum execution time: 5_078_000 picoseconds. + Weight::from_parts(5_216_000, 0) + // Standard Error: 1_931 + .saturating_add(Weight::from_parts(3_268_409, 0).saturating_mul(c.into())) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_391_000 picoseconds. - Weight::from_parts(5_647_000, 0) + // Minimum execution time: 6_950_000 picoseconds. + Weight::from_parts(7_080_000, 0) } /// The range of component `c` is `[0, 1000]`. fn force_batch(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_719_000 picoseconds. - Weight::from_parts(1_515_314, 0) - // Standard Error: 1_264 - .saturating_add(Weight::from_parts(2_720_286, 0).saturating_mul(c.into())) + // Minimum execution time: 4_937_000 picoseconds. + Weight::from_parts(5_062_000, 0) + // Standard Error: 1_919 + .saturating_add(Weight::from_parts(3_014_103, 0).saturating_mul(c.into())) } } - -#[cfg(test)] -mod tests { - use frame_support::{traits::Get, weights::Weight, dispatch::DispatchClass}; - use crate::constants::{MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO}; - use crate::weights::extrinsic_weights::ExtrinsicBaseWeight; - - struct BlockWeights; - impl Get for BlockWeights { - fn get() -> frame_system::limits::BlockWeights { - frame_system::limits::BlockWeights::builder() - .base_block(Weight::zero()) - .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get().into(); - }) - .for_class(DispatchClass::non_mandatory(), |weights| { - weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); - }) - .build_or_panic() - } - } - -} diff --git a/runtime/frequency/Cargo.toml b/runtime/frequency/Cargo.toml index 8028b49c85..55bc89ea13 100644 --- a/runtime/frequency/Cargo.toml +++ b/runtime/frequency/Cargo.toml @@ -48,7 +48,6 @@ pallet-multisig = { workspace = true } pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true } -pallet-treasury = { workspace = true } pallet-utility = { workspace = true } pallet-proxy = { workspace = true } @@ -62,13 +61,14 @@ sp-genesis-builder = { workspace = true } static_assertions = { workspace = true } sp-offchain = { workspace = true } -sp-runtime = { workspace = true } +sp-runtime = { features = ["serde"], workspace = true } sp-session = { workspace = true } sp-std = { workspace = true } sp-transaction-pool = { workspace = true } sp-version = { workspace = true } # Ported Pallet from ORML pallet-time-release = { path = "../../pallets/time-release", default-features = false } +pallet-treasury = { path = "../../pallets/treasury", default-features = false } # Frequency common-primitives = { default-features = false, path = "../../common/primitives" } common-runtime = { path = "../common", default-features = false } diff --git a/runtime/frequency/src/genesis/helpers.rs b/runtime/frequency/src/genesis/helpers.rs index bfa10539e7..8fb67c3ae4 100644 --- a/runtime/frequency/src/genesis/helpers.rs +++ b/runtime/frequency/src/genesis/helpers.rs @@ -72,7 +72,7 @@ pub fn build_genesis( candidacy_bond, ..Default::default() }, - session: SessionConfig { keys: session_keys }, + session: SessionConfig { keys: session_keys, non_authority_keys: Default::default() }, // no need to pass anything to aura, in fact it will panic if we do. Session will take care // of this. aura: Default::default(), diff --git a/runtime/frequency/src/genesis/presets.rs b/runtime/frequency/src/genesis/presets.rs index 543b89626b..e8e47d25f0 100644 --- a/runtime/frequency/src/genesis/presets.rs +++ b/runtime/frequency/src/genesis/presets.rs @@ -98,22 +98,22 @@ fn frequency_genesis_config() -> serde_json::Value { /// Provides the JSON representation of predefined genesis config for given `id`. pub fn get_preset(id: &sp_genesis_builder::PresetId) -> Option> { - let genesis = match id.try_into() { + let genesis = match id.as_str() { #[cfg(any( feature = "frequency-no-relay", feature = "frequency-local", feature = "frequency-lint-check" ))] - Ok("development") => development_genesis_config(), + "development" => development_genesis_config(), #[cfg(any( feature = "frequency-no-relay", feature = "frequency-local", feature = "frequency-lint-check" ))] - Ok("frequency-local") => frequency_local_genesis_config(), + "frequency-local" => frequency_local_genesis_config(), #[cfg(feature = "frequency-testnet")] - Ok("frequency-testnet") => frequency_testnet_genesis_config(), - Ok("frequency") => frequency_genesis_config(), + "frequency-testnet" => frequency_testnet_genesis_config(), + "frequency" => frequency_genesis_config(), _ => return None, }; Some( diff --git a/runtime/frequency/src/lib.rs b/runtime/frequency/src/lib.rs index 55ea14d6ea..3c2840a012 100644 --- a/runtime/frequency/src/lib.rs +++ b/runtime/frequency/src/lib.rs @@ -17,16 +17,23 @@ pub fn wasm_binary_unwrap() -> &'static [u8] { ) } +use common_runtime::constants::currency::UNITS; #[cfg(any(not(feature = "frequency-no-relay"), feature = "frequency-lint-check"))] -use cumulus_pallet_parachain_system::{RelayNumberMonotonicallyIncreases, RelaychainDataProvider}; - +use cumulus_pallet_parachain_system::{ + DefaultCoreSelector, RelayNumberMonotonicallyIncreases, RelaychainDataProvider, +}; +#[cfg(any(feature = "runtime-benchmarks", feature = "test"))] +use frame_support::traits::MapSuccess; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +#[cfg(any(feature = "runtime-benchmarks", feature = "test"))] +use sp_runtime::traits::Replace; use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, + generic, impl_opaque_keys, traits::{AccountIdConversion, BlakeTwo256, Block as BlockT, ConvertInto, IdentityLookup}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, DispatchError, }; +use sp_std::borrow::Cow; use pallet_collective::Members; @@ -120,6 +127,9 @@ pub use common_runtime::{ use frame_support::traits::Contains; #[cfg(feature = "try-runtime")] use frame_support::traits::{TryStateSelect, UpgradeCheckSelect}; +#[allow(deprecated)] +use sp_runtime::traits::transaction_extension::AsTransactionExtension; + mod ethereum; mod genesis; @@ -332,17 +342,20 @@ impl Contains for PasskeyCallFilter { } /// The SignedExtension to the basic transaction logic. -pub type SignedExtra = ( +#[allow(deprecated)] +pub type TxExtension = ( frame_system::CheckNonZeroSender, // merging these types so that we can have more than 12 extensions (frame_system::CheckSpecVersion, frame_system::CheckTxVersion), frame_system::CheckGenesis, frame_system::CheckEra, - common_runtime::extensions::check_nonce::CheckNonce, + AsTransactionExtension>, frame_system::CheckWeight, - pallet_frequency_tx_payment::ChargeFrqTransactionPayment, - pallet_msa::CheckFreeExtrinsicUse, - pallet_handles::handles_signed_extension::HandlesSignedExtension, + AsTransactionExtension>, + AsTransactionExtension>, + AsTransactionExtension< + pallet_handles::handles_signed_extension::HandlesSignedExtension, + >, frame_metadata_hash_extension::CheckMetadataHash, cumulus_primitives_storage_weight_reclaim::StorageWeightReclaim, ); @@ -357,7 +370,7 @@ pub type Block = generic::Block; /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = - generic::UncheckedExtrinsic; + generic::UncheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< @@ -420,28 +433,28 @@ impl_opaque_keys! { #[cfg(feature = "frequency")] #[sp_version::runtime_version] pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("frequency"), - impl_name: create_runtime_str!("frequency"), + spec_name: Cow::Borrowed("frequency"), + impl_name: Cow::Borrowed("frequency"), authoring_version: 1, - spec_version: 145, + spec_version: 146, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, - state_version: 1, + system_version: 1, }; // IMPORTANT: Remember to update spec_version in above struct too #[cfg(not(feature = "frequency"))] #[sp_version::runtime_version] pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("frequency-testnet"), - impl_name: create_runtime_str!("frequency"), + spec_name: Cow::Borrowed("frequency-testnet"), + impl_name: Cow::Borrowed("frequency"), authoring_version: 1, - spec_version: 145, + spec_version: 146, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, - state_version: 1, + system_version: 1, }; /// The version information used to identify this runtime when compiled natively. @@ -544,6 +557,7 @@ impl frame_system::Config for Runtime { type PostInherents = (); /// A callback that executes in *every block* directly after all transactions were applied. type PostTransactions = (); + type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo; } impl pallet_msa::Config for Runtime { @@ -730,6 +744,7 @@ impl pallet_balances::Config for Runtime { type RuntimeHoldReason = RuntimeHoldReason; type RuntimeFreezeReason = RuntimeFreezeReason; type FreezeIdentifier = RuntimeFreezeReason; + type DoneSlashHandler = (); } // Needs parameter_types! for the Weight type parameter_types! { @@ -799,6 +814,15 @@ impl pallet_collective::Config for Runtime { type WeightInfo = weights::pallet_collective_council::SubstrateWeight; type SetMembersOrigin = EnsureRoot; type MaxProposalWeight = MaxCollectivesProposalWeight; + type DisapproveOrigin = EitherOfDiverse< + EnsureRoot, + pallet_collective::EnsureProportionAtLeast, + >; + type KillOrigin = EitherOfDiverse< + EnsureRoot, + pallet_collective::EnsureProportionAtLeast, + >; + type Consideration = (); } type TechnicalCommitteeCollective = pallet_collective::Instance2; @@ -813,6 +837,15 @@ impl pallet_collective::Config for Runtime { type WeightInfo = weights::pallet_collective_technical_committee::SubstrateWeight; type SetMembersOrigin = EnsureRoot; type MaxProposalWeight = MaxCollectivesProposalWeight; + type DisapproveOrigin = EitherOfDiverse< + EnsureRoot, + pallet_collective::EnsureProportionAtLeast, + >; + type KillOrigin = EitherOfDiverse< + EnsureRoot, + pallet_collective::EnsureProportionAtLeast, + >; + type Consideration = (); } // see https://paritytech.github.io/substrate/master/pallet_democracy/pallet/trait.Config.html @@ -903,6 +936,7 @@ impl pallet_democracy::Config for Runtime { parameter_types! { pub TreasuryAccount: AccountId = TreasuryPalletId::get().into_account_truncating(); pub const PayoutSpendPeriod: BlockNumber = 30 * DAYS; + pub const MaxSpending : Balance = 100_000_000 * UNITS; } // See https://paritytech.github.io/substrate/master/pallet_treasury/index.html for @@ -912,7 +946,7 @@ impl pallet_treasury::Config for Runtime { type PalletId = TreasuryPalletId; type Currency = Balances; type RuntimeEvent = RuntimeEvent; - type WeightInfo = weights::pallet_treasury::SubstrateWeight; + type WeightInfo = pallet_treasury::weights::SubstrateWeight; /// Who approves treasury proposals? /// - Root (sudo or governance) @@ -932,7 +966,10 @@ impl pallet_treasury::Config for Runtime { /// Spending funds outside of the proposal? /// Nobody + #[cfg(not(feature = "runtime-benchmarks"))] type SpendOrigin = frame_support::traits::NeverEnsureOrigin; + #[cfg(feature = "runtime-benchmarks")] + type SpendOrigin = MapSuccess, Replace>; /// Rejected proposals lose their bond /// This takes the slashed amount and is often set to the Treasury @@ -985,6 +1022,7 @@ impl pallet_transaction_payment::Config for Runtime { type LengthToFee = ConstantMultiplier; type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; type OperationalFeeMultiplier = TransactionPaymentOperationalFeeMultiplier; + type WeightInfo = weights::pallet_transaction_payment::SubstrateWeight; } use crate::ethereum::EthereumCompatibleAccountIdLookup; @@ -1085,6 +1123,7 @@ impl cumulus_pallet_parachain_system::Config for Runtime { type CheckAssociatedRelayNumber = RelayNumberMonotonicallyIncreases; type WeightInfo = (); type ConsensusHook = ConsensusHook; + type SelectCore = DefaultCoreSelector; } #[cfg(any(not(feature = "frequency-no-relay"), feature = "frequency-lint-check"))] @@ -1289,8 +1328,7 @@ construct_runtime!( System: frame_system::{Pallet, Call, Config, Storage, Event} = 0, #[cfg(any(not(feature = "frequency-no-relay"), feature = "frequency-lint-check"))] ParachainSystem: cumulus_pallet_parachain_system::{ - Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned, - } = 1, + Pallet, Call, Config, Storage, Inherent, Event } = 1, Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 2, ParachainInfo: parachain_info::{Pallet, Storage, Config} = 3, @@ -1356,7 +1394,6 @@ mod benches { [pallet_collective, TechnicalCommittee] [pallet_preimage, Preimage] [pallet_democracy, Democracy] - [pallet_treasury, Treasury] [pallet_scheduler, Scheduler] [pallet_session, SessionBench::] [pallet_timestamp, Timestamp] @@ -1364,6 +1401,7 @@ mod benches { [pallet_multisig, Multisig] [pallet_utility, Utility] [pallet_proxy, Proxy] + [pallet_transaction_payment, TransactionPayment] // Frequency [pallet_msa, Msa] @@ -1372,6 +1410,7 @@ mod benches { [pallet_stateful_storage, StatefulStorage] [pallet_handles, Handles] [pallet_time_release, TimeRelease] + [pallet_treasury, Treasury] [pallet_capacity, Capacity] [pallet_frequency_tx_payment, FrequencyTxPayment] [pallet_passkey, Passkey] @@ -1560,7 +1599,7 @@ sp_api::impl_runtime_apis! { let dispatch_weight = match &uxt.function { RuntimeCall::FrequencyTxPayment(pallet_frequency_tx_payment::Call::pay_with_capacity { .. }) | RuntimeCall::FrequencyTxPayment(pallet_frequency_tx_payment::Call::pay_with_capacity_batch_all { .. }) => { - <::Extrinsic as GetDispatchInfo>::get_dispatch_info(&uxt).weight + <::Extrinsic as GetDispatchInfo>::get_dispatch_info(&uxt).call_weight }, _ => { Weight::zero() @@ -1714,6 +1753,7 @@ sp_api::impl_runtime_apis! { return (list, storage_info) } + #[allow(deprecated)] fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e50b9774d0..dd1efd6fb0 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.76.0" +channel = "1.81" components = [ "clippy", "rust-docs", "rustfmt","rustc-dev", "rustc", "rust-src"] targets = [ "wasm32-unknown-unknown" ] profile = "minimal" diff --git a/scripts/init.sh b/scripts/init.sh index c9805dfe9a..d11f105191 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -73,6 +73,7 @@ start-paseo-collator-alice) --rpc-cors all \ --rpc-methods=Unsafe \ --trie-cache-size 0 \ + --pool-type=fork-aware \ $offchain_params \ ;; @@ -101,12 +102,15 @@ start-paseo-collator-bob) --rpc-cors all \ --rpc-methods=Unsafe \ --trie-cache-size 0 \ + --pool-type=fork-aware \ $offchain_params \ ;; start-frequency-instant) printf "\nBuilding Frequency without relay. Running with instant sealing ...\n" - cargo build --features frequency-no-relay,force-debug + # Uncomment/swap below if you want to see debug logs in the Frequency node + # cargo build --features frequency-no-relay,force-debug + cargo build --features frequency-no-relay parachain_dir=$base_dir/parachain/${para_id} mkdir -p $parachain_dir; @@ -116,6 +120,7 @@ start-frequency-instant) rm -rf $parachain_dir fi + # Fork aware pool is not supported with instant sealing ./target/debug/frequency \ --dev \ --state-pruning archive \ @@ -149,6 +154,7 @@ start-frequency-interval) rm -rf $parachain_dir fi + # Fork aware pool is only supported with this feature ./target/debug/frequency \ --dev \ --state-pruning archive \ @@ -157,6 +163,7 @@ start-frequency-interval) -lruntime=debug \ --sealing=interval \ --sealing-interval=${interval} \ + --sealing-create-empty-blocks \ --wasm-execution=compiled \ --no-telemetry \ --no-prometheus \ @@ -165,6 +172,7 @@ start-frequency-interval) --rpc-external \ --rpc-cors all \ --rpc-methods=Unsafe \ + --pool-type=fork-aware \ $offchain_params \ --tmp ;; @@ -198,6 +206,7 @@ start-frequency-manual) --rpc-external \ --rpc-cors all \ --rpc-methods=Unsafe \ + --pool-type=fork-aware \ $offchain_params \ --tmp ;; @@ -222,6 +231,7 @@ start-frequency-container) --rpc-cors all \ --rpc-methods=Unsafe \ --trie-cache-size 0 \ + --pool-type=fork-aware \ $offchain_params \ ;; diff --git a/scripts/run_benchmarks.sh b/scripts/run_benchmarks.sh index 61116aa2c8..b94a8995c3 100755 --- a/scripts/run_benchmarks.sh +++ b/scripts/run_benchmarks.sh @@ -16,7 +16,7 @@ ALL_EXTERNAL_PALLETS=( \ pallet_scheduler \ pallet_session \ pallet_timestamp \ - pallet_treasury \ + pallet_transaction_payment \ pallet_utility \ pallet_proxy \ ) @@ -30,6 +30,7 @@ ALL_CUSTOM_PALLETS=( \ capacity \ frequency-tx-payment \ passkey \ + treasury \ ) declare -a CUSTOM_PALLETS @@ -183,7 +184,6 @@ function run_benchmark() { ${BENCHMARK} pallet \ --pallet=${1} \ --extrinsic "*" \ - --chain="frequency-bench" \ --heap-pages=4096 \ --wasm-execution=compiled \ --steps=${2} \ diff --git a/scripts/run_collator.sh b/scripts/run_collator.sh index 05b2d58c46..2f356e2177 100755 --- a/scripts/run_collator.sh +++ b/scripts/run_collator.sh @@ -50,7 +50,7 @@ bootnode () { echo "$bootnode" } -args+=( "--" "--wasm-execution=compiled" "--chain=${chain}" "--bootnodes=$(bootnode "$alice" "$alice_rpc_port")" "--bootnodes=$(bootnode "$bob" "$bob_rpc_port")" ) +args+=( "--" "--wasm-execution=compiled" "--pool-type=fork-aware" "--chain=${chain}" "--bootnodes=$(bootnode "$alice" "$alice_rpc_port")" "--bootnodes=$(bootnode "$bob" "$bob_rpc_port")" ) set -x "$ctpc" "${args[@]}"