diff --git a/Cargo.lock b/Cargo.lock index f2bbc2ac3..deb50ff83 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -71,17 +71,6 @@ dependencies = [ "subtle 2.6.1", ] -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -92,7 +81,7 @@ dependencies = [ "getrandom 0.2.15", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -183,9 +172,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "approx" @@ -207,7 +196,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -345,7 +334,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -354,12 +343,6 @@ version = "6.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" -[[package]] -name = "array-init" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d62b7694a562cdf5a74227903507c56ab2cc8bdd1f781ed5cb4cf9c9f810bfc" - [[package]] name = "arrayref" version = "0.3.9" @@ -399,17 +382,17 @@ dependencies = [ [[package]] name = "asn1-rs" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" +checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" dependencies = [ - "asn1-rs-derive 0.5.1", + "asn1-rs-derive 0.6.0", "asn1-rs-impl 0.2.0", "displaydoc", "nom", "num-traits", "rusticata-macros", - "thiserror 1.0.69", + "thiserror 2.0.12", "time", ] @@ -427,13 +410,13 @@ dependencies = [ [[package]] name = "asn1-rs-derive" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" +checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "synstructure 0.13.1", ] @@ -456,7 +439,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -465,256 +448,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" -[[package]] -name = "asset-hub-paseo-runtime" -version = "1.0.0" -source = "git+https://github.com/paseo-network/runtimes?tag=v1.3.4#313b81aa2b2cb076b4f99c9b2bea040a8bcf709f" -dependencies = [ - "assets-common 0.15.0", - "bp-asset-hub-paseo", - "bp-bridge-hub-kusama", - "bp-bridge-hub-paseo", - "bp-bridge-hub-polkadot", - "collectives-polkadot-runtime-constants", - "cumulus-pallet-aura-ext 0.15.0", - "cumulus-pallet-parachain-system 0.15.0", - "cumulus-pallet-session-benchmarking 17.0.0", - "cumulus-pallet-xcm 0.15.0", - "cumulus-pallet-xcmp-queue 0.15.0", - "cumulus-primitives-aura 0.14.0", - "cumulus-primitives-core 0.14.0", - "cumulus-primitives-utility 0.15.0", - "frame-benchmarking 36.0.0", - "frame-executive 36.0.0", - "frame-metadata-hash-extension 0.4.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "frame-system-benchmarking 36.0.0", - "frame-system-rpc-runtime-api 33.0.0", - "frame-try-runtime 0.42.0", - "hex-literal", - "log", - "pallet-asset-conversion 18.0.0", - "pallet-asset-conversion-tx-payment 18.0.0", - "pallet-assets 37.0.0", - "pallet-aura 35.0.0", - "pallet-authorship 36.0.0", - "pallet-balances 37.0.0", - "pallet-collator-selection 17.0.0", - "pallet-message-queue 39.0.2", - "pallet-multisig 36.0.0", - "pallet-nfts 30.0.0", - "pallet-nfts-runtime-api 22.0.0", - "pallet-proxy 36.0.0", - "pallet-session 36.0.0", - "pallet-sudo 36.0.0", - "pallet-timestamp 35.0.0", - "pallet-transaction-payment 36.0.0", - "pallet-transaction-payment-rpc-runtime-api 36.0.0", - "pallet-uniques 36.0.0", - "pallet-utility 36.0.0", - "pallet-vesting 36.0.0", - "pallet-xcm 15.0.0", - "pallet-xcm-benchmarks 15.0.0", - "pallet-xcm-bridge-hub-router 0.13.0", - "parachains-common 15.0.0", - "parity-scale-codec", - "paseo-runtime-constants", - "polkadot-core-primitives 14.0.0", - "polkadot-parachain-primitives 13.0.0", - "polkadot-runtime-common 15.0.0", - "primitive-types 0.12.2", - "scale-info", - "serde_json", - "snowbridge-router-primitives 0.14.0", - "sp-api 33.0.0", - "sp-block-builder 33.0.0", - "sp-consensus-aura 0.39.0", - "sp-core 34.0.0", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-genesis-builder 0.14.0", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-offchain 33.0.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 21.0.0", - "sp-transaction-pool 33.0.0", - "sp-version 36.0.0", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-parachain-info 0.15.0", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", - "substrate-wasm-builder 23.0.0", - "system-parachains-constants 1.0.0 (git+https://github.com/paseo-network/runtimes?tag=v1.3.4)", - "xcm-runtime-apis 0.2.0", -] - -[[package]] -name = "asset-hub-westend-runtime" -version = "0.27.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "assets-common 0.19.0", - "bp-asset-hub-rococo", - "bp-asset-hub-westend", - "bp-bridge-hub-rococo", - "bp-bridge-hub-westend", - "cumulus-pallet-aura-ext 0.18.0", - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-session-benchmarking 20.0.0", - "cumulus-pallet-xcm 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-aura 0.16.0", - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-storage-weight-reclaim", - "cumulus-primitives-utility 0.18.0", - "frame-benchmarking 39.0.0", - "frame-executive 39.0.0", - "frame-metadata-hash-extension 0.7.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-system-benchmarking 39.0.0", - "frame-system-rpc-runtime-api 35.0.0", - "frame-try-runtime 0.45.0", - "hex-literal", - "log", - "pallet-asset-conversion 21.0.0", - "pallet-asset-conversion-ops", - "pallet-asset-conversion-tx-payment 21.0.0", - "pallet-assets 41.0.0", - "pallet-assets-freezer", - "pallet-aura 38.0.0", - "pallet-authorship 39.0.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", - "pallet-message-queue 42.0.0", - "pallet-multisig 39.0.0", - "pallet-nft-fractionalization", - "pallet-nfts 33.0.0", - "pallet-nfts-runtime-api 25.0.0", - "pallet-proxy 39.0.0", - "pallet-revive", - "pallet-session 39.0.0", - "pallet-state-trie-migration 43.0.0", - "pallet-timestamp 38.0.0", - "pallet-transaction-payment 39.0.0", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", - "pallet-uniques 39.0.0", - "pallet-utility 39.0.0", - "pallet-xcm 18.0.0", - "pallet-xcm-benchmarks 18.0.0", - "pallet-xcm-bridge-hub-router 0.16.0", - "parachains-common 19.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-runtime-common 18.0.0", - "primitive-types 0.13.1", - "scale-info", - "serde_json", - "snowbridge-router-primitives 0.18.1", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-keyring 40.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-storage 22.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", - "staging-parachain-info 0.18.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", - "testnet-parachains-constants", - "westend-runtime-constants", - "xcm-runtime-apis 0.5.0", -] - -[[package]] -name = "asset-test-utils" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-assets 41.0.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", - "pallet-session 39.0.0", - "pallet-timestamp 38.0.0", - "pallet-xcm 18.0.0", - "pallet-xcm-bridge-hub-router 0.16.0", - "parachains-common 19.0.0", - "parachains-runtimes-test-utils", - "parity-scale-codec", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "staging-parachain-info 0.18.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", -] - -[[package]] -name = "assets-common" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e2360c96927aa33b3fef7190eabf2aa4129fe3505c11dfa860ada0f27fd1b1" -dependencies = [ - "cumulus-primitives-core 0.14.0", - "frame-support 36.0.1", - "impl-trait-for-tuples", - "log", - "pallet-asset-conversion 18.0.0", - "pallet-xcm 15.0.0", - "parachains-common 15.0.0", - "parity-scale-codec", - "scale-info", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", - "substrate-wasm-builder 23.0.0", -] - -[[package]] -name = "assets-common" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", - "impl-trait-for-tuples", - "log", - "pallet-asset-conversion 21.0.0", - "pallet-assets 41.0.0", - "pallet-xcm 18.0.0", - "parachains-common 19.0.0", - "parity-scale-codec", - "scale-info", - "sp-api 35.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", -] - [[package]] name = "async-channel" version = "1.9.0" @@ -917,13 +650,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.86" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1021,9 +754,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[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" @@ -1034,20 +767,10 @@ dependencies = [ "serde", ] -[[package]] -name = "binary-merkle-tree" -version = "15.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "336bf780dd7526a9a4bc1521720b25c1994dc132cccd59553431923fa4d1a693" -dependencies = [ - "hash-db", - "log", -] - [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "hash-db", "log", @@ -1081,7 +804,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -1093,7 +816,7 @@ dependencies = [ "bs58", "hmac 0.12.1", "k256", - "rand_core", + "rand_core 0.6.4", "ripemd", "secp256k1 0.27.0", "sha2 0.10.8", @@ -1136,9 +859,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" [[package]] name = "bitvec" @@ -1208,9 +931,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.5" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" +checksum = "389a099b34312839e16420d499a9cad9650541715937ffbdd40d36f49e77eeb3" dependencies = [ "arrayref", "arrayvec 0.7.6", @@ -1262,7 +985,7 @@ dependencies = [ "futures-core", "futures-util", "hex", - "http 1.2.0", + "http 1.3.1", "http-body-util", "hyper 1.6.0", "hyper-named-pipe", @@ -1275,7 +998,7 @@ dependencies = [ "serde_json", "serde_repr", "serde_urlencoded", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", "tokio-util", "tower-service", @@ -1296,9 +1019,9 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d077619e9c237a5d1875166f5e8033e8f6bff0c96f8caf81e1c2d7738c431bf" +checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" dependencies = [ "log", "parity-scale-codec", @@ -1315,374 +1038,16 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "bp-asset-hub-paseo" -version = "1.0.0" -source = "git+https://github.com/paseo-network/runtimes?tag=v1.3.4#313b81aa2b2cb076b4f99c9b2bea040a8bcf709f" -dependencies = [ - "bp-xcm-bridge-hub-router 0.13.0", - "frame-support 36.0.1", - "parity-scale-codec", - "scale-info", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "system-parachains-constants 1.0.0 (git+https://github.com/paseo-network/runtimes?tag=v1.3.4)", -] - -[[package]] -name = "bp-asset-hub-rococo" -version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-xcm-bridge-hub-router 0.15.0", - "frame-support 39.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "staging-xcm 15.0.1", -] - -[[package]] -name = "bp-asset-hub-westend" -version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-xcm-bridge-hub-router 0.15.0", - "frame-support 39.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "staging-xcm 15.0.1", -] - -[[package]] -name = "bp-bridge-hub-cumulus" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48cca10dce1c6d2914e48594f13add2da4a5b7c3ed54fd0fa324054dfb8569a" -dependencies = [ - "bp-messages 0.15.0", - "bp-polkadot-core 0.15.0", - "bp-runtime 0.15.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "polkadot-primitives 14.0.0", - "sp-api 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bp-bridge-hub-cumulus" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-messages 0.19.0", - "bp-polkadot-core 0.19.0", - "bp-runtime 0.19.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "polkadot-primitives 17.0.0", - "sp-api 35.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "bp-bridge-hub-kusama" -version = "1.0.0" -source = "git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4#3b18d942c766c7f358da50608b44edbe218284a4" -dependencies = [ - "bp-bridge-hub-cumulus 0.15.0", - "bp-messages 0.15.0", - "bp-runtime 0.15.0", - "frame-support 36.0.1", - "kusama-runtime-constants", - "polkadot-runtime-constants", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "system-parachains-constants 1.0.0 (git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4)", -] - -[[package]] -name = "bp-bridge-hub-paseo" -version = "1.0.0" -source = "git+https://github.com/paseo-network/runtimes?tag=v1.3.4#313b81aa2b2cb076b4f99c9b2bea040a8bcf709f" -dependencies = [ - "bp-bridge-hub-cumulus 0.15.0", - "bp-messages 0.15.0", - "bp-polkadot-bulletin", - "bp-runtime 0.15.0", - "frame-support 36.0.1", - "kusama-runtime-constants", - "paseo-runtime-constants", - "snowbridge-core 0.8.0", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "system-parachains-constants 1.0.0 (git+https://github.com/paseo-network/runtimes?tag=v1.3.4)", -] - -[[package]] -name = "bp-bridge-hub-polkadot" -version = "1.0.0" -source = "git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4#3b18d942c766c7f358da50608b44edbe218284a4" -dependencies = [ - "bp-bridge-hub-cumulus 0.15.0", - "bp-messages 0.15.0", - "bp-polkadot-bulletin", - "bp-runtime 0.15.0", - "frame-support 36.0.1", - "kusama-runtime-constants", - "polkadot-runtime-constants", - "snowbridge-core 0.8.0", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "system-parachains-constants 1.0.0 (git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4)", -] - -[[package]] -name = "bp-bridge-hub-rococo" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-bridge-hub-cumulus 0.19.0", - "bp-messages 0.19.0", - "bp-runtime 0.19.0", - "bp-xcm-bridge-hub", - "frame-support 39.0.0", - "parity-scale-codec", - "sp-api 35.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "bp-bridge-hub-westend" -version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-bridge-hub-cumulus 0.19.0", - "bp-messages 0.19.0", - "bp-runtime 0.19.0", - "bp-xcm-bridge-hub", - "frame-support 39.0.0", - "parity-scale-codec", - "sp-api 35.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "bp-header-chain" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57cac4b71008e46d43e346476ed1be85cf7b505efacee17dad84d687344bf1b1" -dependencies = [ - "bp-runtime 0.15.0", - "finality-grandpa", - "frame-support 36.0.1", - "parity-scale-codec", - "scale-info", - "serde", - "sp-consensus-grandpa 20.0.0", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bp-header-chain" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-runtime 0.19.0", - "finality-grandpa", - "frame-support 39.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "bp-messages" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97eec00a98efeb052ac9fc9676d9fccf5acd19e3b18530f3d72af1a1faf21ec" -dependencies = [ - "bp-header-chain 0.15.0", - "bp-runtime 0.15.0", - "frame-support 36.0.1", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 34.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bp-messages" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-header-chain 0.19.0", - "bp-runtime 0.19.0", - "frame-support 39.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "bp-polkadot-bulletin" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb5b3cd885b40b52bf96e52ffbec92d0c435f7303fc11374ccfcfa5bebfbc4f" -dependencies = [ - "bp-header-chain 0.15.0", - "bp-messages 0.15.0", - "bp-polkadot-core 0.15.0", - "bp-runtime 0.15.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "scale-info", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bp-polkadot-core" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef2272823ecfee580c00f6542dfcab3ec7abdb00857af853429736847c3a2d9" -dependencies = [ - "bp-messages 0.15.0", - "bp-runtime 0.15.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "parity-util-mem", - "scale-info", - "serde", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bp-polkadot-core" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-messages 0.19.0", - "bp-runtime 0.19.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "bp-runtime" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904644c23b437dde65741f3148067624ed0b4d8360f68adf9e92273aeb970814" -dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "hash-db", - "impl-trait-for-tuples", - "log", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", - "trie-db", -] - -[[package]] -name = "bp-runtime" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "hash-db", - "impl-trait-for-tuples", - "log", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-trie 38.0.0", - "trie-db", -] - -[[package]] -name = "bp-xcm-bridge-hub" -version = "0.5.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-messages 0.19.0", - "bp-runtime 0.19.0", - "frame-support 39.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", -] - -[[package]] -name = "bp-xcm-bridge-hub-router" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7dae4d1ec894ee920195dd39070b279ef3c1d4d078c3fcf7336c93a1d502a9d" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-runtime 38.0.1", -] - [[package]] name = "bp-xcm-bridge-hub-router" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", + "sp-core", + "sp-runtime", + "staging-xcm", ] [[package]] @@ -1712,9 +1077,9 @@ 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" @@ -1724,9 +1089,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.21.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" [[package]] name = "byteorder" @@ -1736,18 +1101,17 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" +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", ] @@ -1787,7 +1151,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.25", + "semver 1.0.26", "serde", "serde_json", "thiserror 1.0.69", @@ -1795,23 +1159,23 @@ dependencies = [ [[package]] name = "cargo_metadata" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8769706aad5d996120af43197bf46ef6ad0fda35216b4505f926a365a232d924" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" dependencies = [ "camino", "cargo-platform", - "semver 1.0.25", + "semver 1.0.26", "serde", "serde_json", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "cc" -version = "1.2.12" +version = "1.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" +checksum = "525046617d8376e3db1deffb079e91cef90a89fc3ca5c185bbf8c9ecdd15cd5c" dependencies = [ "jobserver", "libc", @@ -1896,9 +1260,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1906,7 +1270,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -1968,9 +1332,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.28" +version = "4.5.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" +checksum = "d8aa86934b44c19c50f87cc2790e19f54f7a67aedb64101c2e1a2e5ecfb73944" dependencies = [ "clap_builder", "clap_derive", @@ -1978,9 +1342,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.27" +version = "4.5.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" +checksum = "2414dbb2dd0695280da6ea9261e327479e9d37b0630f6b53ba2a11c60c679fd9" dependencies = [ "anstream", "anstyle", @@ -1991,14 +1355,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.28" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2009,9 +1373,9 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "coarsetime" -version = "0.1.35" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4252bf230cb600c19826a575b31c8c9c84c6f11acfab6dfcad2e941b10b6f8e2" +checksum = "91849686042de1b41cd81490edc83afbcb0abe5a9b6f2c4114f23ce8cca1bcf4" dependencies = [ "libc", "wasix", @@ -2020,19 +1384,15 @@ 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 0.1.14", + "unicode-width", ] -[[package]] -name = "collectives-polkadot-runtime-constants" -version = "1.0.0" -source = "git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4#3b18d942c766c7f358da50608b44edbe218284a4" - [[package]] name = "color-print" version = "0.3.7" @@ -2051,7 +1411,7 @@ dependencies = [ "nom", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -2082,13 +1442,12 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.3" +version = "7.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24f165e7b643266ea80cb858aed492ad9280e3e05ce24d4a99d7d7b889b6a4d9" +checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" dependencies = [ - "strum 0.26.3", - "strum_macros 0.26.4", - "unicode-width 0.2.0", + "unicode-segmentation", + "unicode-width", ] [[package]] @@ -2108,14 +1467,14 @@ dependencies = [ [[package]] name = "console" -version = "0.15.10" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", "libc", "once_cell", - "unicode-width 0.2.0", + "unicode-width", "windows-sys 0.59.0", ] @@ -2159,23 +1518,23 @@ dependencies = [ ] [[package]] -name = "const_env" -version = "0.1.2" +name = "const_format" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9e4f72c6e3398ca6da372abd9affd8f89781fe728869bbf986206e9af9627e" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" dependencies = [ - "const_env_impl", + "const_format_proc_macros", ] [[package]] -name = "const_env_impl" -version = "0.1.2" +name = "const_format_proc_macros" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a4f51209740b5e1589e702b3044cdd4562cef41b6da404904192ffffb852d62" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "unicode-xid", ] [[package]] @@ -2205,7 +1564,7 @@ dependencies = [ "anyhow", "blake2 0.10.6", "bollard", - "cargo_metadata 0.19.1", + "cargo_metadata 0.19.2", "clap", "colored", "contract-metadata", @@ -2217,7 +1576,7 @@ dependencies = [ "parity-scale-codec", "regex", "rustc_version", - "semver 1.0.25", + "semver 1.0.26", "serde", "serde_json", "strum 0.26.3", @@ -2225,14 +1584,14 @@ dependencies = [ "term_size", "tokio", "tokio-stream", - "toml 0.8.19", + "toml 0.8.20", "tracing", "url", "uzers", "walkdir", "wasm-encoder", "wasm-opt", - "wasmparser 0.220.0", + "wasmparser 0.220.1", "which", "zip", ] @@ -2245,7 +1604,7 @@ checksum = "3ce11bf540c9b154aca38e9d828ae7ea93ec7b4486c5dea87d553016b28af175" dependencies = [ "anyhow", "impl-serde 0.5.0", - "semver 1.0.25", + "semver 1.0.26", "serde", "serde_json", "url", @@ -2467,7 +1826,7 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "crossterm_winapi", "mio", "parking_lot 0.12.3", @@ -2499,7 +1858,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "subtle 2.6.1", "zeroize", ] @@ -2511,7 +1870,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "typenum", ] @@ -2546,8 +1905,8 @@ dependencies = [ [[package]] name = "cumulus-client-cli" -version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.21.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "clap", "parity-scale-codec", @@ -2556,46 +1915,46 @@ dependencies = [ "sc-client-api", "sc-service", "sp-blockchain", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", "url", ] [[package]] name = "cumulus-client-collator" version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "futures", "parity-scale-codec", "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-client-api", - "sp-api 35.0.0", + "sp-api", "sp-consensus", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", "tracing", ] [[package]] name = "cumulus-client-consensus-aura" version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "cumulus-client-collator", "cumulus-client-consensus-common", "cumulus-client-consensus-proposer", "cumulus-client-parachain-inherent", - "cumulus-primitives-aura 0.16.0", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-aura", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "parity-scale-codec", @@ -2604,7 +1963,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-client-api", "sc-consensus", "sc-consensus-aura", @@ -2613,18 +1972,18 @@ dependencies = [ "sc-telemetry", "sc-utils", "schnellru", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-application-crypto", + "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-timestamp 35.0.0", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-timestamp", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -2633,29 +1992,29 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "cumulus-client-pov-recovery", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "dyn-clone", "futures", "log", "parity-scale-codec", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-client-api", "sc-consensus", "sc-consensus-babe", "schnellru", "sp-blockchain", "sp-consensus", - "sp-consensus-slots 0.41.0", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-timestamp 35.0.0", - "sp-trie 38.0.0", - "sp-version 38.0.0", + "sp-consensus-slots", + "sp-core", + "sp-runtime", + "sp-timestamp", + "sp-trie", + "sp-version", "substrate-prometheus-endpoint", "tracing", ] @@ -2663,22 +2022,22 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "anyhow", "async-trait", - "cumulus-primitives-parachain-inherent 0.17.0", + "cumulus-primitives-parachain-inherent", "sp-consensus", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", + "sp-inherents", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.69", ] [[package]] name = "cumulus-client-network" version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2688,48 +2047,48 @@ dependencies = [ "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", + "polkadot-parachain-primitives", + "polkadot-primitives", "sc-client-api", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-version 38.0.0", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-parachain-inherent" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-parachain-inherent 0.17.0", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", "parity-scale-codec", "sc-client-api", - "sp-api 35.0.0", + "sp-api", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-storage 22.0.0", - "sp-trie 38.0.0", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-trie", "tracing", ] [[package]] name = "cumulus-client-pov-recovery" version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "futures-timer", @@ -2737,35 +2096,35 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-primitives", + "rand 0.8.5", "sc-client-api", "sc-consensus", - "sp-api 35.0.0", + "sp-api", "sp-consensus", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime 40.1.0", - "sp-version 38.0.0", + "sp-maybe-compressed-blob", + "sp-runtime", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-service" version = "0.22.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-client-pov-recovery", - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-proof-size-hostfunction 0.11.0", + "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", "futures", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-client-api", "sc-consensus", "sc-network", @@ -2777,432 +2136,222 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-utils", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-transaction-pool 35.0.0", -] - -[[package]] -name = "cumulus-pallet-aura-ext" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8af48090936c45483d489ee681acb54277763586b53fa3dbd17173aa474fc" -dependencies = [ - "cumulus-pallet-parachain-system 0.15.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "pallet-aura 35.0.0", - "pallet-timestamp 35.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 37.0.0", - "sp-consensus-aura 0.39.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-transaction-pool", ] [[package]] name = "cumulus-pallet-aura-ext" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "cumulus-pallet-parachain-system 0.18.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-aura 38.0.0", - "pallet-timestamp 38.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 39.0.0", - "sp-consensus-aura 0.41.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "cumulus-pallet-parachain-system" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300d5509bd8ac95bafe158fa475278315175a4eb0422c2cd82e08e8b9dde035c" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bytes", - "cumulus-pallet-parachain-system-proc-macro 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cumulus-primitives-core 0.14.0", - "cumulus-primitives-parachain-inherent 0.14.0", - "cumulus-primitives-proof-size-hostfunction 0.9.0", - "environmental", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", - "log", - "pallet-message-queue 39.0.2", + "cumulus-pallet-parachain-system", + "frame-support", + "frame-system", + "pallet-aura", + "pallet-timestamp", "parity-scale-codec", - "polkadot-parachain-primitives 13.0.0", - "polkadot-runtime-common 15.0.0", - "polkadot-runtime-parachains 15.0.4", "scale-info", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", - "sp-version 36.0.0", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "trie-db", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", ] [[package]] name = "cumulus-pallet-parachain-system" -version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.18.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bytes", - "cumulus-pallet-parachain-system-proc-macro 0.6.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-parachain-inherent 0.17.0", - "cumulus-primitives-proof-size-hostfunction 0.11.0", + "cumulus-pallet-parachain-system-proc-macro", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "cumulus-primitives-proof-size-hostfunction", "environmental", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-message-queue 42.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-runtime-common 18.0.0", - "polkadot-runtime-parachains 18.0.1", - "scale-info", - "sp-core 35.0.0", - "sp-externalities 0.30.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-trie 38.0.0", - "sp-version 38.0.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", + "pallet-message-queue", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "scale-info", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-version", + "staging-xcm", + "staging-xcm-builder", "trie-db", ] [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "befbaf3a1ce23ac8476481484fef5f4d500cbd15b4dad6380ce1d28134b0c1f7" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "cumulus-pallet-parachain-system-proc-macro" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "cumulus-pallet-session-benchmarking" -version = "17.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "506daacefa861aa2909b64f26e76495ce029227fd8355b97e074cc1d5dc54ab2" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "pallet-session 36.0.0", - "parity-scale-codec", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.100", ] [[package]] name = "cumulus-pallet-session-benchmarking" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-session 39.0.0", - "parity-scale-codec", - "sp-runtime 40.1.0", -] - -[[package]] -name = "cumulus-pallet-xcm" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d5224285f60e5159bab549f458079d606a7f95ef779def8b89f1a244dc7cf81" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "cumulus-primitives-core 0.14.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-session", "parity-scale-codec", - "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", + "sp-runtime", ] [[package]] name = "cumulus-pallet-xcm" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", -] - -[[package]] -name = "cumulus-pallet-xcmp-queue" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0adf5409618b21e754fef0ac70f257878d22d61c48fdeefcab666835dcb8e0f0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bounded-collections", - "bp-xcm-bridge-hub-router 0.13.0", - "cumulus-primitives-core 0.14.0", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-message-queue 39.0.2", + "cumulus-primitives-core", + "frame-support", + "frame-system", "parity-scale-codec", - "polkadot-runtime-common 15.0.0", - "polkadot-runtime-parachains 15.0.4", "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", + "sp-io", + "sp-runtime", + "staging-xcm", ] [[package]] name = "cumulus-pallet-xcmp-queue" -version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.18.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bounded-collections", - "bp-xcm-bridge-hub-router 0.15.0", - "cumulus-primitives-core 0.17.0", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "bp-xcm-bridge-hub-router", + "cumulus-primitives-core", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-message-queue 42.0.0", + "pallet-message-queue", "parity-scale-codec", - "polkadot-runtime-common 18.0.0", - "polkadot-runtime-parachains 18.0.1", + "polkadot-runtime-common", + "polkadot-runtime-parachains", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", -] - -[[package]] -name = "cumulus-primitives-aura" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e7977947ad43a4cbc532ca33abcde136ae3deffdc7168b2ae253d73ccd371e4" -dependencies = [ - "parity-scale-codec", - "polkadot-core-primitives 14.0.0", - "polkadot-primitives 14.0.0", - "sp-api 33.0.0", - "sp-consensus-aura 0.39.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-io", + "sp-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] name = "cumulus-primitives-aura" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "sp-api 35.0.0", - "sp-consensus-aura 0.41.0", -] - -[[package]] -name = "cumulus-primitives-core" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751e64b89a839d5cfabebc1c797936e5eee791d0fa2322d91e86f8440a743ddb" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "parity-scale-codec", - "polkadot-core-primitives 14.0.0", - "polkadot-parachain-primitives 13.0.0", - "polkadot-primitives 14.0.0", - "scale-info", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", - "staging-xcm 14.0.3", + "sp-api", + "sp-consensus-aura", ] [[package]] name = "cumulus-primitives-core" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "parity-scale-codec", - "polkadot-core-primitives 16.0.0", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "scale-info", - "sp-api 35.0.0", - "sp-runtime 40.1.0", - "sp-trie 38.0.0", - "staging-xcm 15.0.1", -] - -[[package]] -name = "cumulus-primitives-parachain-inherent" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df521e13b48278b86d02c61d6e44036d6d263deb5aaec4838b1751da8988d3d2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "async-trait", - "cumulus-primitives-core 0.14.0", "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", "scale-info", - "sp-core 34.0.0", - "sp-inherents 33.0.0", - "sp-runtime 38.0.1", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", + "sp-api", + "sp-runtime", + "sp-trie", + "staging-xcm", ] [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-trie 38.0.0", -] - -[[package]] -name = "cumulus-primitives-proof-size-hostfunction" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f973d2a7262c90e48dcd42062bcb1e0fbf48bbcdac4ea6df3d85212d8d8be5d" -dependencies = [ - "sp-externalities 0.29.0", - "sp-runtime-interface 28.0.0", - "sp-trie 36.0.0", + "sp-core", + "sp-inherents", + "sp-trie", ] [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.11.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "sp-externalities 0.30.0", - "sp-runtime-interface 29.0.0", - "sp-trie 38.0.0", + "sp-externalities", + "sp-runtime-interface", + "sp-trie", ] [[package]] name = "cumulus-primitives-storage-weight-reclaim" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "9.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-proof-size-hostfunction 0.11.0", + "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 40.1.0", -] - -[[package]] -name = "cumulus-primitives-utility" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05742c520065e3870d419683113ed7f6d35de66f0c80af6828e7878d1bb0ea94" -dependencies = [ - "cumulus-primitives-core 0.14.0", - "frame-support 36.0.1", - "log", - "pallet-asset-conversion 18.0.0", - "parity-scale-codec", - "polkadot-runtime-common 15.0.0", - "polkadot-runtime-parachains 15.0.4", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", + "sp-runtime", ] [[package]] name = "cumulus-primitives-utility" -version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.18.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", + "cumulus-primitives-core", + "frame-support", "log", - "pallet-asset-conversion 21.0.0", + "pallet-asset-conversion", "parity-scale-codec", - "polkadot-runtime-common 18.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", + "polkadot-runtime-common", + "sp-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.22.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "futures-timer", @@ -3213,49 +2362,49 @@ dependencies = [ "sc-sysinfo", "sc-telemetry", "sc-tracing", - "sp-api 35.0.0", + "sp-api", "sp-consensus", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", + "sp-core", + "sp-runtime", + "sp-state-machine", ] [[package]] name = "cumulus-relay-chain-interface" version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "futures", - "jsonrpsee-core 0.24.8", + "jsonrpsee-core 0.24.9", "parity-scale-codec", "polkadot-overseer", "sc-client-api", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", - "sp-state-machine 0.44.0", - "sp-version 38.0.0", + "sp-state-machine", + "sp-version", "thiserror 1.0.69", ] [[package]] name = "cumulus-relay-chain-minimal-node" -version = "0.22.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.22.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "async-trait", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "polkadot-core-primitives 16.0.0", + "polkadot-core-primitives", "polkadot-network-bridge", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "polkadot-service", "sc-authority-discovery", "sc-client-api", @@ -3264,11 +2413,11 @@ dependencies = [ "sc-service", "sc-tracing", "sc-utils", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-consensus-babe 0.41.0", - "sp-runtime 40.1.0", + "sp-consensus-babe", + "sp-runtime", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -3276,21 +2425,21 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" -version = "0.21.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.21.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "either", "futures", "futures-timer", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "parity-scale-codec", "pin-project", "polkadot-overseer", "prometheus", - "rand", + "rand 0.8.5", "sc-client-api", "sc-rpc-api", "sc-service", @@ -3299,14 +2448,14 @@ dependencies = [ "serde_json", "smoldot 0.11.0", "smoldot-light 0.9.0", - "sp-api 35.0.0", - "sp-authority-discovery 35.0.0", - "sp-consensus-babe 0.41.0", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-storage 22.0.0", - "sp-version 38.0.0", + "sp-api", + "sp-authority-discovery", + "sp-consensus-babe", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-version", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", @@ -3318,14 +2467,14 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "parity-scale-codec", - "polkadot-primitives 17.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-trie 38.0.0", + "polkadot-primitives", + "sp-runtime", + "sp-state-machine", + "sp-trie", ] [[package]] @@ -3352,7 +2501,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3363,16 +2512,16 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ "byteorder", "digest 0.9.0", - "rand_core", + "rand_core 0.6.4", "subtle-ng", "zeroize", ] [[package]] name = "cxx" -version = "1.0.137" +version = "1.0.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc894913dccfed0f84106062c284fa021c3ba70cb1d78797d6f5165d4492e45" +checksum = "76751bca18309cbce06f9821698d6c05b3af5c3fde8af5caf57f11611729397b" dependencies = [ "cc", "cxxbridge-cmd", @@ -3384,47 +2533,47 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.137" +version = "1.0.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503b2bfb6b3e8ce7f95d865a67419451832083d3186958290cee6c53e39dfcfe" +checksum = "ab3309df6a3cbbfc900c1b7665f4a4109da2b90ce5fd9b0c9f51e3687f51c970" dependencies = [ "cc", "codespan-reporting", "proc-macro2", "quote", "scratch", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "cxxbridge-cmd" -version = "1.0.137" +version = "1.0.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d2cb64a95b4b5a381971482235c4db2e0208302a962acdbe314db03cbbe2fb" +checksum = "78ce717e582fc3b56bd2f1eb3cda9916e9b4629721e4c2ce637ac5e7d4beef11" dependencies = [ "clap", "codespan-reporting", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "cxxbridge-flags" -version = "1.0.137" +version = "1.0.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f797b0206463c9c2a68ed605ab28892cca784f1ef066050f4942e3de26ad885" +checksum = "aa7fdd4b264a3335a8b21221092bd2fbfba35c3606bd50feb28d22ba3fb0a6e5" [[package]] name = "cxxbridge-macro" -version = "1.0.137" +version = "1.0.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79010a2093848e65a3e0f7062d3f02fb2ef27f866416dfe436fccfa73d3bb59" +checksum = "c36a0a2b78ff9232a3dc584340471d4fa1751a81026cf62f3661a06d5a8bae17" dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3439,12 +2588,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] @@ -3463,16 +2612,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3488,13 +2637,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.11", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3512,15 +2661,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" +checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" [[package]] name = "data-encoding-macro" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b16d9d0d88a5273d830dac8b78ceb217ffc9b1d5404e5597a3542515329405b" +checksum = "9f9724adfcf41f45bf652b3995837669d73c4d49a1b5ac1ff82905ac7d9b5558" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -3528,12 +2677,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1145d32e826a7748b69ee8fc62d3e6355ff7f1051df53141e7048162fc90481b" +checksum = "18e4fdb82bd54a12e42fb58a800dcae6b9e13982238ce2296dc3570b92148e1f" dependencies = [ "data-encoding", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3562,11 +2711,11 @@ dependencies = [ [[package]] name = "der-parser" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" dependencies = [ - "asn1-rs 0.6.2", + "asn1-rs 0.7.1", "displaydoc", "nom", "num-bigint", @@ -3576,9 +2725,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", "serde", @@ -3603,7 +2752,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3614,7 +2763,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3625,7 +2774,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3638,7 +2787,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3658,7 +2807,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "unicode-xid", ] @@ -3748,7 +2897,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3772,9 +2921,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.98", + "syn 2.0.100", "termcolor", - "toml 0.8.19", + "toml 0.8.20", "walkdir", ] @@ -3792,9 +2941,9 @@ 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 = "duct" @@ -3826,14 +2975,14 @@ checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "dyn-clone" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "ecdsa" @@ -3868,7 +3017,7 @@ checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core", + "rand_core 0.6.4", "serde", "sha2 0.10.8", "subtle 2.6.1", @@ -3885,16 +3034,16 @@ dependencies = [ "ed25519", "hashbrown 0.14.5", "hex", - "rand_core", + "rand_core 0.6.4", "sha2 0.10.8", "zeroize", ] [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" @@ -3909,48 +3058,13 @@ dependencies = [ "generic-array 0.14.7", "group", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "serdect", "subtle 2.6.1", "zeroize", ] -[[package]] -name = "emulated-integration-tests-common" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "asset-test-utils", - "bp-messages 0.19.0", - "bp-xcm-bridge-hub", - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", - "pallet-assets 41.0.0", - "pallet-balances 40.0.0", - "pallet-bridge-messages", - "pallet-message-queue 42.0.0", - "pallet-xcm 18.0.0", - "pallet-xcm-bridge-hub", - "parachains-common 19.0.0", - "parity-scale-codec", - "paste", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "polkadot-runtime-parachains 18.0.1", - "sc-consensus-grandpa", - "sp-authority-discovery 35.0.0", - "sp-consensus-babe 0.41.0", - "sp-consensus-beefy 23.0.0", - "sp-core 35.0.0", - "sp-keyring 40.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "xcm-emulator", -] - [[package]] name = "encode_unicode" version = "1.0.0" @@ -3978,7 +3092,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -3998,7 +3112,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4018,7 +3132,7 @@ checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4029,7 +3143,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4063,14 +3177,14 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" dependencies = [ "anstream", "anstyle", "env_filter", - "humantime", + "jiff", "log", ] @@ -4082,55 +3196,20 @@ 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.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", "windows-sys 0.59.0", ] -[[package]] -name = "ethabi-decode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d398648d65820a727d6a81e58b962f874473396a047e4c30bafe3240953417" -dependencies = [ - "ethereum-types 0.14.1", - "tiny-keccak", -] - -[[package]] -name = "ethabi-decode" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52029c4087f9f01108f851d0d02df9c21feb5660a19713466724b7f95bd2d773" -dependencies = [ - "ethereum-types 0.15.1", - "tiny-keccak", -] - -[[package]] -name = "ethbloom" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-codec 0.6.0", - "impl-rlp 0.3.0", - "impl-serde 0.4.0", - "scale-info", - "tiny-keccak", -] - [[package]] name = "ethbloom" version = "0.14.1" @@ -4139,39 +3218,23 @@ checksum = "8c321610643004cf908ec0f5f2aa0d8f1f8e14b540562a2887a1111ff1ecbf7b" dependencies = [ "crunchy", "fixed-hash", - "impl-codec 0.7.0", - "impl-rlp 0.4.0", + "impl-codec 0.7.1", + "impl-rlp", "impl-serde 0.5.0", "scale-info", "tiny-keccak", ] -[[package]] -name = "ethereum-types" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" -dependencies = [ - "ethbloom 0.13.0", - "fixed-hash", - "impl-codec 0.6.0", - "impl-rlp 0.3.0", - "impl-serde 0.4.0", - "primitive-types 0.12.2", - "scale-info", - "uint 0.9.5", -] - [[package]] name = "ethereum-types" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ab15ed80916029f878e0267c3a9f92b67df55e79af370bf66199059ae2b4ee3" dependencies = [ - "ethbloom 0.14.1", + "ethbloom", "fixed-hash", - "impl-codec 0.7.0", - "impl-rlp 0.4.0", + "impl-codec 0.7.1", + "impl-rlp", "impl-serde 0.5.0", "primitive-types 0.13.1", "scale-info", @@ -4218,9 +3281,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener 5.4.0", "pin-project-lite", @@ -4247,7 +3310,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4294,11 +3357,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb42427514b063d97ce21d5199f36c0c307d981434a6be32582bc79fe5bd2303" dependencies = [ "expander", - "indexmap 2.7.1", - "proc-macro-crate 3.2.0", + "indexmap 2.9.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -4313,11 +3376,11 @@ dependencies = [ [[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", + "rand_core 0.6.4", "subtle 2.6.1", ] @@ -4361,9 +3424,9 @@ dependencies = [ [[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", @@ -4392,7 +3455,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -4403,6 +3466,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + [[package]] name = "float-cmp" version = "0.9.0" @@ -4420,14 +3489,14 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", ] @@ -4464,64 +3533,38 @@ dependencies = [ [[package]] name = "fragile" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" - -[[package]] -name = "frame-benchmarking" -version = "36.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709b26657ebbba53dc7bb616577375ca462b20fef1b00e8d9b20d2435e87f7bc" -dependencies = [ - "frame-support 36.0.1", - "frame-support-procedural 30.0.4", - "frame-system 36.1.0", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-runtime-interface 28.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 21.0.0", - "static_assertions", -] +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", - "frame-support-procedural 31.0.0", - "frame-system 39.1.0", + "frame-support", + "frame-support-procedural", + "frame-system", "linregress", "log", "parity-scale-codec", "paste", "scale-info", "serde", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-runtime-interface 29.0.0", - "sp-storage 22.0.0", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-storage", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" -version = "46.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "46.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "Inflector", "array-bytes", @@ -4529,10 +3572,10 @@ dependencies = [ "clap", "comfy-table", "cumulus-client-parachain-inherent", - "cumulus-primitives-proof-size-hostfunction 0.11.0", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "cumulus-primitives-proof-size-hostfunction", + "frame-benchmarking", + "frame-support", + "frame-system", "gethostname", "handlebars", "hex", @@ -4540,9 +3583,9 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-parachain-primitives", + "polkadot-primitives", + "rand 0.8.5", "rand_pcg", "sc-block-builder", "sc-chain-spec", @@ -4555,25 +3598,25 @@ dependencies = [ "sc-sysinfo", "serde", "serde_json", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-block-builder", "sp-blockchain", - "sp-core 35.0.0", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-database", - "sp-externalities 0.30.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-storage 22.0.0", - "sp-timestamp 35.0.0", - "sp-transaction-pool 35.0.0", - "sp-trie 38.0.0", - "sp-version 38.0.0", - "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-externalities", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-timestamp", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "sp-wasm-interface", "subxt", "subxt-signer", "thiserror 1.0.69", @@ -4583,96 +3626,46 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "14.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8156f209055d352994ecd49e19658c6b469d7c6de923bd79868957d0dcfb6f71" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "frame-election-provider-solution-type" -version = "14.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "frame-election-provider-support" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1ec289ebad5e601bb165cf7eb6ec2179ae34280ee310d0710a3111d4f8f8f94" -dependencies = [ - "frame-election-provider-solution-type 14.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-npos-elections 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.100", ] [[package]] name = "frame-election-provider-support" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-election-provider-solution-type 14.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-npos-elections 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "frame-executive" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d878830330eaa9e8b886279c338556b05702d0059989cb51cfb226b70bf3fa4" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "aquamarine", - "frame-support 36.0.1", - "frame-system 36.1.0", - "frame-try-runtime 0.42.0", - "log", + "frame-election-provider-solution-type", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic", + "sp-core", + "sp-npos-elections", + "sp-runtime", ] [[package]] name = "frame-executive" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "aquamarine", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-try-runtime 0.45.0", + "frame-support", + "frame-system", + "frame-try-runtime", "log", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-tracing", ] [[package]] @@ -4710,51 +3703,35 @@ dependencies = [ "serde", ] -[[package]] -name = "frame-metadata-hash-extension" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf37fc730bf4b51e82a34c6357eebe32c04dbacf6525e0a7b9726f6a17ec9427" -dependencies = [ - "array-bytes", - "docify", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", -] - [[package]] name = "frame-metadata-hash-extension" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "const-hex", "docify", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 40.1.0", + "sp-runtime", ] [[package]] name = "frame-support" -version = "36.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4d08149c28010bfa568dcfa832aea628fb794d4243794a13b1bdef1aa66fb1" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "aquamarine", "array-bytes", + "binary-merkle-tree", "bitflags 1.3.2", "docify", "environmental", - "frame-metadata 16.0.0", - "frame-support-procedural 30.0.4", + "frame-metadata 18.0.0", + "frame-support-procedural", "impl-trait-for-tuples", "k256", "log", @@ -4765,267 +3742,121 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-api 33.0.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-crypto-hashing-proc-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-genesis-builder 0.14.0", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-metadata-ir 0.7.0", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-crypto-hashing-proc-macro", + "sp-debug-derive", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-metadata-ir", + "sp-runtime", + "sp-staking", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-trie", + "sp-weights", "static_assertions", "tt-call", ] [[package]] -name = "frame-support" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "aquamarine", - "array-bytes", - "binary-merkle-tree 16.0.0", - "bitflags 1.3.2", - "docify", - "environmental", - "frame-metadata 18.0.0", - "frame-support-procedural 31.0.0", - "impl-trait-for-tuples", - "k256", - "log", - "macro_magic", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "serde_json", - "smallvec", - "sp-api 35.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-metadata-ir 0.8.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", - "sp-state-machine 0.44.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-trie 38.0.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "static_assertions", - "tt-call", -] - -[[package]] -name = "frame-support-procedural" -version = "30.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e8f9b6bc1517a6fcbf0b2377e5c8c6d39f5bb7862b191a59a9992081d63972d" -dependencies = [ - "Inflector", - "cfg-expr", - "derive-syn-parse", - "expander", - "frame-support-procedural-tools 13.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "itertools 0.11.0", - "macro_magic", - "proc-macro-warning 1.0.2", - "proc-macro2", - "quote", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 2.0.98", -] - -[[package]] -name = "frame-support-procedural" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "frame-support-procedural" +version = "31.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", "docify", "expander", - "frame-support-procedural-tools 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "frame-support-procedural-tools", "itertools 0.11.0", "macro_magic", - "proc-macro-warning 1.0.2", + "proc-macro-warning 1.84.1", "proc-macro2", "quote", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "syn 2.0.98", -] - -[[package]] -name = "frame-support-procedural-tools" -version = "13.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a088fd6fda5f53ff0c17fc7551ce8bd0ead14ba742228443c8196296a7369b" -dependencies = [ - "frame-support-procedural-tools-derive 12.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "frame-support-procedural-tools-derive" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "frame-system" -version = "36.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d6a0e7bb6503facdcc6f8e19c83cd0bfc8bbbd268522b1a50e107dfc6b972d" -dependencies = [ - "cfg-if", - "docify", - "frame-support 36.0.1", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-version 36.0.0", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.100", ] [[package]] name = "frame-system" version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "cfg-if", "docify", - "frame-support 39.0.0", + "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-version 38.0.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "frame-system-benchmarking" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15afc91c7780e18274dcea58ed1edb700c48d10e086a9785e3f6708099cd3250" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-version", + "sp-weights", ] [[package]] name = "frame-system-benchmarking" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "frame-system-rpc-runtime-api" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9e2b7b85e451e367f4fb85ff3295bd039e17f64de1906154d3976e2638ee8" -dependencies = [ - "parity-scale-codec", - "sp-api 33.0.0", + "sp-core", + "sp-runtime", ] [[package]] name = "frame-system-rpc-runtime-api" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "docify", "parity-scale-codec", - "sp-api 35.0.0", -] - -[[package]] -name = "frame-try-runtime" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6ba8b36a52775ad39ccfb45ff4ad814c3cb45ec74d0a4271889e00bd791c6c" -dependencies = [ - "frame-support 36.0.1", - "parity-scale-codec", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api", ] [[package]] name = "frame-try-runtime" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", + "frame-support", "parity-scale-codec", - "sp-api 35.0.0", - "sp-runtime 40.1.0", + "sp-api", + "sp-runtime", ] [[package]] @@ -5158,7 +3989,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -5263,14 +4094,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ "cfg-if", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -5279,8 +4110,8 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", ] [[package]] @@ -5340,7 +4171,7 @@ dependencies = [ "futures-core", "futures-sink", "gloo-utils", - "http 1.2.0", + "http 1.3.1", "js-sys", "pin-project", "serde", @@ -5391,7 +4222,7 @@ dependencies = [ "parking_lot 0.12.3", "portable-atomic", "quanta", - "rand", + "rand 0.8.5", "smallvec", "spinning_top", ] @@ -5403,7 +4234,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", + "rand_core 0.6.4", "subtle 2.6.1", ] @@ -5419,7 +4250,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.7.1", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -5428,17 +4259,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.2.0", - "indexmap 2.7.1", + "http 1.3.1", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -5479,9 +4310,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] [[package]] name = "hashbrown" @@ -5489,7 +4317,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.11", + "ahash", ] [[package]] @@ -5498,7 +4326,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash", "allocator-api2", "serde", ] @@ -5547,6 +4375,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" @@ -5567,9 +4401,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hickory-proto" -version = "0.24.2" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447afdcdb8afb9d0a852af6dc65d9b285ce720ed7a59e42a8bf2e931c67bc1b5" +checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" dependencies = [ "async-trait", "cfg-if", @@ -5581,7 +4415,7 @@ dependencies = [ "idna 1.0.3", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "thiserror 1.0.69", "tinyvec", "tokio", @@ -5591,9 +4425,9 @@ dependencies = [ [[package]] name = "hickory-resolver" -version = "0.24.2" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2e2aba9c389ce5267d31cf1e4dace82390ae276b0b364ea55630b1fa1b44b4" +checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" dependencies = [ "cfg-if", "futures-util", @@ -5602,7 +4436,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "resolv-conf", "smallvec", "thiserror 1.0.69", @@ -5651,13 +4485,13 @@ dependencies = [ [[package]] name = "hostname" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" dependencies = [ + "cfg-if", "libc", - "match_cfg", - "winapi", + "windows 0.52.0", ] [[package]] @@ -5673,9 +4507,9 @@ dependencies = [ [[package]] name = "http" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -5700,27 +4534,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.2.0", + "http 1.3.1", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.2.0", + "futures-core", + "http 1.3.1", "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -5730,9 +4564,9 @@ 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" @@ -5751,7 +4585,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.5.9", "tokio", "tower-service", "tracing", @@ -5767,8 +4601,8 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.7", - "http 1.2.0", + "h2 0.4.8", + "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", @@ -5817,32 +4651,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.2.0", + "http 1.3.1", "hyper 1.6.0", "hyper-util", "log", - "rustls 0.23.22", + "rustls 0.23.25", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tower-service", ] [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", + "libc", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.5.9", "tokio", "tower-service", "tracing", @@ -5865,16 +4700,17 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +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]] @@ -5927,9 +4763,9 @@ dependencies = [ [[package]] name = "icu_locid_transform_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" +checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" [[package]] name = "icu_normalizer" @@ -5951,9 +4787,9 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" [[package]] name = "icu_properties" @@ -5972,9 +4808,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" [[package]] name = "icu_provider" @@ -6001,7 +4837,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -6082,7 +4918,7 @@ dependencies = [ "rtnetlink", "system-configuration", "tokio", - "windows", + "windows 0.53.0", ] [[package]] @@ -6098,7 +4934,7 @@ dependencies = [ "http 0.2.12", "hyper 0.14.32", "log", - "rand", + "rand 0.8.5", "tokio", "url", "xmltree", @@ -6115,24 +4951,13 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67aa010c1e3da95bf151bd8b4c059b2ed7e75387cdb969b4f8f2723a43f9941" +checksum = "2d40b9d5e17727407e55028eafc22b2dc68781786e6d7eb8a21103f5058e3a14" dependencies = [ "parity-scale-codec", ] -[[package]] -name = "impl-num-traits" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" -dependencies = [ - "integer-sqrt", - "num-traits", - "uint 0.9.5", -] - [[package]] name = "impl-num-traits" version = "0.2.0" @@ -6144,22 +4969,13 @@ dependencies = [ "uint 0.10.0", ] -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp 0.5.2", -] - [[package]] name = "impl-rlp" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54ed8ad1f3877f7e775b8cbf30ed1bd3209a95401817f19a0eb4402d13f8cf90" dependencies = [ - "rlp 0.6.1", + "rlp", ] [[package]] @@ -6188,7 +5004,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -6223,9 +5039,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -6239,358 +5055,119 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" [[package]] -name = "ink" -version = "5.1.1" +name = "inout" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d7438a13d38fa8f4eebea8d1e7c2931058eafd0336c79f4141d4ed0162a412" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ - "derive_more 1.0.0", - "ink_env", - "ink_macro", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "pallet-contracts-uapi 9.0.0", - "parity-scale-codec", - "scale-info", - "staging-xcm 11.0.0", + "generic-array 0.14.7", ] [[package]] -name = "ink_allocator" -version = "5.1.1" +name = "instant" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ec348ce75d284bc2e698187dc01da416a52dfa2d685e2a57d04e9e580447df0" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] [[package]] -name = "ink_codegen" -version = "5.1.1" +name = "integer-sqrt" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2238f147295746f1fee4cf7dcdee6378c94e61fbf7b9f9f4bb2a7f918530801b" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "blake2 0.10.6", - "derive_more 1.0.0", - "either", - "heck 0.5.0", - "impl-serde 0.4.0", - "ink_ir", - "ink_primitives", - "itertools 0.12.1", - "parity-scale-codec", - "proc-macro2", - "quote", - "serde", - "serde_json", - "syn 2.0.98", + "num-traits", ] [[package]] -name = "ink_engine" -version = "5.1.1" +name = "io-lifetimes" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273f2aa983d04a6476d3c5ac76ddbef07555664b88f923996e7465e261dda48" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "blake2 0.10.6", - "derive_more 1.0.0", - "ink_primitives", - "pallet-contracts-uapi 9.0.0", - "parity-scale-codec", - "secp256k1 0.28.2", - "sha2 0.10.8", - "sha3", + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", ] [[package]] -name = "ink_env" -version = "5.1.1" +name = "ip_network" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ee6089a1836c2e92d00be97d42308b7fb2c2b51ff6150b1130166a58107092" -dependencies = [ - "blake2 0.10.6", - "cfg-if", - "const_env", - "derive_more 1.0.0", - "ink_allocator", - "ink_engine", - "ink_prelude", - "ink_primitives", - "ink_storage_traits", - "num-traits", - "pallet-contracts-uapi 9.0.0", - "parity-scale-codec", - "paste", - "rlibc", - "scale-decode 0.11.1", - "scale-encode 0.6.0", - "scale-info", - "schnorrkel 0.11.4", - "secp256k1 0.28.2", - "sha2 0.10.8", - "sha3", - "staging-xcm 11.0.0", - "static_assertions", -] +checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] -name = "ink_ir" -version = "5.1.1" +name = "ipconfig" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e201688fb27ff97496a4231a393dd4befcc5a9c092d6bf231f0f5d409ef44f34" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "blake2 0.10.6", - "either", - "impl-serde 0.4.0", - "ink_prelude", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.98", + "socket2 0.5.9", + "widestring", + "windows-sys 0.48.0", + "winreg", ] [[package]] -name = "ink_macro" -version = "5.1.1" +name = "ipnet" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce9465553d3066a8e28bd94a94880289084c4ff12f1852312553e902fa1ffdd" -dependencies = [ - "ink_codegen", - "ink_ir", - "ink_primitives", - "parity-scale-codec", - "proc-macro2", - "quote", - "syn 2.0.98", - "synstructure 0.13.1", -] +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] -name = "ink_metadata" -version = "5.1.1" +name = "is-terminal" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27135c651274087ba0578d2c07866c31d8dd481ae8de5bb7295fe3931491aa80" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "derive_more 1.0.0", - "impl-serde 0.4.0", - "ink_prelude", - "ink_primitives", - "linkme", - "parity-scale-codec", - "scale-info", - "schemars", - "serde", + "hermit-abi 0.5.0", + "libc", + "windows-sys 0.59.0", ] [[package]] -name = "ink_prelude" -version = "5.1.1" +name = "is_executable" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b29c9b7f686f4305f523bca5e2ae6f22a09531ec2bf0a9498cdc877959f70ad0" +checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" dependencies = [ - "cfg-if", + "winapi", ] [[package]] -name = "ink_primitives" -version = "5.1.1" +name = "is_terminal_polyfill" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a530c1b352a53176ea718f3a65f15003e54e0474ec12353ea0e0e5bb60b25741" -dependencies = [ - "derive_more 1.0.0", - "ink_prelude", - "parity-scale-codec", - "scale-decode 0.11.1", - "scale-encode 0.6.0", - "scale-info", - "xxhash-rust", -] +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] -name = "ink_storage" -version = "5.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bed602a974481b194084b93957917f27e724c7561fd0de9b6f3c171590c839b" +name = "ismp" +version = "0.2.2" +source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" dependencies = [ - "array-init", - "cfg-if", + "anyhow", "derive_more 1.0.0", - "ink_env", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage_traits", - "pallet-contracts-uapi 9.0.0", + "displaydoc", + "hex", "parity-scale-codec", + "primitive-types 0.13.1", "scale-info", + "serde", + "serde-hex-utils", + "thiserror 2.0.12", ] [[package]] -name = "ink_storage_traits" -version = "5.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde9b3f4a1e355682e5d13fd5639e5da4d0a2029537292e05a4255ea1169663e" +name = "ismp-parachain" +version = "1.15.3" +source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" dependencies = [ - "ink_metadata", - "ink_prelude", - "ink_primitives", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "integer-sqrt" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" -dependencies = [ - "num-traits", -] - -[[package]] -name = "integration-tests" -version = "0.0.0" -dependencies = [ - "asset-hub-paseo-runtime", - "asset-hub-westend-runtime", - "asset-test-utils", - "cumulus-primitives-core 0.17.0", - "emulated-integration-tests-common", - "frame-support 39.0.0", - "pallet-assets 41.0.0", - "pallet-balances 40.0.0", - "pallet-message-queue 42.0.0", - "pallet-xcm 18.0.0", - "parity-scale-codec", - "paseo-runtime", - "paseo-runtime-constants", - "polkadot-primitives 17.0.0", - "polkadot-runtime-parachains 18.0.1", - "pop-runtime-common", - "pop-runtime-devnet", - "pop-runtime-mainnet", - "pop-runtime-testnet", - "sp-authority-discovery 35.0.0", - "sp-consensus-aura 0.41.0", - "sp-consensus-babe 0.41.0", - "sp-consensus-beefy 23.0.0", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", - "tracing-subscriber", - "westend-runtime", - "westend-runtime-constants", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ip_network" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" - -[[package]] -name = "ipconfig" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" -dependencies = [ - "socket2 0.5.8", - "widestring", - "windows-sys 0.48.0", - "winreg", -] - -[[package]] -name = "ipnet" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - -[[package]] -name = "is-terminal" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "is_executable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" -dependencies = [ - "winapi", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "ismp" -version = "0.2.2" -source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" -dependencies = [ - "anyhow", - "derive_more 1.0.0", - "displaydoc", - "hex", - "parity-scale-codec", - "primitive-types 0.13.1", - "scale-info", - "serde", - "serde-hex-utils", - "thiserror 2.0.11", -] - -[[package]] -name = "ismp-parachain" -version = "1.15.3" -source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" -dependencies = [ - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "cumulus-pallet-parachain-system", + "cumulus-primitives-core", + "frame-support", + "frame-system", "hex-literal", "ismp", "log", @@ -6599,11 +5176,11 @@ dependencies = [ "primitive-types 0.13.1", "scale-info", "serde", - "sp-consensus-aura 0.41.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-trie 38.0.0", + "sp-consensus-aura", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-trie", "substrate-state-machine", ] @@ -6614,7 +5191,7 @@ source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f dependencies = [ "anyhow", "async-trait", - "cumulus-primitives-core 0.17.0", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "ismp", "ismp-parachain", @@ -6622,10 +5199,10 @@ dependencies = [ "log", "pallet-ismp-runtime-api", "parity-scale-codec", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", + "sp-inherents", + "sp-runtime", ] [[package]] @@ -6633,8 +5210,8 @@ name = "ismp-parachain-runtime-api" version = "1.15.1" source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" dependencies = [ - "cumulus-pallet-parachain-system 0.18.0", - "sp-api 35.0.0", + "cumulus-pallet-parachain-system", + "sp-api", ] [[package]] @@ -6666,18 +5243,42 @@ dependencies = [ [[package]] name = "itertools" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c102670231191d07d37a35af3eb77f1f0dbf7a71be51a962dcd57ea607be7260" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "4cdde31a9d349f1b1f51a0b3714a5940ac022976f4b49485fc04be052b183b4c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] [[package]] name = "jni" @@ -6693,6 +5294,22 @@ dependencies = [ "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" @@ -6701,10 +5318,11 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ + "getrandom 0.3.2", "libc", ] @@ -6743,18 +5361,18 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "834af00800e962dee8f7bfc0f60601de215e73e78e5497d733a2919da837d3c8" +checksum = "37b26c20e2178756451cfeb0661fb74c47dd5988cb7e3939de7e9241fd604d42" dependencies = [ - "jsonrpsee-client-transport 0.24.8", - "jsonrpsee-core 0.24.8", - "jsonrpsee-http-client 0.24.8", + "jsonrpsee-client-transport 0.24.9", + "jsonrpsee-core 0.24.9", + "jsonrpsee-http-client 0.24.9", "jsonrpsee-proc-macros", "jsonrpsee-server", - "jsonrpsee-types 0.24.8", + "jsonrpsee-types 0.24.9", "jsonrpsee-wasm-client", - "jsonrpsee-ws-client 0.24.8", + "jsonrpsee-ws-client 0.24.9", "tokio", "tracing", ] @@ -6788,16 +5406,16 @@ checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432" dependencies = [ "base64 0.22.1", "futures-util", - "http 1.2.0", + "http 1.3.1", "jsonrpsee-core 0.23.2", "pin-project", - "rustls 0.23.22", + "rustls 0.23.25", "rustls-pki-types", - "rustls-platform-verifier", + "rustls-platform-verifier 0.3.4", "soketto 0.8.1", "thiserror 1.0.69", "tokio", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tokio-util", "tracing", "url", @@ -6805,24 +5423,24 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def0fd41e2f53118bd1620478d12305b2c75feef57ea1f93ef70568c98081b7e" +checksum = "bacb85abf4117092455e1573625e21b8f8ef4dec8aff13361140b2dc266cdff2" dependencies = [ "base64 0.22.1", "futures-channel", "futures-util", "gloo-net", - "http 1.2.0", - "jsonrpsee-core 0.24.8", + "http 1.3.1", + "jsonrpsee-core 0.24.9", "pin-project", - "rustls 0.23.22", + "rustls 0.23.25", "rustls-pki-types", - "rustls-platform-verifier", + "rustls-platform-verifier 0.5.1", "soketto 0.8.1", "thiserror 1.0.69", "tokio", - "tokio-rustls 0.26.1", + "tokio-rustls 0.26.2", "tokio-util", "tracing", "url", @@ -6875,22 +5493,22 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76637f6294b04e747d68e69336ef839a3493ca62b35bf488ead525f7da75c5bb" +checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925" dependencies = [ "async-trait", "bytes", "futures-timer", "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", - "jsonrpsee-types 0.24.8", + "jsonrpsee-types 0.24.9", "parking_lot 0.12.3", "pin-project", - "rand", - "rustc-hash 2.1.0", + "rand 0.8.5", + "rustc-hash 2.1.1", "serde", "serde_json", "thiserror 1.0.69", @@ -6922,9 +5540,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c24e981ad17798bbca852b0738bfb7b94816ed687bd0d5da60bfa35fa0fdc3" +checksum = "c872b6c9961a4ccc543e321bb5b89f6b2d2c7fe8b61906918273a3333c95400c" dependencies = [ "async-trait", "base64 0.22.1", @@ -6932,10 +5550,10 @@ dependencies = [ "hyper 1.6.0", "hyper-rustls 0.27.5", "hyper-util", - "jsonrpsee-core 0.24.8", - "jsonrpsee-types 0.24.8", - "rustls 0.23.22", - "rustls-platform-verifier", + "jsonrpsee-core 0.24.9", + "jsonrpsee-types 0.24.9", + "rustls 0.23.25", + "rustls-platform-verifier 0.5.1", "serde", "serde_json", "thiserror 1.0.69", @@ -6947,31 +5565,31 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fcae0c6c159e11541080f1f829873d8f374f81eda0abc67695a13fc8dc1a580" +checksum = "5e65763c942dfc9358146571911b0cd1c361c2d63e2d2305622d40d36376ca80" dependencies = [ "heck 0.5.0", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "jsonrpsee-server" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b7a3df90a1a60c3ed68e7ca63916b53e9afa928e33531e87f61a9c8e9ae87b" +checksum = "55e363146da18e50ad2b51a0a7925fc423137a0b1371af8235b1c231a0647328" dependencies = [ "futures-util", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "hyper 1.6.0", "hyper-util", - "jsonrpsee-core 0.24.8", - "jsonrpsee-types 0.24.8", + "jsonrpsee-core 0.24.9", + "jsonrpsee-types 0.24.9", "pin-project", "route-recognizer", "serde", @@ -7005,7 +5623,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" dependencies = [ "beef", - "http 1.2.0", + "http 1.3.1", "serde", "serde_json", "thiserror 1.0.69", @@ -7013,11 +5631,11 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddb81adb1a5ae9182df379e374a79e24e992334e7346af4d065ae5b2acb8d4c6" +checksum = "08a8e70baf945b6b5752fc8eb38c918a48f1234daf11355e07106d963f860089" dependencies = [ - "http 1.2.0", + "http 1.3.1", "serde", "serde_json", "thiserror 1.0.69", @@ -7025,13 +5643,13 @@ dependencies = [ [[package]] name = "jsonrpsee-wasm-client" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e41af42ca39657313748174d02766e5287d3a57356f16756dbd8065b933977" +checksum = "e6558a9586cad43019dafd0b6311d0938f46efc116b34b28c74778bc11a2edf6" dependencies = [ - "jsonrpsee-client-transport 0.24.8", - "jsonrpsee-core 0.24.8", - "jsonrpsee-types 0.24.8", + "jsonrpsee-client-transport 0.24.9", + "jsonrpsee-core 0.24.9", + "jsonrpsee-types 0.24.9", ] [[package]] @@ -7040,7 +5658,7 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e" dependencies = [ - "http 1.2.0", + "http 1.3.1", "jsonrpsee-client-transport 0.23.2", "jsonrpsee-core 0.23.2", "jsonrpsee-types 0.23.2", @@ -7049,14 +5667,14 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f4f3642a292f5b76d8a16af5c88c16a0860f2ccc778104e5c848b28183d9538" +checksum = "01b3323d890aa384f12148e8d2a1fd18eb66e9e7e825f9de4fa53bcc19b93eef" dependencies = [ - "http 1.2.0", - "jsonrpsee-client-transport 0.24.8", - "jsonrpsee-core 0.24.8", - "jsonrpsee-types 0.24.8", + "http 1.3.1", + "jsonrpsee-client-transport 0.24.9", + "jsonrpsee-core 0.24.9", + "jsonrpsee-types 0.24.9", "url", ] @@ -7099,21 +5717,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" -[[package]] -name = "kusama-runtime-constants" -version = "1.0.0" -source = "git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4#3b18d942c766c7f358da50608b44edbe218284a4" -dependencies = [ - "frame-support 36.0.1", - "polkadot-primitives 14.0.0", - "polkadot-runtime-common 15.0.0", - "smallvec", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm-builder 15.0.0", -] - [[package]] name = "kvdb" version = "0.13.0" @@ -7178,9 +5781,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.169" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" @@ -7279,7 +5882,7 @@ dependencies = [ "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand", + "rand 0.8.5", "rw-stream-sink", "smallvec", "thiserror 1.0.69", @@ -7337,7 +5940,7 @@ dependencies = [ "hkdf", "multihash 0.19.3", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2 0.10.8", "thiserror 1.0.69", "tracing", @@ -7364,7 +5967,7 @@ dependencies = [ "log", "quick-protobuf", "quick-protobuf-codec", - "rand", + "rand 0.8.5", "sha2 0.10.8", "smallvec", "thiserror 1.0.69", @@ -7386,9 +5989,9 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand", + "rand 0.8.5", "smallvec", - "socket2 0.5.8", + "socket2 0.5.9", "tokio", "trust-dns-proto 0.22.0", "void", @@ -7427,7 +6030,7 @@ dependencies = [ "multihash 0.19.3", "once_cell", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2 0.10.8", "snow", "static_assertions", @@ -7450,7 +6053,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand", + "rand 0.8.5", "void", ] @@ -7470,10 +6073,10 @@ dependencies = [ "log", "parking_lot 0.12.3", "quinn", - "rand", + "rand 0.8.5", "ring 0.16.20", "rustls 0.21.12", - "socket2 0.5.8", + "socket2 0.5.9", "thiserror 1.0.69", "tokio", ] @@ -7491,7 +6094,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand", + "rand 0.8.5", "smallvec", "void", ] @@ -7513,7 +6116,7 @@ dependencies = [ "log", "multistream-select", "once_cell", - "rand", + "rand 0.8.5", "smallvec", "tokio", "void", @@ -7529,7 +6132,7 @@ dependencies = [ "proc-macro-warning 0.4.2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -7545,7 +6148,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "log", - "socket2 0.5.8", + "socket2 0.5.9", "tokio", ] @@ -7629,7 +6232,7 @@ dependencies = [ "libp2p-core", "log", "thiserror 1.0.69", - "yamux", + "yamux 0.12.1", ] [[package]] @@ -7638,9 +6241,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "libc", - "redox_syscall 0.5.8", + "redox_syscall 0.5.11", ] [[package]] @@ -7660,18 +6263,18 @@ 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", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand", + "rand 0.8.5", "serde", "sha2 0.9.9", "typenum", @@ -7708,9 +6311,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.21" +version = "1.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa" +checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" dependencies = [ "cc", "pkg-config", @@ -7719,9 +6322,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", ] @@ -7741,26 +6344,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "linkme" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566336154b9e58a4f055f6dd4cbab62c7dc0826ce3c0a04e63b2d2ecd784cdae" -dependencies = [ - "linkme-impl", -] - -[[package]] -name = "linkme-impl" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbe595006d355eaf9ae11db92707d4338cd2384d16866131cc1afdbdd35d8d9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "linregress" version = "0.5.4" @@ -7788,6 +6371,12 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +[[package]] +name = "linux-raw-sys" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + [[package]] name = "lioness" version = "0.1.2" @@ -7802,15 +6391,15 @@ dependencies = [ [[package]] name = "litemap" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "litep2p" -version = "0.9.0" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ca6ee50a125dc4fc4e9a3ae3640010796d1d07bc517a0ac715fdf0b24a0b6ac" +checksum = "fa3aa5628ae2b2283aa01dfa58947f1926aedba0160dd25041e2cd4bc71534c9" dependencies = [ "async-trait", "bs58", @@ -7821,18 +6410,17 @@ dependencies = [ "futures-timer", "hex-literal", "hickory-resolver", - "indexmap 2.7.1", + "indexmap 2.9.0", "libc", "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.12.6", "prost-build", - "rand", + "rand 0.8.5", "rcgen", "ring 0.16.20", "rustls 0.20.9", @@ -7841,19 +6429,19 @@ dependencies = [ "simple-dns", "smallvec", "snow", - "socket2 0.5.8", - "static_assertions", - "thiserror 1.0.69", + "socket2 0.5.9", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-tungstenite", "tokio-util", "tracing", - "uint 0.9.5", + "uint 0.10.0", "unsigned-varint 0.8.0", "url", "x25519-dalek", - "x509-parser 0.16.0", + "x509-parser 0.17.0", + "yamux 0.13.4", "yasna", "zeroize", ] @@ -7870,18 +6458,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" - -[[package]] -name = "lru" -version = "0.8.1" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" -dependencies = [ - "hashbrown 0.12.3", -] +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lru" @@ -7944,7 +6523,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -7958,7 +6537,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -7969,7 +6548,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -7980,15 +6559,9 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.98", + "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" @@ -8075,7 +6648,7 @@ dependencies = [ "blake3", "frame-metadata 18.0.0", "parity-scale-codec", - "scale-decode 0.13.1", + "scale-decode", "scale-info", ] @@ -8087,7 +6660,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core", + "rand_core 0.6.4", "zeroize", ] @@ -8099,9 +6672,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" +checksum = "ff70ce3e48ae43fa075863cef62e8b43b71a4f2382229920e0df362592919430" dependencies = [ "adler2", ] @@ -8135,8 +6708,8 @@ dependencies = [ "lioness", "log", "parking_lot 0.12.3", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_distr", "subtle 2.6.1", "thiserror 1.0.69", @@ -8146,35 +6719,35 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "log", "parity-scale-codec", "sc-client-api", "sc-offchain", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-consensus-beefy 23.0.0", - "sp-core 35.0.0", - "sp-mmr-primitives 35.0.0", - "sp-runtime 40.1.0", + "sp-consensus-beefy", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", ] [[package]] name = "mmr-rpc" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "parity-scale-codec", "serde", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", - "sp-core 35.0.0", - "sp-mmr-primitives 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", ] [[package]] @@ -8227,7 +6800,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8384,7 +6957,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ - "rand", + "rand 0.8.5", ] [[package]] @@ -8441,7 +7014,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -8486,7 +7059,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cfg-if", "cfg_aliases 0.1.1", "libc", @@ -8587,7 +7160,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -8681,18 +7254,18 @@ dependencies = [ [[package]] name = "oid-registry" -version = "0.7.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" +checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" dependencies = [ - "asn1-rs 0.6.2", + "asn1-rs 0.7.1", ] [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "opaque-debug" @@ -8742,10 +7315,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7b1d40dd8f367db3c65bec8d3dd47d4a604ee8874480738f93191bddab4e0e0" dependencies = [ "expander", - "indexmap 2.7.1", + "indexmap 2.9.0", "itertools 0.11.0", - "petgraph", - "proc-macro-crate 3.2.0", + "petgraph 0.6.5", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", "syn 1.0.109", @@ -8772,2750 +7345,1444 @@ name = "pallet-api" version = "0.1.0" dependencies = [ "anyhow", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "ismp", "log", - "pallet-assets 41.0.0", - "pallet-balances 40.0.0", + "pallet-assets", + "pallet-balances", "pallet-ismp", "pallet-nfts 31.0.0", + "pallet-timestamp", + "pallet-xcm", "parity-scale-codec", "pop-chain-extension", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-weights", + "staging-xcm", + "staging-xcm-builder", ] [[package]] name = "pallet-asset-conversion" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f726ebb59401c1844a4a8703047bdafcd99a1827cd5d8b2c82abeb8948a7f25b" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-api 33.0.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-asset-conversion" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-asset-rate" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-api 35.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", ] [[package]] -name = "pallet-asset-conversion-ops" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-asset-tx-payment" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-asset-conversion 21.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "serde", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-asset-conversion-tx-payment" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0fde03a96382f4dbe37ef95cb4ef7aade7c0be410cb6c888eda911c94af3eaf" +name = "pallet-assets" +version = "41.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "pallet-asset-conversion 18.0.0", - "pallet-transaction-payment 36.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", "parity-scale-codec", "scale-info", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-runtime", ] [[package]] -name = "pallet-asset-conversion-tx-payment" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-aura" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-asset-conversion 21.0.0", - "pallet-transaction-payment 39.0.0", + "frame-support", + "frame-system", + "log", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-runtime 40.1.0", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", ] [[package]] -name = "pallet-asset-rate" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e806842bec955190ec64f8b2179f74f5355137c4cadf04f3269e6196cd19caf9" +name = "pallet-authority-discovery" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-support", + "frame-system", + "pallet-session", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto", + "sp-authority-discovery", + "sp-runtime", ] [[package]] -name = "pallet-asset-rate" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-authorship" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-support", + "frame-system", + "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-runtime", ] [[package]] -name = "pallet-asset-tx-payment" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "100a180dfbf30a1c872100ec2dae8a61c0f5e8b3f2d3a5cbb34093826293e2ab" +name = "pallet-babe" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "pallet-transaction-payment 36.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "serde", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto", + "sp-consensus-babe", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", ] [[package]] -name = "pallet-asset-tx-payment" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-bags-list" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-transaction-payment 39.0.0", + "aquamarine", + "docify", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-balances", "parity-scale-codec", "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-io", + "sp-runtime", + "sp-tracing", ] [[package]] -name = "pallet-assets" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79ef6a7763fc08177f014052469ee12aefcdad0d99a747372360c2f648d2cc4" +name = "pallet-balances" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime", ] [[package]] -name = "pallet-assets" -version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-beefy" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "impl-trait-for-tuples", + "frame-support", + "frame-system", "log", + "pallet-authorship", + "pallet-session", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "serde", + "sp-consensus-beefy", + "sp-runtime", + "sp-session", + "sp-staking", ] [[package]] -name = "pallet-assets-freezer" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-beefy-mmr" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "array-bytes", + "binary-merkle-tree", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-assets 41.0.0", + "pallet-beefy", + "pallet-mmr", + "pallet-session", "parity-scale-codec", "scale-info", - "sp-runtime 40.1.0", + "serde", + "sp-api", + "sp-consensus-beefy", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", ] [[package]] -name = "pallet-aura" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0861b2a1ad6526948567bb59a3fdc4c7f02ee79b07be8b931a544350ec35ab0c" +name = "pallet-bounties" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-timestamp 35.0.0", + "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-application-crypto 37.0.0", - "sp-consensus-aura 0.39.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-aura" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-broker" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", + "bitvec", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-timestamp 38.0.0", "parity-scale-codec", "scale-info", - "sp-application-crypto 39.0.0", - "sp-consensus-aura 0.41.0", - "sp-runtime 40.1.0", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-runtime", ] [[package]] -name = "pallet-authority-discovery" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2c3666a476132f5846fe4d5e1961a923a58a0f54d873d84566f24ffaa3684f" +name = "pallet-child-bounties" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "pallet-session 36.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-bounties", + "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-application-crypto 37.0.0", - "sp-authority-discovery 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-authority-discovery" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-collator-selection" +version = "20.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-session 39.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-balances", + "pallet-session", "parity-scale-codec", + "rand 0.8.5", "scale-info", - "sp-application-crypto 39.0.0", - "sp-authority-discovery 35.0.0", - "sp-runtime 40.1.0", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-authorship" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38885846dbcf03b025fdbd7edb3649046dbc68fa0b419ffe8837ef853a10d31f" +name = "pallet-collective" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", "parity-scale-codec", "scale-info", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-authorship" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-contracts" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", + "bitflags 1.3.2", + "environmental", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", + "log", + "pallet-balances", + "pallet-contracts-proc-macro", + "pallet-contracts-uapi", "parity-scale-codec", + "paste", + "rand 0.8.5", + "rand_pcg", "scale-info", - "sp-runtime 40.1.0", + "serde", + "smallvec", + "sp-api", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "staging-xcm", + "staging-xcm-builder", + "wasm-instrument", + "wasmi 0.32.3", ] [[package]] -name = "pallet-babe" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b23d2d814e3cb793659fcf84533f66fdf0ed9cccb66cb2225851f482843ed096" +name = "pallet-contracts-proc-macro" +version = "23.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-authorship 36.0.0", - "pallet-session 36.0.0", - "pallet-timestamp 35.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 37.0.0", - "sp-consensus-babe 0.39.0", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] -name = "pallet-babe" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-contracts-uapi" +version = "12.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-authorship 39.0.0", - "pallet-session 39.0.0", - "pallet-timestamp 38.0.0", + "bitflags 1.3.2", "parity-scale-codec", + "paste", "scale-info", - "sp-application-crypto 39.0.0", - "sp-consensus-babe 0.41.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", ] [[package]] -name = "pallet-bags-list" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af34fa3fb6a0abe3577e435988039a9e441f6705ae2d3ad627a23e3f705baa2d" +name = "pallet-conviction-voting" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "aquamarine", - "docify", - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-balances 37.0.0", + "assert_matches", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-bags-list" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-delegated-staking" +version = "6.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "aquamarine", - "docify", - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-support", + "frame-system", "log", - "pallet-balances 40.0.0", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-balances" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6878e240962d3887f0e0654ac343a18845adb95ad493c9d4d5e803c015d4a4c3" +name = "pallet-democracy" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "docify", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-balances" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-election-provider-multi-phase" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", + "pallet-election-provider-support-benchmarking", "parity-scale-codec", + "rand 0.8.5", "scale-info", - "sp-runtime 40.1.0", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "strum 0.26.3", ] [[package]] -name = "pallet-beefy" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715dfcd1bf3f1f37af6335d4eb3cef921e746ac54721e2258c4fd968b61eb009" +name = "pallet-election-provider-support-benchmarking" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-authorship 36.0.0", - "pallet-session 36.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-system", "parity-scale-codec", - "scale-info", - "serde", - "sp-consensus-beefy 20.0.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-npos-elections", + "sp-runtime", ] [[package]] -name = "pallet-beefy" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-elections-phragmen" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-authorship 39.0.0", - "pallet-session 39.0.0", "parity-scale-codec", "scale-info", - "serde", - "sp-consensus-beefy 23.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", + "sp-core", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-beefy-mmr" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d70c6f872eb3f2635355ccbea944a4f9ea411c0aa25f6f1a15219e8da11ad2" +name = "pallet-fast-unstake" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "array-bytes", - "binary-merkle-tree 15.0.1", - "frame-support 36.0.1", - "frame-system 36.1.0", + "docify", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", - "pallet-beefy 36.0.0", - "pallet-mmr 35.0.0", - "pallet-session 36.0.0", "parity-scale-codec", "scale-info", - "serde", - "sp-api 33.0.0", - "sp-consensus-beefy 20.0.0", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-beefy-mmr" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-grandpa" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "array-bytes", - "binary-merkle-tree 16.0.0", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-beefy 40.0.0", - "pallet-mmr 39.0.0", - "pallet-session 39.0.0", + "pallet-authorship", + "pallet-session", "parity-scale-codec", "scale-info", - "serde", - "sp-api 35.0.0", - "sp-consensus-beefy 23.0.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", + "sp-application-crypto", + "sp-consensus-grandpa", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", ] [[package]] -name = "pallet-bounties" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0566499e74ba4b7ccbd1b667eef0dab76ca28402a8d501e22b73a363717b05a9" +name = "pallet-identity" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "enumflags2", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-treasury 35.0.0", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-bounties" -version = "38.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-im-online" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-treasury 38.0.0", + "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-bridge-messages" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bp-header-chain 0.19.0", - "bp-messages 0.19.0", - "bp-runtime 0.19.0", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", +name = "pallet-indices" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-trie 38.0.0", + "sp-core", + "sp-io", + "sp-keyring", + "sp-runtime", ] [[package]] -name = "pallet-broker" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0d652c399b6ed776ee3322e60f40e323f86b413719d7696eddb8f64c368ac0" +name = "pallet-ismp" +version = "1.15.3" +source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" dependencies = [ - "bitvec", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "anyhow", + "fortuples", + "frame-benchmarking", + "frame-support", + "frame-system", + "ismp", "log", "parity-scale-codec", "scale-info", - "sp-api 33.0.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "sp-api", + "sp-core", + "sp-io", + "sp-mmr-primitives", + "sp-runtime", + "sp-std", ] [[package]] -name = "pallet-broker" -version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-ismp-rpc" +version = "1.15.3" +source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" dependencies = [ - "bitvec", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", + "anyhow", + "frame-system", + "hash-db", + "hex", + "hex-literal", + "ismp", + "jsonrpsee 0.24.9", + "pallet-ismp", + "pallet-ismp-runtime-api", "parity-scale-codec", - "scale-info", - "sp-api 35.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sc-client-api", + "sc-rpc", + "serde", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", + "sp-storage", + "sp-trie", + "tower", + "trie-db", ] [[package]] -name = "pallet-child-bounties" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e351f103ebbdd1eb095da8c2379caccc82ebc59a740c2731693d2204286b83" +name = "pallet-ismp-runtime-api" +version = "1.15.3" +source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-bounties 35.0.0", - "pallet-treasury 35.0.0", + "ismp", + "pallet-ismp", "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "primitive-types 0.13.1", + "serde", + "sp-api", + "sp-mmr-primitives", ] [[package]] -name = "pallet-child-bounties" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-membership" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-bounties 38.0.1", - "pallet-treasury 38.0.0", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-collator-selection" -version = "17.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f660cc09f2f277a3976da2eef856b5c725ab7ad1192902ef7f4e4bafd992f04f" +name = "pallet-message-queue" +version = "42.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "environmental", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-authorship 36.0.0", - "pallet-balances 37.0.0", - "pallet-session 36.0.0", "parity-scale-codec", - "rand", "scale-info", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-weights", ] [[package]] -name = "pallet-collator-selection" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-migrations" +version = "9.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "cfg-if", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", "log", - "pallet-authorship 39.0.0", - "pallet-balances 40.0.0", - "pallet-session 39.0.0", "parity-scale-codec", - "rand", "scale-info", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", + "sp-core", + "sp-runtime", ] [[package]] -name = "pallet-collective" +name = "pallet-mmr" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-io", + "sp-mmr-primitives", + "sp-runtime", ] [[package]] -name = "pallet-contracts" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-motion" +version = "4.0.0-dev" dependencies = [ - "bitflags 1.3.2", - "environmental", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "impl-trait-for-tuples", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-balances 40.0.0", - "pallet-contracts-proc-macro", - "pallet-contracts-uapi 12.0.1", + "pallet-balances", + "pallet-collective", "parity-scale-codec", - "paste", - "rand", - "rand_pcg", "scale-info", - "serde", - "smallvec", - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "wasm-instrument", - "wasmi 0.32.3", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-contracts-proc-macro" -version = "23.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-multisig" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "log", + "parity-scale-codec", + "polkadot-sdk-frame", + "scale-info", ] [[package]] -name = "pallet-contracts-uapi" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d7a51646d9ff1d91abd0186d2c074f0dfd3b1a2d55f08a229a2f2e4bc6d1e49" +name = "pallet-nft-fractionalization" +version = "22.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bitflags 1.3.2", - "paste", - "polkavm-derive 0.9.1", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-assets", + "pallet-nfts 33.1.0", + "parity-scale-codec", + "scale-info", + "sp-runtime", ] [[package]] -name = "pallet-contracts-uapi" -version = "12.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-nfts" +version = "31.0.0" dependencies = [ - "bitflags 1.3.2", + "enumflags2", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-balances", "parity-scale-codec", - "paste", "scale-info", + "sp-core", + "sp-io", + "sp-keystore", + "sp-runtime", ] [[package]] -name = "pallet-conviction-voting" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9033f0d23500bbc39298fd50c07b89a2f2d9f07300139b4df8005995ef683875" +name = "pallet-nfts" +version = "33.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "assert_matches", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "enumflags2", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", "parity-scale-codec", "scale-info", - "serde", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-conviction-voting" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-nfts-runtime-api" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "assert_matches", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "pallet-nfts 33.1.0", "parity-scale-codec", - "scale-info", - "serde", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "sp-api", ] [[package]] -name = "pallet-delegated-staking" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0596ec5ab55e02b1b5637b3ec2b99027d036fe97a1ab4733ae105474dfa727cf" -dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-delegated-staking" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-democracy" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-nis" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "sp-arithmetic", + "sp-core", + "sp-runtime", ] [[package]] -name = "pallet-election-provider-multi-phase" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd1090fdc6ccdd8ff08c60000c970428baaaf0b33e7a6b01a91ec8b697a650a3" +name = "pallet-nomination-pools" +version = "37.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-support", + "frame-system", "log", - "pallet-election-provider-support-benchmarking 35.0.0", + "pallet-balances", "parity-scale-codec", - "rand", "scale-info", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-npos-elections 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "strum 0.26.3", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-tracing", ] [[package]] -name = "pallet-election-provider-multi-phase" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-nomination-pools-benchmarking" +version = "37.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-election-provider-support-benchmarking 38.0.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "pallet-bags-list", + "pallet-delegated-staking", + "pallet-nomination-pools", + "pallet-staking", "parity-scale-codec", - "rand", "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-npos-elections 35.0.0", - "sp-runtime 40.1.0", - "strum 0.26.3", + "sp-runtime", + "sp-runtime-interface", + "sp-staking", ] [[package]] -name = "pallet-election-provider-support-benchmarking" +name = "pallet-nomination-pools-runtime-api" version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93475989d2f6900caf8f1c847a55d909295c156525a7510c5f1dde176ec7c714" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-system 36.1.0", + "pallet-nomination-pools", "parity-scale-codec", - "sp-npos-elections 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api", ] [[package]] -name = "pallet-election-provider-support-benchmarking" +name = "pallet-offences" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "sp-npos-elections 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-elections-phragmen" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-support", + "frame-system", "log", + "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-npos-elections 35.0.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", + "serde", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-fast-unstake" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9155f4f762513e0287320411415c76a647152799ad33db1785c9b71c36a14575" +name = "pallet-offences-benchmarking" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "docify", - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "log", + "pallet-babe", + "pallet-balances", + "pallet-grandpa", + "pallet-im-online", + "pallet-offences", + "pallet-session", + "pallet-staking", "parity-scale-codec", "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-fast-unstake" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-parameters" +version = "0.10.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "docify", - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-grandpa" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8244b686d5cae6a8af1557ed0f49db08f812f0e7942a8d2da554b4da8a69daf0" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-authorship 36.0.0", - "pallet-session 36.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", + "paste", "scale-info", - "sp-application-crypto 37.0.0", - "sp-consensus-grandpa 20.0.0", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "sp-core", + "sp-runtime", ] [[package]] -name = "pallet-grandpa" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-preimage" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-authorship 39.0.0", - "pallet-session 39.0.0", "parity-scale-codec", "scale-info", - "sp-application-crypto 39.0.0", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-identity" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4555795a3e0e3aa49ea432b7afecb9c71a7db8793a99c68bd8dd3a52a12571f3" +name = "pallet-proxy" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "enumflags2", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", "parity-scale-codec", + "polkadot-sdk-frame", "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "pallet-identity" +name = "pallet-ranked-collective" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "enumflags2", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-im-online" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa761292e95020304b58b50e5187f8bb82f557c8c2d013e3c96ab41d611873b0" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-authorship 36.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 37.0.0", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-im-online" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", "log", - "pallet-authorship 39.0.0", - "parity-scale-codec", - "scale-info", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-indices" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b183880ad5efae06afe6066e76f2bac5acf67f34b3cfab7352ceec46accf4b45" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-keyring 38.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-indices" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-recovery" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-runtime 40.1.0", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-ismp" -version = "1.15.3" -source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" +name = "pallet-referenda" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "anyhow", - "fortuples", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "ismp", + "assert_matches", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "serde", - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-mmr-primitives 35.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "pallet-ismp-rpc" -version = "1.15.3" -source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" -dependencies = [ - "anyhow", - "frame-system 39.1.0", - "hash-db", - "hex", - "hex-literal", - "ismp", - "jsonrpsee 0.24.8", - "pallet-ismp", - "pallet-ismp-runtime-api", - "parity-scale-codec", - "sc-client-api", - "sc-rpc", - "serde", - "serde_json", - "sp-api 35.0.0", - "sp-blockchain", - "sp-core 35.0.0", - "sp-mmr-primitives 35.0.0", - "sp-runtime 40.1.0", - "sp-storage 22.0.0", - "sp-trie 38.0.0", - "tower", - "trie-db", -] - -[[package]] -name = "pallet-ismp-runtime-api" -version = "1.15.3" -source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" -dependencies = [ - "ismp", - "pallet-ismp", - "parity-scale-codec", - "primitive-types 0.13.1", - "serde", - "sp-api 35.0.0", - "sp-mmr-primitives 35.0.0", -] - -[[package]] -name = "pallet-membership" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-message-queue" -version = "39.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e565e64035684e8768e00e54aaa4a0c8e69c83703899d74e8de57ed5fde399da" -dependencies = [ - "environmental", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-message-queue" -version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-revive" +version = "0.3.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ + "bitflags 1.3.2", + "derive_more 0.99.19", "environmental", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "pallet-migrations" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "cfg-if", - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "ethereum-types", + "frame-benchmarking", + "frame-support", + "frame-system", + "hex", "impl-trait-for-tuples", + "jsonrpsee 0.24.9", "log", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-mmr" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf8ccec82827413f031689fef4c714fdb0213d58c7a6e208d33f5eab80483770" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-mmr-primitives 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-mmr" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-mmr-primitives 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-motion" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-balances 40.0.0", - "pallet-collective", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-multisig" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be58483d827602eb8353ecf36aed65c857f0974db5d27981831e5ebf853040bd" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-multisig" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "log", - "parity-scale-codec", - "polkadot-sdk-frame", - "scale-info", -] - -[[package]] -name = "pallet-nft-fractionalization" -version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-assets 41.0.0", - "pallet-nfts 33.0.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-nfts" -version = "30.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e1cd476809de3840e19091a083d5a79178af1f108ad489706e1f9e04c8836a4" -dependencies = [ - "enumflags2", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-nfts" -version = "31.0.0" -dependencies = [ - "enumflags2", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-balances 40.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-nfts" -version = "33.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "enumflags2", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-nfts-runtime-api" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0ca7a0446d2d3c27f726a016c6366218df2e0bfef9ed35886b252cfa9757f6c" -dependencies = [ - "pallet-nfts 30.0.0", - "parity-scale-codec", - "sp-api 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-nfts-runtime-api" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "pallet-nfts 33.0.0", - "parity-scale-codec", - "sp-api 35.0.0", -] - -[[package]] -name = "pallet-nis" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-nomination-pools" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f8c994eb7298a394b58f98afd520b521b5d46f6f39eade4657eeaac9962471" -dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-balances 37.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-nomination-pools" -version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-balances 40.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "pallet-nomination-pools-benchmarking" -version = "34.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ee599f2861e55fc6113c01e9b14d6e85fda46bac36a906b5dd5a951fa0455c" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "pallet-bags-list 35.0.0", - "pallet-delegated-staking 3.0.0", - "pallet-nomination-pools 33.0.0", - "pallet-staking 36.0.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", - "sp-runtime-interface 28.0.0", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-nomination-pools-benchmarking" -version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-bags-list 38.0.0", - "pallet-delegated-staking 6.0.0", - "pallet-nomination-pools 37.0.0", - "pallet-staking 39.0.1", - "parity-scale-codec", - "scale-info", - "sp-runtime 40.1.0", - "sp-runtime-interface 29.0.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-nomination-pools-runtime-api" -version = "31.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2906899d8f029780f0d9da77b90ae86f42bcfda5ac402c931406cd84852012ed" -dependencies = [ - "pallet-nomination-pools 33.0.0", - "parity-scale-codec", - "sp-api 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-nomination-pools-runtime-api" -version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "pallet-nomination-pools 37.0.0", - "parity-scale-codec", - "sp-api 35.0.0", -] - -[[package]] -name = "pallet-offences" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4859e7bb2af46d2e0f137c2f777adf39f0e5d4d188226158d599f1cfcfb76b9e" -dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-balances 37.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-offences" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-balances 40.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-offences-benchmarking" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4351b0edafcdf3240f0471c638b39d2c981bde9d17c0172536a0aa3b7c3097ef" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-babe 36.0.0", - "pallet-balances 37.0.0", - "pallet-grandpa 36.0.0", - "pallet-im-online 35.0.0", - "pallet-offences 35.0.0", - "pallet-session 36.0.0", - "pallet-staking 36.0.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-offences-benchmarking" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-babe 39.0.0", - "pallet-balances 40.0.0", - "pallet-grandpa 39.0.0", - "pallet-im-online 38.0.0", - "pallet-offences 38.0.0", - "pallet-session 39.0.0", - "pallet-staking 39.0.1", - "parity-scale-codec", - "scale-info", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-parameters" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58d9a81a93202105a660e6aa3d3f81638bdd109ca0497f3e528529cd52d034db" -dependencies = [ - "docify", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-parameters" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-preimage" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ac726abc5b1bcd6c8f783514b8e1a48be32c7d15e0b263e4bc28cc1e4e7763" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-preimage" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-proxy" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4e12680e176607815a78a0cd10a52af50790292cb950404f30a885e2a7229e9" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-proxy" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "parity-scale-codec", - "polkadot-sdk-frame", - "scale-info", -] - -[[package]] -name = "pallet-ranked-collective" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-recovery" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-referenda" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2c906a9c4573eb58de4134ec7180bf12c6769df2b9859dae8adcbc5fce78add" -dependencies = [ - "assert_matches", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-referenda" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "assert_matches", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-revive" -version = "0.3.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bitflags 1.3.2", - "derive_more 0.99.19", - "environmental", - "ethereum-types 0.15.1", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "hex", - "impl-trait-for-tuples", - "jsonrpsee 0.24.8", - "log", - "pallet-balances 40.0.0", - "pallet-revive-fixtures", - "pallet-revive-proc-macro", - "pallet-revive-uapi", - "pallet-transaction-payment 39.0.0", - "parity-scale-codec", - "paste", - "polkavm 0.13.0", - "rlp 0.6.1", - "scale-info", - "serde", - "sp-api 35.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "subxt-signer", -] - -[[package]] -name = "pallet-revive-fixtures" -version = "0.3.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "anyhow", - "frame-system 39.1.0", - "log", - "parity-wasm", - "polkavm-linker 0.14.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "tempfile", - "toml 0.8.19", -] - -[[package]] -name = "pallet-revive-proc-macro" -version = "0.1.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "pallet-revive-uapi" -version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "bitflags 1.3.2", + "pallet-balances", + "pallet-revive-fixtures", + "pallet-revive-proc-macro", + "pallet-revive-uapi", + "pallet-transaction-payment", "parity-scale-codec", "paste", - "polkavm-derive 0.14.0", - "scale-info", -] - -[[package]] -name = "pallet-root-testing" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-scheduler" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b170d6aa191197d3f50b1193925546972ffc394376ead4d2739eb40909b73c85" -dependencies = [ - "docify", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-scheduler" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "pallet-session" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c92b24c911c2cfa5351616edc7f2f93427ea6f4f95efdb13f0f5d51997939c3" -dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", - "log", - "pallet-timestamp 35.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-staking 33.0.0", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", -] - -[[package]] -name = "pallet-session" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "impl-trait-for-tuples", - "log", - "pallet-timestamp 38.0.0", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", - "sp-state-machine 0.44.0", - "sp-trie 38.0.0", -] - -[[package]] -name = "pallet-session-benchmarking" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd02aaf5f10734670346677042ece94fae20dcd5436eafeb9b429d8d6d5b6385" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "pallet-session 36.0.0", - "pallet-staking 36.0.0", - "parity-scale-codec", - "rand", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-session-benchmarking" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-session 39.0.0", - "pallet-staking 39.0.1", - "parity-scale-codec", - "rand", - "sp-runtime 40.1.0", - "sp-session 37.0.0", -] - -[[package]] -name = "pallet-society" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "rand_chacha", - "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-staking" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbebdb060417654f215fc6f03675e5f44cfc83837d9e523e1b8fd9a4a2e1bdc2" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-authorship 36.0.0", - "pallet-session 36.0.0", - "parity-scale-codec", - "rand_chacha", - "scale-info", - "serde", - "sp-application-crypto 37.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-staking" -version = "39.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-authorship 39.0.0", - "pallet-session 39.0.0", - "parity-scale-codec", - "rand_chacha", - "scale-info", - "serde", - "sp-application-crypto 39.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-staking-reward-curve" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db5e6b1d8ee9d3f6894c5abd8c3e17737ed738c9854f87bfd16239741b7f4d5d" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "pallet-staking-reward-fn" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "988a7ebeacc84d4bdb0b12409681e956ffe35438447d8f8bc78db547cffb6ebc" -dependencies = [ - "log", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-staking-reward-fn" -version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "log", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "pallet-staking-runtime-api" -version = "21.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3350ef1795b832f4adc464e88fb6d44827bd3f98701b0b0bbee495267b444a92" -dependencies = [ - "parity-scale-codec", - "sp-api 33.0.0", - "sp-staking 33.0.0", -] - -[[package]] -name = "pallet-staking-runtime-api" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "parity-scale-codec", - "sp-api 35.0.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "pallet-state-trie-migration" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e07f8626f4ff62ac79d6ad0bd01fab7645897ce35706ddb95fa084e75be9306d" -dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-state-trie-migration" -version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-sudo" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bd2a8797c1bb3d3897b4f87a7716111da5eeb8561345277b6e6d70349ec8b35" -dependencies = [ - "docify", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pallet-sudo" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-timestamp" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae789d344be857679b0b98b28a67c747119724847f81d704d3fd03ee13fb6841" -dependencies = [ - "docify", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 21.0.0", - "sp-timestamp 33.0.0", -] - -[[package]] -name = "pallet-timestamp" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-storage 22.0.0", - "sp-timestamp 35.0.0", -] - -[[package]] -name = "pallet-tips" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-treasury 38.0.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "pallet-transaction-payment" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fb6114223c8d967c3c2f21cbc845e8ea604ff7e21a8e59d119d5a9257ba886" -dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", + "polkavm 0.13.0", + "rlp", "scale-info", "serde", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-weights", + "staging-xcm", + "staging-xcm-builder", + "subxt-signer", ] [[package]] -name = "pallet-transaction-payment" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-revive-fixtures" +version = "0.3.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "anyhow", + "frame-system", + "log", + "parity-wasm", + "polkavm-linker 0.14.0", + "sp-core", + "sp-io", + "sp-runtime", + "tempfile", + "toml 0.8.20", ] [[package]] -name = "pallet-transaction-payment-rpc" -version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-revive-proc-macro" +version = "0.1.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "jsonrpsee 0.24.8", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", - "parity-scale-codec", - "sp-api 35.0.0", - "sp-blockchain", - "sp-core 35.0.0", - "sp-rpc", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4bad1700ad7eb5ab254189e1df894d1d16b3626a3c4b9c45259ec4d9efc262c" +name = "pallet-revive-uapi" +version = "0.2.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "pallet-transaction-payment 36.0.0", + "bitflags 1.3.2", "parity-scale-codec", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "paste", + "polkavm-derive 0.14.0", + "scale-info", ] [[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-root-testing" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "pallet-transaction-payment 39.0.0", + "frame-support", + "frame-system", "parity-scale-codec", - "sp-api 35.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-treasury" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c502615bb4fdd02856a131cb2a612ad40c26435ec938f65f11cae4ff230812b" +name = "pallet-scheduler" +version = "40.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "docify", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", - "pallet-balances 37.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", "parity-scale-codec", "scale-info", - "serde", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io", + "sp-runtime", + "sp-weights", ] [[package]] -name = "pallet-treasury" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-session" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "docify", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-balances 40.0.0", + "pallet-timestamp", "parity-scale-codec", "scale-info", - "serde", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-state-machine", + "sp-trie", ] [[package]] -name = "pallet-uniques" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a59e8599a8c19908e934645f845b5cb546cef1f08745319db7e5b9c24f9e0e4" +name = "pallet-session-benchmarking" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-session", + "pallet-staking", "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.8.5", + "sp-runtime", + "sp-session", ] [[package]] -name = "pallet-uniques" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-society" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", + "rand_chacha 0.3.1", "scale-info", - "sp-runtime 40.1.0", + "sp-arithmetic", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-utility" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3238fe6ad00da6a137be115904c39cab97eb5c7f03da0bb1a20de1bef03f0c71" +name = "pallet-staking" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", "parity-scale-codec", + "rand_chacha 0.3.1", "scale-info", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "sp-application-crypto", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] -name = "pallet-utility" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-staking-reward-fn" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", + "log", + "sp-arithmetic", ] [[package]] -name = "pallet-vesting" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78f7f0f4fe5e1d851e85d81e5e73b6f929f0c35af786ce8be9c9e3363717c136" +name = "pallet-staking-runtime-api" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api", + "sp-staking", ] [[package]] -name = "pallet-vesting" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-state-trie-migration" +version = "43.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 40.1.0", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-whitelist" -version = "35.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4f27640279229eb73fde0cb06e98b799305e6b0bc724f4dfbef2001ab4ad00" +name = "pallet-sudo" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-api 33.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-whitelist" +name = "pallet-timestamp" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", "parity-scale-codec", "scale-info", - "sp-api 35.0.0", - "sp-runtime 40.1.0", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-storage", + "sp-timestamp", ] [[package]] -name = "pallet-xcm" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7409458b7fedc5c7d46459da154ccc2dc22a843ce08e8ab6c1743ef5cf972c" +name = "pallet-tips" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bounded-collections", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-balances 37.0.0", + "pallet-treasury", "parity-scale-codec", "scale-info", "serde", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", - "xcm-runtime-apis 0.2.0", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-xcm" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-transaction-payment" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bounded-collections", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-balances 40.0.0", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "tracing", - "xcm-runtime-apis 0.5.0", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-xcm-benchmarks" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f177a171203cc0bec3cff1bdd5d3b926abfbd0ecf347e044b147194e664f717" +name = "pallet-transaction-payment-rpc" +version = "42.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", + "jsonrpsee 0.24.9", + "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "scale-info", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-weights", ] [[package]] -name = "pallet-xcm-benchmarks" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-transaction-payment-rpc-runtime-api" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" +dependencies = [ + "pallet-transaction-payment", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-weights", +] + +[[package]] +name = "pallet-treasury" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", "log", + "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", + "serde", + "sp-core", + "sp-runtime", ] [[package]] -name = "pallet-xcm-bridge-hub" -version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-utility" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bp-messages 0.19.0", - "bp-runtime 0.19.0", - "bp-xcm-bridge-hub", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", - "pallet-bridge-messages", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "pallet-xcm-bridge-hub-router" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f48bd38d4061a51f263f4c08021e66100e16cbda9978fba163d2544637b31dab" +name = "pallet-vesting" +version = "39.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bp-xcm-bridge-hub-router 0.13.0", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", + "sp-runtime", ] [[package]] -name = "pallet-xcm-bridge-hub-router" -version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-whitelist" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "bp-xcm-bridge-hub-router 0.15.0", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "log", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", + "sp-api", + "sp-runtime", ] [[package]] -name = "parachains-common" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9319e656eebdf161666e54a4d8e24f73137f702f01600247f7be650bc4d46167" +name = "pallet-xcm" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "cumulus-primitives-core 0.14.0", - "cumulus-primitives-utility 0.15.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "log", - "pallet-asset-tx-payment 36.0.0", - "pallet-assets 37.0.0", - "pallet-authorship 36.0.0", - "pallet-balances 37.0.0", - "pallet-collator-selection 17.0.0", - "pallet-message-queue 39.0.2", - "pallet-xcm 15.0.0", + "bounded-collections", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-balances", "parity-scale-codec", - "polkadot-primitives 14.0.0", "scale-info", - "sp-consensus-aura 0.39.0", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-parachain-info 0.15.0", - "staging-xcm 14.0.3", - "staging-xcm-executor 15.0.0", - "substrate-wasm-builder 23.0.0", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "tracing", + "xcm-runtime-apis", ] [[package]] -name = "parachains-common" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "pallet-xcm-benchmarks" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-utility 0.18.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "pallet-asset-tx-payment 39.0.0", - "pallet-assets 41.0.0", - "pallet-authorship 39.0.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", - "pallet-message-queue 42.0.0", - "pallet-xcm 18.0.0", "parity-scale-codec", - "polkadot-primitives 17.0.0", "scale-info", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "staging-parachain-info 0.18.0", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", + "sp-io", + "sp-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] -name = "parachains-runtimes-test-utils" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +name = "parachains-common" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-parachain-inherent 0.17.0", - "cumulus-test-relay-sproof-builder", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", - "pallet-session 39.0.0", - "pallet-timestamp 38.0.0", - "pallet-xcm 18.0.0", + "cumulus-primitives-core", + "cumulus-primitives-utility", + "frame-support", + "frame-system", + "log", + "pallet-asset-tx-payment", + "pallet-assets", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", + "pallet-message-queue", + "pallet-xcm", "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-parachain-info 0.18.0", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", + "polkadot-primitives", + "scale-info", + "sp-consensus-aura", + "sp-core", + "sp-io", + "sp-runtime", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-executor", + "substrate-wasm-builder", ] [[package]] @@ -11525,18 +8792,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" dependencies = [ "bitcoin_hashes", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "serde", "unicode-normalization", ] -[[package]] -name = "parity-bytes" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b56e3a2420138bdb970f84dfb9c774aea80fa0e7371549eedec0d80c209c67" - [[package]] name = "parity-db" version = "0.4.13" @@ -11552,7 +8813,7 @@ dependencies = [ "lz4", "memmap2 0.5.10", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "siphasher 0.3.11", "snap", "winapi", @@ -11560,58 +8821,31 @@ dependencies = [ [[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.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.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "parity-util-mem" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" -dependencies = [ - "cfg-if", - "ethereum-types 0.14.1", - "hashbrown 0.12.3", - "impl-trait-for-tuples", - "lru 0.8.1", - "parity-util-mem-derive", - "parking_lot 0.12.3", - "primitive-types 0.12.2", - "smallvec", - "winapi", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2", - "syn 1.0.109", - "synstructure 0.12.6", + "syn 2.0.100", ] [[package]] @@ -11669,7 +8903,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.8", + "redox_syscall 0.5.11", "smallvec", "windows-targets 0.52.6", ] @@ -11680,122 +8914,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" -[[package]] -name = "paseo-runtime" -version = "1.3.4" -source = "git+https://github.com/paseo-network/runtimes?tag=v1.3.4#313b81aa2b2cb076b4f99c9b2bea040a8bcf709f" -dependencies = [ - "binary-merkle-tree 15.0.1", - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-executive 36.0.0", - "frame-metadata-hash-extension 0.4.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "frame-system-benchmarking 36.0.0", - "frame-system-rpc-runtime-api 33.0.0", - "frame-try-runtime 0.42.0", - "hex-literal", - "log", - "pallet-asset-rate 15.0.0", - "pallet-authority-discovery 36.0.0", - "pallet-authorship 36.0.0", - "pallet-babe 36.0.0", - "pallet-bags-list 35.0.0", - "pallet-balances 37.0.0", - "pallet-beefy 36.0.0", - "pallet-beefy-mmr 36.0.0", - "pallet-bounties 35.0.0", - "pallet-broker 0.15.0", - "pallet-child-bounties 35.0.0", - "pallet-conviction-voting 36.0.0", - "pallet-election-provider-multi-phase 35.0.0", - "pallet-election-provider-support-benchmarking 35.0.0", - "pallet-fast-unstake 35.0.0", - "pallet-grandpa 36.0.0", - "pallet-indices 36.0.0", - "pallet-message-queue 39.0.2", - "pallet-mmr 35.0.0", - "pallet-multisig 36.0.0", - "pallet-nomination-pools 33.0.0", - "pallet-nomination-pools-benchmarking 34.0.0", - "pallet-nomination-pools-runtime-api 31.0.0", - "pallet-offences 35.0.0", - "pallet-offences-benchmarking 36.0.0", - "pallet-parameters 0.7.0", - "pallet-preimage 36.0.0", - "pallet-proxy 36.0.0", - "pallet-referenda 36.0.0", - "pallet-scheduler 37.0.0", - "pallet-session 36.0.0", - "pallet-session-benchmarking 36.0.0", - "pallet-staking 36.0.0", - "pallet-staking-reward-curve", - "pallet-staking-reward-fn 22.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pallet-staking-runtime-api 21.0.0", - "pallet-state-trie-migration 37.0.0", - "pallet-sudo 36.0.0", - "pallet-timestamp 35.0.0", - "pallet-transaction-payment 36.0.0", - "pallet-transaction-payment-rpc-runtime-api 36.0.0", - "pallet-treasury 35.0.0", - "pallet-utility 36.0.0", - "pallet-vesting 36.0.0", - "pallet-whitelist 35.0.0", - "pallet-xcm 15.0.0", - "pallet-xcm-benchmarks 15.0.0", - "parity-scale-codec", - "paseo-runtime-constants", - "polkadot-parachain-primitives 13.0.0", - "polkadot-primitives 14.0.0", - "polkadot-runtime-common 15.0.0", - "polkadot-runtime-parachains 15.0.4", - "relay-common", - "scale-info", - "serde_json", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-authority-discovery 33.0.0", - "sp-block-builder 33.0.0", - "sp-consensus-babe 0.39.0", - "sp-consensus-beefy 20.0.0", - "sp-core 34.0.0", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-genesis-builder 0.14.0", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-npos-elections 33.0.0", - "sp-offchain 33.0.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 21.0.0", - "sp-transaction-pool 33.0.0", - "sp-version 36.0.0", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", - "substrate-wasm-builder 23.0.0", - "xcm-runtime-apis 0.2.0", -] - -[[package]] -name = "paseo-runtime-constants" -version = "1.0.0" -source = "git+https://github.com/paseo-network/runtimes?tag=v1.3.4#313b81aa2b2cb076b4f99c9b2bea040a8bcf709f" -dependencies = [ - "frame-support 36.0.1", - "polkadot-primitives 14.0.0", - "polkadot-runtime-common 15.0.0", - "smallvec", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm-builder 15.0.0", -] - [[package]] name = "password-hash" version = "0.5.0" @@ -11803,7 +8921,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ "base64ct", - "rand_core", + "rand_core 0.6.4", "subtle 2.6.1", ] @@ -11846,20 +8964,20 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.15" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" +checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" dependencies = [ "memchr", - "thiserror 2.0.11", + "thiserror 2.0.12", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.15" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" +checksum = "d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5" dependencies = [ "pest", "pest_generator", @@ -11867,22 +8985,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.15" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" +checksum = "db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "pest_meta" -version = "2.7.15" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" +checksum = "7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0" dependencies = [ "once_cell", "pest", @@ -11895,28 +9013,38 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "fixedbitset", - "indexmap 2.7.1", + "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 = "pin-project" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -11954,14 +9082,14 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", "futures", @@ -11972,15 +9100,15 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-primitives", + "rand 0.8.5", "tracing-gum", ] [[package]] name = "polkadot-availability-bitfield-distribution" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "always-assert", "futures", @@ -11988,15 +9116,15 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-primitives", + "rand 0.8.5", "tracing-gum", ] [[package]] name = "polkadot-availability-distribution" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "derive_more 0.99.19", "fatality", @@ -12007,12 +9135,12 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-primitives", + "rand 0.8.5", "sc-network", "schnellru", - "sp-core 35.0.0", - "sp-keystore 0.41.0", + "sp-core", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -12020,7 +9148,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "fatality", @@ -12031,8 +9159,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-primitives", + "rand 0.8.5", "sc-network", "schnellru", "thiserror 1.0.69", @@ -12052,8 +9180,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "22.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "cfg-if", "clap", @@ -12069,11 +9197,11 @@ dependencies = [ "sc-storage-monitor", "sc-sysinfo", "sc-tracing", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime 40.1.0", + "sp-core", + "sp-io", + "sp-keyring", + "sp-maybe-compressed-blob", + "sp-runtime", "substrate-build-script-utils", "thiserror 1.0.69", ] @@ -12081,7 +9209,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", "fatality", @@ -12091,61 +9219,48 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "schnellru", - "sp-core 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-keystore", + "sp-runtime", "thiserror 1.0.69", "tokio-util", "tracing-gum", ] -[[package]] -name = "polkadot-core-primitives" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c72ee63bcf920f963cd7ac066759b0b649350c8ab3781a85a6aac87b1488f2" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "polkadot-core-primitives" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", ] [[package]] name = "polkadot-dispute-distribution" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "derive_more 0.99.19", "fatality", "futures", "futures-timer", - "indexmap 2.7.1", + "indexmap 2.9.0", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-network", "schnellru", - "sp-application-crypto 39.0.0", - "sp-keystore 0.41.0", + "sp-application-crypto", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -12153,43 +9268,43 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "reed-solomon-novelpoly", - "sp-core 35.0.0", - "sp-trie 38.0.0", + "sp-core", + "sp-trie", "thiserror 1.0.69", ] [[package]] name = "polkadot-gossip-support" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "futures-timer", "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", - "rand", - "rand_chacha", + "polkadot-primitives", + "rand 0.8.5", + "rand_chacha 0.3.1", "sc-network", "sc-network-common", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", + "sp-application-crypto", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-keystore 0.41.0", + "sp-keystore", "tracing-gum", ] [[package]] name = "polkadot-network-bridge" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "always-assert", "async-trait", @@ -12202,7 +9317,7 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-network", "sp-consensus", "thiserror 1.0.69", @@ -12212,7 +9327,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "parity-scale-codec", @@ -12220,10 +9335,10 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "schnellru", - "sp-core 35.0.0", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-core", + "sp-maybe-compressed-blob", "thiserror 1.0.69", "tracing-gum", ] @@ -12231,7 +9346,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "bitvec", @@ -12246,17 +9361,17 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 17.0.0", - "rand", - "rand_chacha", - "rand_core", + "polkadot-primitives", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "sc-keystore", "schnellru", "schnorrkel 0.11.4", - "sp-application-crypto 39.0.0", + "sp-application-crypto", "sp-consensus", - "sp-consensus-slots 0.41.0", - "sp-runtime 40.1.0", + "sp-consensus-slots", + "sp-runtime", "thiserror 1.0.69", "tracing-gum", ] @@ -12264,7 +9379,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting-parallel" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -12278,15 +9393,15 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 17.0.0", - "rand", - "rand_chacha", - "rand_core", + "polkadot-primitives", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "sc-keystore", - "sp-application-crypto 39.0.0", + "sp-application-crypto", "sp-consensus", - "sp-consensus-slots 0.41.0", - "sp-runtime 40.1.0", + "sp-consensus-slots", + "sp-runtime", "thiserror 1.0.69", "tracing-gum", ] @@ -12294,7 +9409,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", "futures", @@ -12306,7 +9421,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sp-consensus", "thiserror 1.0.69", "tracing-gum", @@ -12315,7 +9430,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", "fatality", @@ -12324,11 +9439,11 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-statement-table", "schnellru", - "sp-keystore 0.41.0", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -12336,13 +9451,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", - "sp-keystore 0.41.0", + "polkadot-primitives", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", "wasm-timer", @@ -12350,8 +9465,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -12363,17 +9478,17 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "sp-application-crypto 39.0.0", - "sp-keystore 0.41.0", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sp-application-crypto", + "sp-keystore", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-api" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "polkadot-node-metrics", @@ -12387,7 +9502,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "futures-timer", @@ -12396,7 +9511,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "thiserror 1.0.69", "tracing-gum", ] @@ -12404,7 +9519,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "fatality", "futures", @@ -12413,7 +9528,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-keystore", "schnellru", "thiserror 1.0.69", @@ -12423,16 +9538,16 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", "futures-timer", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sp-blockchain", - "sp-inherents 35.0.0", + "sp-inherents", "thiserror 1.0.69", "tracing-gum", ] @@ -12440,13 +9555,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "fatality", "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "thiserror 1.0.69", "tracing-gum", ] @@ -12454,7 +9569,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", "fatality", @@ -12463,7 +9578,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "schnellru", "thiserror 1.0.69", "tracing-gum", @@ -12471,8 +9586,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "always-assert", "array-bytes", @@ -12482,16 +9597,16 @@ dependencies = [ "futures-timer", "parity-scale-codec", "pin-project", - "polkadot-core-primitives 16.0.0", + "polkadot-core-primitives", "polkadot-node-core-pvf-common", "polkadot-node-metrics", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-parachain-primitives", + "polkadot-primitives", + "rand 0.8.5", "slotmap", - "sp-core 35.0.0", + "sp-core", "strum 0.26.3", "tempfile", "thiserror 1.0.69", @@ -12502,23 +9617,23 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 17.0.0", - "sp-keystore 0.41.0", + "polkadot-primitives", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-common" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "cpu-time", "futures", @@ -12526,47 +9641,47 @@ dependencies = [ "libc", "nix 0.28.0", "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", + "polkadot-parachain-primitives", + "polkadot-primitives", "sc-executor", "sc-executor-common", "sc-executor-wasmtime", "seccompiler", - "sp-core 35.0.0", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-externalities 0.30.0", - "sp-io 39.0.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-externalities", + "sp-io", + "sp-tracing", "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-node-core-runtime-api" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "schnellru", - "sp-consensus-babe 0.41.0", + "sp-consensus-babe", "tracing-gum", ] [[package]] name = "polkadot-node-metrics" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bs58", "futures", "futures-timer", "log", "parity-scale-codec", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "prioritized-metered-channel", "sc-cli", "sc-service", @@ -12578,7 +9693,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -12589,12 +9704,12 @@ dependencies = [ "hex", "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives 17.0.0", - "rand", + "polkadot-primitives", + "rand 0.8.5", "sc-authority-discovery", "sc-network", "sc-network-types", - "sp-runtime 40.1.0", + "sp-runtime", "strum 0.26.3", "thiserror 1.0.69", "tracing-gum", @@ -12602,26 +9717,26 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", "bounded-vec", "futures", "futures-timer", "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", + "polkadot-parachain-primitives", + "polkadot-primitives", "sc-keystore", "schnorrkel 0.11.4", "serde", - "sp-application-crypto 39.0.0", - "sp-consensus-babe 0.41.0", - "sp-consensus-slots 0.41.0", - "sp-core 35.0.0", - "sp-keystore 0.41.0", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime 40.1.0", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-keystore", + "sp-maybe-compressed-blob", + "sp-runtime", "thiserror 1.0.69", "zstd 0.12.4", ] @@ -12629,7 +9744,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", @@ -12637,8 +9752,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "bitvec", @@ -12648,26 +9763,26 @@ dependencies = [ "orchestra", "polkadot-node-network-protocol", "polkadot-node-primitives", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "polkadot-statement-table", "sc-client-api", "sc-network", "sc-network-types", "sc-transaction-pool-api", "smallvec", - "sp-api 35.0.0", - "sp-authority-discovery 35.0.0", + "sp-api", + "sp-authority-discovery", "sp-blockchain", - "sp-consensus-babe 0.41.0", - "sp-runtime 40.1.0", + "sp-consensus-babe", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "polkadot-node-subsystem-util" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "derive_more 0.99.19", @@ -12687,22 +9802,22 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "prioritized-metered-channel", - "rand", + "rand 0.8.5", "sc-client-api", "schnellru", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", - "sp-keystore 0.41.0", + "sp-application-crypto", + "sp-core", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] [[package]] name = "polkadot-overseer" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -12713,113 +9828,67 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem-types", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-client-api", - "sp-api 35.0.0", - "sp-core 35.0.0", + "sp-api", + "sp-core", "tikv-jemalloc-ctl", "tracing-gum", ] -[[package]] -name = "polkadot-parachain-primitives" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61070d0ff28f596890def0e0d03c231860796130b2a43e293106fa86a50c9a9" -dependencies = [ - "bounded-collections", - "derive_more 0.99.19", - "parity-scale-codec", - "polkadot-core-primitives 14.0.0", - "scale-info", - "serde", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "polkadot-parachain-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bounded-collections", "derive_more 0.99.19", "parity-scale-codec", - "polkadot-core-primitives 16.0.0", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "polkadot-primitives" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a4879609f4340138930c3c7313256941104a3ff6f7ecb2569d15223da9b35b2" -dependencies = [ - "bitvec", - "hex-literal", - "log", - "parity-scale-codec", - "polkadot-core-primitives 14.0.0", - "polkadot-parachain-primitives 13.0.0", + "polkadot-core-primitives", "scale-info", "serde", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-authority-discovery 33.0.0", - "sp-consensus-slots 0.39.0", - "sp-core 34.0.0", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-keystore 0.40.0", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-runtime", + "sp-weights", ] [[package]] name = "polkadot-primitives" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", "hex-literal", "log", "parity-scale-codec", - "polkadot-core-primitives 16.0.0", - "polkadot-parachain-primitives 15.0.0", + "polkadot-core-primitives", + "polkadot-parachain-primitives", "scale-info", "serde", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-authority-discovery 35.0.0", - "sp-consensus-slots 0.41.0", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-staking", + "sp-std", "thiserror 1.0.69", ] [[package]] name = "polkadot-rpc" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "mmr-rpc", "pallet-transaction-payment-rpc", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "sc-chain-spec", "sc-client-api", "sc-consensus-babe", @@ -12833,314 +9902,183 @@ dependencies = [ "sc-rpc-spec-v2", "sc-sync-state-rpc", "sc-transaction-pool-api", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-application-crypto", + "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-consensus-babe 0.41.0", - "sp-consensus-beefy 23.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-consensus-babe", + "sp-consensus-beefy", + "sp-keystore", + "sp-runtime", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] [[package]] name = "polkadot-runtime-common" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28fdcb41bb21c7b14d0341a9a17364ccc04ad34de05d41e7938cb03acbc11066" -dependencies = [ - "bitvec", - "frame-benchmarking 36.0.0", - "frame-election-provider-support 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", - "libsecp256k1", - "log", - "pallet-asset-rate 15.0.0", - "pallet-authorship 36.0.0", - "pallet-babe 36.0.0", - "pallet-balances 37.0.0", - "pallet-broker 0.15.0", - "pallet-election-provider-multi-phase 35.0.0", - "pallet-fast-unstake 35.0.0", - "pallet-identity 36.0.0", - "pallet-session 36.0.0", - "pallet-staking 36.0.0", - "pallet-staking-reward-fn 22.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pallet-timestamp 35.0.0", - "pallet-transaction-payment 36.0.0", - "pallet-treasury 35.0.0", - "pallet-vesting 36.0.0", - "parity-scale-codec", - "polkadot-primitives 14.0.0", - "polkadot-runtime-parachains 15.0.4", - "rustc-hex", - "scale-info", - "serde", - "serde_derive", - "slot-range-helper 14.0.0", - "sp-api 33.0.0", - "sp-core 34.0.0", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-npos-elections 33.0.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", - "staging-xcm-executor 15.0.0", - "static_assertions", -] - -[[package]] -name = "polkadot-runtime-common" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitvec", - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", "impl-trait-for-tuples", "libsecp256k1", "log", - "pallet-asset-rate 18.0.0", - "pallet-authorship 39.0.0", - "pallet-babe 39.0.0", - "pallet-balances 40.0.0", - "pallet-broker 0.18.0", - "pallet-election-provider-multi-phase 38.0.0", - "pallet-fast-unstake 38.0.0", - "pallet-identity 39.0.0", - "pallet-session 39.0.0", - "pallet-staking 39.0.1", - "pallet-staking-reward-fn 22.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "pallet-timestamp 38.0.0", - "pallet-transaction-payment 39.0.0", - "pallet-treasury 38.0.0", - "pallet-vesting 39.0.0", - "parity-scale-codec", - "polkadot-primitives 17.0.0", - "polkadot-runtime-parachains 18.0.1", + "pallet-asset-rate", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-broker", + "pallet-election-provider-multi-phase", + "pallet-fast-unstake", + "pallet-identity", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-fn", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-treasury", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-parachains", "rustc-hex", "scale-info", "serde", "serde_derive", - "slot-range-helper 16.0.0", - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-npos-elections 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", + "slot-range-helper", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-npos-elections", + "sp-runtime", + "sp-session", + "sp-staking", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", ] -[[package]] -name = "polkadot-runtime-constants" -version = "1.0.0" -source = "git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4#3b18d942c766c7f358da50608b44edbe218284a4" -dependencies = [ - "frame-support 36.0.1", - "polkadot-primitives 14.0.0", - "polkadot-runtime-common 15.0.0", - "smallvec", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm-builder 15.0.0", -] - -[[package]] -name = "polkadot-runtime-metrics" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac75b3fea8464e5681b44733ed11cf09e22ff1e956f6703b918b637bd40e7427" -dependencies = [ - "bs58", - "frame-benchmarking 36.0.0", - "parity-scale-codec", - "polkadot-primitives 14.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "polkadot-runtime-metrics" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bs58", - "frame-benchmarking 39.0.0", - "parity-scale-codec", - "polkadot-primitives 17.0.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "polkadot-runtime-parachains" -version = "15.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63f6a36ba61ca8f2c07b7061894f3a947d77189c66e992a2f23109eb01dfa9e0" -dependencies = [ - "bitflags 1.3.2", - "bitvec", - "derive_more 0.99.19", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", - "log", - "pallet-authority-discovery 36.0.0", - "pallet-authorship 36.0.0", - "pallet-babe 36.0.0", - "pallet-balances 37.0.0", - "pallet-broker 0.15.0", - "pallet-message-queue 39.0.2", - "pallet-session 36.0.0", - "pallet-staking 36.0.0", - "pallet-timestamp 35.0.0", - "pallet-vesting 36.0.0", + "frame-benchmarking", "parity-scale-codec", - "polkadot-core-primitives 14.0.0", - "polkadot-parachain-primitives 13.0.0", - "polkadot-primitives 14.0.0", - "polkadot-runtime-metrics 15.0.0", - "rand", - "rand_chacha", - "scale-info", - "serde", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-inherents 33.0.0", - "sp-io 37.0.0", - "sp-keystore 0.40.0", - "sp-runtime 38.0.1", - "sp-session 34.0.0", - "sp-staking 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-executor 15.0.0", - "static_assertions", - "xcm-procedural 10.0.1", + "polkadot-primitives", + "sp-tracing", ] [[package]] name = "polkadot-runtime-parachains" -version = "18.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bitflags 1.3.2", "bitvec", "derive_more 0.99.19", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-authority-discovery 39.0.0", - "pallet-authorship 39.0.0", - "pallet-babe 39.0.0", - "pallet-balances 40.0.0", - "pallet-broker 0.18.0", - "pallet-message-queue 42.0.0", - "pallet-mmr 39.0.0", - "pallet-session 39.0.0", - "pallet-staking 39.0.1", - "pallet-timestamp 38.0.0", - "pallet-vesting 39.0.0", - "parity-scale-codec", - "polkadot-core-primitives 16.0.0", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "polkadot-runtime-metrics 18.0.0", - "rand", - "rand_chacha", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-broker", + "pallet-message-queue", + "pallet-mmr", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-vesting", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-metrics", + "rand 0.8.5", + "rand_chacha 0.3.1", "scale-info", "serde", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "staging-xcm", + "staging-xcm-executor", "static_assertions", ] [[package]] name = "polkadot-sdk-frame" -version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.8.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "docify", - "frame-benchmarking 39.0.0", - "frame-executive 39.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-system-benchmarking 39.0.0", - "frame-system-rpc-runtime-api 35.0.0", - "frame-try-runtime 0.45.0", - "log", - "parity-scale-codec", - "scale-info", - "sp-api 35.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-block-builder 35.0.0", - "sp-consensus-aura 0.41.0", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-storage 22.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", + "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 = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "22.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "frame-benchmarking 39.0.0", + "frame-benchmarking", "frame-benchmarking-cli", - "frame-system 39.1.0", - "frame-system-rpc-runtime-api 35.0.0", + "frame-system", + "frame-system-rpc-runtime-api", "futures", "is_executable", "kvdb", "kvdb-rocksdb", "log", "mmr-gadget", - "pallet-transaction-payment 39.0.0", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", "parity-db", "parity-scale-codec", "parking_lot 0.12.3", @@ -13149,7 +10087,7 @@ dependencies = [ "polkadot-availability-distribution", "polkadot-availability-recovery", "polkadot-collator-protocol", - "polkadot-core-primitives 16.0.0", + "polkadot-core-primitives", "polkadot-dispute-distribution", "polkadot-gossip-support", "polkadot-network-bridge", @@ -13175,9 +10113,9 @@ dependencies = [ "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "polkadot-rpc", - "polkadot-runtime-parachains 18.0.1", + "polkadot-runtime-parachains", "polkadot-statement-distribution", "rococo-runtime", "sc-authority-discovery", @@ -13202,54 +10140,54 @@ dependencies = [ "sc-transaction-pool-api", "serde", "serde_json", - "sp-api 35.0.0", - "sp-authority-discovery 35.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-consensus-babe 0.41.0", - "sp-consensus-beefy 23.0.0", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-mmr-primitives 35.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-timestamp 35.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", + "sp-consensus-babe", + "sp-consensus-beefy", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-mmr-primitives", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-timestamp", + "sp-transaction-pool", + "sp-version", + "sp-weights", + "staging-xcm", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tracing-gum", "westend-runtime", - "xcm-runtime-apis 0.5.0", + "xcm-runtime-apis", ] [[package]] name = "polkadot-statement-distribution" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "arrayvec 0.7.6", "bitvec", "fatality", "futures", "futures-timer", - "indexmap 2.7.1", + "indexmap 2.9.0", "parity-scale-codec", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 17.0.0", - "sp-keystore 0.41.0", - "sp-staking 37.0.0", + "polkadot-primitives", + "sp-keystore", + "sp-staking", "thiserror 1.0.69", "tracing-gum", ] @@ -13257,11 +10195,11 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", - "polkadot-primitives 17.0.0", - "sp-core 35.0.0", + "polkadot-primitives", + "sp-core", "tracing-gum", ] @@ -13361,7 +10299,7 @@ dependencies = [ "polkavm-common 0.9.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -13373,7 +10311,7 @@ dependencies = [ "polkavm-common 0.14.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -13383,7 +10321,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl 0.9.0", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -13393,7 +10331,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b569754b15060d03000c09e3bf11509d527f60b75d79b4c30c3625b5071d9702" dependencies = [ "polkavm-derive-impl 0.14.0", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -13492,65 +10430,26 @@ dependencies = [ "universal-hash", ] -[[package]] -name = "pop-api" -version = "0.0.0" -dependencies = [ - "bitflags 1.3.2", - "enumflags2", - "ink", - "pop-primitives", - "sp-io 38.0.0", -] - -[[package]] -name = "pop-api-integration-tests" -version = "0.1.0" -dependencies = [ - "contract-build", - "env_logger 0.11.6", - "frame-support 39.0.0", - "frame-system 39.1.0", - "ismp", - "log", - "pallet-api", - "pallet-assets 41.0.0", - "pallet-balances 40.0.0", - "pallet-contracts", - "pallet-ismp", - "pallet-nfts 31.0.0", - "pallet-xcm 18.0.0", - "parity-scale-codec", - "pop-api", - "pop-primitives", - "pop-runtime-devnet", - "pop-runtime-testnet", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", -] - [[package]] name = "pop-chain-extension" version = "0.1.0" dependencies = [ "contract-build", - "env_logger 0.11.6", - "frame-support 39.0.0", - "frame-system 39.1.0", + "env_logger 0.11.8", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", - "pallet-balances 40.0.0", + "pallet-balances", "pallet-contracts", - "pallet-timestamp 38.0.0", + "pallet-timestamp", "parity-scale-codec", - "rand", + "rand 0.8.5", "scale-info", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -13565,26 +10464,26 @@ dependencies = [ "cumulus-client-consensus-common", "cumulus-client-consensus-proposer", "cumulus-client-service", - "cumulus-primitives-aura 0.16.0", - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-parachain-inherent 0.17.0", + "cumulus-primitives-aura", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "docify", - "frame-benchmarking 39.0.0", + "frame-benchmarking", "frame-benchmarking-cli", "futures", "ismp-parachain", "ismp-parachain-inherent", "ismp-parachain-runtime-api", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "pallet-ismp-rpc", "pallet-ismp-runtime-api", - "pallet-multisig 39.0.0", + "pallet-multisig", "pallet-transaction-payment-rpc", "parity-scale-codec", "polkadot-cli", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "pop-runtime-common", "pop-runtime-devnet", "pop-runtime-mainnet", @@ -13607,21 +10506,21 @@ dependencies = [ "sc-transaction-pool-api", "serde", "serde_json", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-block-builder", "sp-blockchain", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-keystore 0.41.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-timestamp 35.0.0", - "sp-transaction-pool 35.0.0", - "staging-xcm 15.0.1", + "sp-consensus-aura", + "sp-core", + "sp-genesis-builder", + "sp-io", + "sp-keyring", + "sp-keystore", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-timestamp", + "sp-transaction-pool", + "staging-xcm", "substrate-build-script-utils", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", @@ -13640,45 +10539,45 @@ dependencies = [ name = "pop-runtime-common" version = "0.0.0" dependencies = [ - "cumulus-pallet-aura-ext 0.18.0", - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcmp-queue", "docify", - "frame-support 39.0.0", - "frame-system 39.1.0", - "pallet-assets 41.0.0", - "pallet-aura 38.0.0", - "pallet-authorship 39.0.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", + "frame-support", + "frame-system", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", "pallet-collective", - "pallet-message-queue 42.0.0", + "pallet-message-queue", "pallet-motion", - "pallet-multisig 39.0.0", - "pallet-nfts 33.0.0", - "pallet-preimage 39.0.0", - "pallet-proxy 39.0.0", + "pallet-multisig", + "pallet-nfts 33.1.0", + "pallet-preimage", + "pallet-proxy", "pallet-revive", - "pallet-scheduler 40.0.0", - "pallet-session 39.0.0", - "pallet-sudo 39.0.0", - "pallet-timestamp 38.0.0", - "pallet-transaction-payment 39.0.0", - "pallet-treasury 38.0.0", - "pallet-utility 39.0.0", - "pallet-xcm 18.0.0", - "pallet-xcm-benchmarks 18.0.0", - "parachains-common 19.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", + "pallet-scheduler", + "pallet-session", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-treasury", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parachains-common", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-primitives", "scale-info", "serde_json", - "sp-keyring 40.0.0", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", + "sp-keyring", + "sp-runtime", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", ] [[package]] @@ -13686,26 +10585,26 @@ name = "pop-runtime-devnet" version = "0.1.0" dependencies = [ "anyhow", - "cumulus-pallet-aura-ext 0.18.0", - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-session-benchmarking 20.0.0", - "cumulus-pallet-xcm 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-aura 0.16.0", - "cumulus-primitives-core 0.17.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-parachain-system", + "cumulus-pallet-session-benchmarking", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-aura", + "cumulus-primitives-core", "cumulus-primitives-storage-weight-reclaim", - "cumulus-primitives-utility 0.18.0", + "cumulus-primitives-utility", "docify", "enumflags2", - "env_logger 0.11.6", - "frame-benchmarking 39.0.0", - "frame-executive 39.0.0", - "frame-metadata-hash-extension 0.7.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-system-benchmarking 39.0.0", - "frame-system-rpc-runtime-api 35.0.0", - "frame-try-runtime 0.45.0", + "env_logger 0.11.8", + "frame-benchmarking", + "frame-executive", + "frame-metadata-hash-extension", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex", "hex-literal", "ismp", @@ -13713,135 +10612,137 @@ dependencies = [ "ismp-parachain-runtime-api", "log", "pallet-api", - "pallet-assets 41.0.0", - "pallet-aura 38.0.0", - "pallet-authorship 39.0.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", "pallet-contracts", "pallet-ismp", "pallet-ismp-runtime-api", - "pallet-message-queue 42.0.0", - "pallet-multisig 39.0.0", + "pallet-message-queue", + "pallet-multisig", "pallet-nft-fractionalization", "pallet-nfts 31.0.0", - "pallet-nfts-runtime-api 25.0.0", - "pallet-preimage 39.0.0", - "pallet-proxy 39.0.0", - "pallet-scheduler 40.0.0", - "pallet-session 39.0.0", - "pallet-sudo 39.0.0", - "pallet-timestamp 38.0.0", - "pallet-transaction-payment 39.0.0", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", - "pallet-utility 39.0.0", - "pallet-xcm 18.0.0", - "parachains-common 19.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-runtime-common 18.0.0", + "pallet-nfts-runtime-api", + "pallet-preimage", + "pallet-proxy", + "pallet-revive", + "pallet-scheduler", + "pallet-session", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-utility", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-runtime-common", "pop-chain-extension", "pop-primitives", "pop-runtime-common", "scale-info", "smallvec", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-mmr-primitives 35.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", - "staging-parachain-info 0.18.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-mmr-primitives", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-std", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", ] [[package]] name = "pop-runtime-mainnet" version = "0.1.0" dependencies = [ - "cumulus-pallet-aura-ext 0.18.0", - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-session-benchmarking 20.0.0", - "cumulus-pallet-xcm 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-aura 0.16.0", - "cumulus-primitives-core 0.17.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-parachain-system", + "cumulus-pallet-session-benchmarking", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-aura", + "cumulus-primitives-core", "cumulus-primitives-storage-weight-reclaim", - "cumulus-primitives-utility 0.18.0", + "cumulus-primitives-utility", "docify", "enumflags2", - "env_logger 0.11.6", - "frame-benchmarking 39.0.0", - "frame-executive 39.0.0", - "frame-metadata-hash-extension 0.7.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-system-benchmarking 39.0.0", - "frame-system-rpc-runtime-api 35.0.0", - "frame-try-runtime 0.45.0", + "env_logger 0.11.8", + "frame-benchmarking", + "frame-executive", + "frame-metadata-hash-extension", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex", "log", - "pallet-assets 41.0.0", - "pallet-aura 38.0.0", - "pallet-authorship 39.0.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", "pallet-collective", - "pallet-message-queue 42.0.0", + "pallet-message-queue", "pallet-motion", - "pallet-multisig 39.0.0", - "pallet-nfts 33.0.0", - "pallet-nfts-runtime-api 25.0.0", - "pallet-preimage 39.0.0", - "pallet-proxy 39.0.0", + "pallet-multisig", + "pallet-nfts 33.1.0", + "pallet-nfts-runtime-api", + "pallet-preimage", + "pallet-proxy", "pallet-revive", - "pallet-scheduler 40.0.0", - "pallet-session 39.0.0", - "pallet-sudo 39.0.0", - "pallet-timestamp 38.0.0", - "pallet-transaction-payment 39.0.0", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", - "pallet-treasury 38.0.0", - "pallet-utility 39.0.0", - "pallet-xcm 18.0.0", - "pallet-xcm-benchmarks 18.0.0", - "parachains-common 19.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-runtime-common 18.0.0", - "polkadot-runtime-parachains 18.0.1", + "pallet-scheduler", + "pallet-session", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parachains-common", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", "pop-runtime-common", "scale-info", "smallvec", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", - "staging-parachain-info 0.18.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", - "xcm-runtime-apis 0.5.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", + "xcm-runtime-apis", ] [[package]] @@ -13849,26 +10750,26 @@ name = "pop-runtime-testnet" version = "0.5.2" dependencies = [ "anyhow", - "cumulus-pallet-aura-ext 0.18.0", - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-session-benchmarking 20.0.0", - "cumulus-pallet-xcm 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-aura 0.16.0", - "cumulus-primitives-core 0.17.0", + "cumulus-pallet-aura-ext", + "cumulus-pallet-parachain-system", + "cumulus-pallet-session-benchmarking", + "cumulus-pallet-xcm", + "cumulus-pallet-xcmp-queue", + "cumulus-primitives-aura", + "cumulus-primitives-core", "cumulus-primitives-storage-weight-reclaim", - "cumulus-primitives-utility 0.18.0", + "cumulus-primitives-utility", "docify", "enumflags2", - "env_logger 0.11.6", - "frame-benchmarking 39.0.0", - "frame-executive 39.0.0", - "frame-metadata-hash-extension 0.7.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-system-benchmarking 39.0.0", - "frame-system-rpc-runtime-api 35.0.0", - "frame-try-runtime 0.45.0", + "env_logger 0.11.8", + "frame-benchmarking", + "frame-executive", + "frame-metadata-hash-extension", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex", "hex-literal", "ismp", @@ -13876,67 +10777,76 @@ dependencies = [ "ismp-parachain-runtime-api", "log", "pallet-api", - "pallet-assets 41.0.0", - "pallet-aura 38.0.0", - "pallet-authorship 39.0.0", - "pallet-balances 40.0.0", - "pallet-collator-selection 20.0.0", + "pallet-assets", + "pallet-aura", + "pallet-authorship", + "pallet-balances", + "pallet-collator-selection", "pallet-collective", "pallet-contracts", "pallet-ismp", "pallet-ismp-runtime-api", - "pallet-message-queue 42.0.0", + "pallet-message-queue", "pallet-motion", - "pallet-multisig 39.0.0", + "pallet-multisig", "pallet-nft-fractionalization", - "pallet-nfts 33.0.0", - "pallet-nfts-runtime-api 25.0.0", - "pallet-preimage 39.0.0", - "pallet-proxy 39.0.0", + "pallet-nfts 33.1.0", + "pallet-nfts-runtime-api", + "pallet-preimage", + "pallet-proxy", "pallet-revive", - "pallet-scheduler 40.0.0", - "pallet-session 39.0.0", - "pallet-sudo 39.0.0", - "pallet-timestamp 38.0.0", - "pallet-transaction-payment 39.0.0", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", - "pallet-treasury 38.0.0", - "pallet-utility 39.0.0", - "pallet-xcm 18.0.0", - "parachains-common 19.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-runtime-common 18.0.0", + "pallet-scheduler", + "pallet-session", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-xcm", + "parachains-common", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-runtime-common", "pop-chain-extension", "pop-primitives", "pop-runtime-common", "scale-info", "smallvec", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", - "sp-consensus-aura 0.41.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-mmr-primitives 35.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", - "staging-parachain-info 0.18.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-mmr-primitives", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-transaction-pool", + "sp-version", + "staging-parachain-info", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", ] [[package]] name = "portable-atomic" -version = "1.10.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 = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] [[package]] name = "powerfmt" @@ -13946,11 +10856,11 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy", + "zerocopy 0.8.24", ] [[package]] @@ -13995,12 +10905,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.29" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" dependencies = [ "proc-macro2", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -14011,8 +10921,6 @@ checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec 0.6.0", - "impl-num-traits 0.1.2", - "impl-rlp 0.3.0", "impl-serde 0.4.0", "scale-info", "uint 0.9.5", @@ -14025,9 +10933,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" dependencies = [ "fixed-hash", - "impl-codec 0.7.0", - "impl-num-traits 0.2.0", - "impl-rlp 0.4.0", + "impl-codec 0.7.1", + "impl-num-traits", + "impl-rlp", "impl-serde 0.5.0", "scale-info", "uint 0.10.0", @@ -14061,9 +10969,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ "toml_edit", ] @@ -14100,25 +11008,25 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "proc-macro-warning" -version = "1.0.2" +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.98", + "syn 2.0.100", ] [[package]] name = "proc-macro2" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] @@ -14157,7 +11065,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -14166,11 +11074,11 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax 0.8.5", "unarray", @@ -14188,31 +11096,31 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", - "prost-derive 0.13.4", + "prost-derive 0.13.5", ] [[package]] name = "prost-build" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f3e5beed80eb580c68e2c600937ac2c4eedabdfd5ef1e5b7ea4f3fba84497b" +checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ "heck 0.5.0", - "itertools 0.13.0", + "itertools 0.14.0", "log", "multimap", "once_cell", - "petgraph", + "petgraph 0.7.1", "prettyplease", - "prost 0.13.4", + "prost 0.13.5", "prost-types", "regex", - "syn 2.0.98", + "syn 2.0.100", "tempfile", ] @@ -14226,36 +11134,36 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "prost-derive" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.13.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "prost-types" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2f1e56baa61e93533aebc21af4d2134b70f66275e0fcdf3cbe43d77ff7e8fc" +checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" dependencies = [ - "prost 0.13.4", + "prost 0.13.5", ] [[package]] name = "psm" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" +checksum = "f58e5423e24c18cc840e1c98370b3993c6649cd1678b4d24318bcf0a083cbe88" dependencies = [ "cc", ] @@ -14275,12 +11183,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" @@ -14328,7 +11230,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "ring 0.16.20", "rustc-hash 1.1.0", "rustls 0.21.12", @@ -14346,20 +11248,26 @@ checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ "bytes", "libc", - "socket2 0.5.8", + "socket2 0.5.9", "tracing", "windows-sys 0.48.0", ] [[package]] name = "quote" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -14373,8 +11281,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.24", ] [[package]] @@ -14384,7 +11303,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -14396,6 +11325,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" @@ -14403,7 +11341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -14412,7 +11350,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -14421,16 +11359,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "raw-cpuid" -version = "11.3.0" +version = "11.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6928fa44c097620b706542d428957635951bade7143269085389d42c8a4927e" +checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -14498,11 +11436,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -14530,22 +11468,22 @@ dependencies = [ [[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.98", + "syn 2.0.100", ] [[package]] @@ -14617,27 +11555,13 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -[[package]] -name = "relay-common" -version = "1.0.0" -source = "git+https://github.com/paseo-network/runtimes?tag=v1.3.4#313b81aa2b2cb076b4f99c9b2bea040a8bcf709f" -dependencies = [ - "pallet-staking-reward-fn 22.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-scale-codec", - "polkadot-primitives 14.0.0", - "scale-info", - "sp-api 33.0.0", - "sp-runtime 38.0.1", -] - [[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]] @@ -14667,15 +11591,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", ] @@ -14689,22 +11612,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "rlibc" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" - -[[package]] -name = "rlp" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" -dependencies = [ - "bytes", - "rustc-hex", -] - [[package]] name = "rlp" version = "0.6.1" @@ -14727,120 +11634,120 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "binary-merkle-tree 16.0.0", + "binary-merkle-tree", "bitvec", - "frame-benchmarking 39.0.0", - "frame-executive 39.0.0", - "frame-metadata-hash-extension 0.7.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-system-benchmarking 39.0.0", - "frame-system-rpc-runtime-api 35.0.0", - "frame-try-runtime 0.45.0", + "frame-benchmarking", + "frame-executive", + "frame-metadata-hash-extension", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "log", - "pallet-asset-rate 18.0.0", - "pallet-authority-discovery 39.0.0", - "pallet-authorship 39.0.0", - "pallet-babe 39.0.0", - "pallet-balances 40.0.0", - "pallet-beefy 40.0.0", - "pallet-beefy-mmr 40.0.0", - "pallet-bounties 38.0.1", - "pallet-child-bounties 38.0.0", + "pallet-asset-rate", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-beefy", + "pallet-beefy-mmr", + "pallet-bounties", + "pallet-child-bounties", "pallet-collective", - "pallet-conviction-voting 39.0.0", + "pallet-conviction-voting", "pallet-democracy", "pallet-elections-phragmen", - "pallet-grandpa 39.0.0", - "pallet-identity 39.0.0", - "pallet-indices 39.0.0", + "pallet-grandpa", + "pallet-identity", + "pallet-indices", "pallet-membership", - "pallet-message-queue 42.0.0", + "pallet-message-queue", "pallet-migrations", - "pallet-mmr 39.0.0", - "pallet-multisig 39.0.0", + "pallet-mmr", + "pallet-multisig", "pallet-nis", - "pallet-offences 38.0.0", - "pallet-parameters 0.10.0", - "pallet-preimage 39.0.0", - "pallet-proxy 39.0.0", + "pallet-offences", + "pallet-parameters", + "pallet-preimage", + "pallet-proxy", "pallet-ranked-collective", "pallet-recovery", - "pallet-referenda 39.0.0", + "pallet-referenda", "pallet-root-testing", - "pallet-scheduler 40.0.0", - "pallet-session 39.0.0", + "pallet-scheduler", + "pallet-session", "pallet-society", - "pallet-staking 39.0.1", - "pallet-state-trie-migration 43.0.0", - "pallet-sudo 39.0.0", - "pallet-timestamp 38.0.0", + "pallet-staking", + "pallet-state-trie-migration", + "pallet-sudo", + "pallet-timestamp", "pallet-tips", - "pallet-transaction-payment 39.0.0", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", - "pallet-treasury 38.0.0", - "pallet-utility 39.0.0", - "pallet-vesting 39.0.0", - "pallet-whitelist 38.0.0", - "pallet-xcm 18.0.0", - "pallet-xcm-benchmarks 18.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "polkadot-runtime-common 18.0.0", - "polkadot-runtime-parachains 18.0.1", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "pallet-whitelist", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", "rococo-runtime-constants", "scale-info", "serde", "serde_derive", "serde_json", "smallvec", - "sp-api 35.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-authority-discovery 35.0.0", - "sp-block-builder 35.0.0", - "sp-consensus-babe 0.41.0", - "sp-consensus-beefy 23.0.0", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-mmr-primitives 35.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", - "sp-storage 22.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", + "sp-api", + "sp-arithmetic", + "sp-authority-discovery", + "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-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-storage", + "sp-transaction-pool", + "sp-version", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", "static_assertions", - "substrate-wasm-builder 25.0.0", - "xcm-runtime-apis 0.5.0", + "substrate-wasm-builder", + "xcm-runtime-apis", ] [[package]] name = "rococo-runtime-constants" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", - "polkadot-primitives 17.0.0", - "polkadot-runtime-common 18.0.0", + "frame-support", + "polkadot-primitives", + "polkadot-runtime-common", "smallvec", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", + "sp-core", + "sp-runtime", + "sp-weights", + "staging-xcm", + "staging-xcm-builder", ] [[package]] @@ -14902,9 +11809,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-hex" @@ -14918,7 +11825,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.25", + "semver 1.0.26", ] [[package]] @@ -14964,13 +11871,26 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "errno", "libc", "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.3", + "windows-sys 0.59.0", +] + [[package]] name = "rustls" version = "0.20.9" @@ -14989,7 +11909,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", ] @@ -15001,7 +11921,7 @@ 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", @@ -15010,15 +11930,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.22" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ "log", "once_cell", - "ring 0.17.8", + "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki 0.103.1", "subtle 2.6.1", "zeroize", ] @@ -15092,10 +12012,10 @@ checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" dependencies = [ "core-foundation 0.9.4", "core-foundation-sys", - "jni", + "jni 0.19.0", "log", "once_cell", - "rustls 0.23.22", + "rustls 0.23.25", "rustls-native-certs 0.7.3", "rustls-platform-verifier-android", "rustls-webpki 0.102.8", @@ -15105,6 +12025,27 @@ dependencies = [ "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.25", + "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" @@ -15117,7 +12058,7 @@ 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", ] @@ -15127,16 +12068,27 @@ version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", + "rustls-pki-types", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +dependencies = [ + "ring 0.17.14", "rustls-pki-types", "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "ruzstd" @@ -15173,9 +12125,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "safe_arch" @@ -15198,18 +12150,18 @@ dependencies = [ [[package]] name = "sc-allocator" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "log", - "sp-core 35.0.0", - "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-core", + "sp-wasm-interface", "thiserror 1.0.69", ] [[package]] name = "sc-authority-discovery" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -15222,16 +12174,16 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build", - "rand", + "rand 0.8.5", "sc-client-api", "sc-network", "sc-network-types", - "sp-api 35.0.0", - "sp-authority-discovery 35.0.0", + "sp-api", + "sp-authority-discovery", "sp-blockchain", - "sp-core 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -15239,7 +12191,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "futures-timer", @@ -15249,34 +12201,34 @@ dependencies = [ "sc-proposer-metrics", "sc-telemetry", "sc-transaction-pool-api", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-inherents", + "sp-runtime", "substrate-prometheus-endpoint", ] [[package]] name = "sc-block-builder" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-block-builder", "sp-blockchain", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-trie 38.0.0", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", ] [[package]] name = "sc-chain-spec" version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "docify", @@ -15291,30 +12243,30 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 35.0.0", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-genesis-builder 0.16.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-genesis-builder", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-tracing", ] [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "sc-cli" -version = "0.50.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.50.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "chrono", @@ -15327,7 +12279,7 @@ dependencies = [ "names", "parity-bip39", "parity-scale-codec", - "rand", + "rand 0.8.5", "regex", "rpassword", "sc-client-api", @@ -15343,12 +12295,12 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 35.0.0", - "sp-keyring 40.0.0", - "sp-keystore 0.41.0", - "sp-panic-handler 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime 40.1.0", - "sp-version 38.0.0", + "sp-core", + "sp-keyring", + "sp-keystore", + "sp-panic-handler", + "sp-runtime", + "sp-version", "thiserror 1.0.69", "tokio", ] @@ -15356,7 +12308,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "fnv", "futures", @@ -15366,24 +12318,24 @@ dependencies = [ "sc-executor", "sc-transaction-pool-api", "sc-utils", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 35.0.0", + "sp-core", "sp-database", - "sp-externalities 0.30.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", + "sp-externalities", + "sp-runtime", + "sp-state-machine", "sp-statement-store", - "sp-storage 22.0.0", - "sp-trie 38.0.0", + "sp-storage", + "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.45.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "hash-db", "kvdb", @@ -15397,19 +12349,19 @@ dependencies = [ "sc-client-api", "sc-state-db", "schnellru", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-arithmetic", "sp-blockchain", - "sp-core 35.0.0", + "sp-core", "sp-database", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-trie 38.0.0", + "sp-runtime", + "sp-state-machine", + "sp-trie", ] [[package]] name = "sc-consensus" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -15420,12 +12372,12 @@ dependencies = [ "sc-network-types", "sc-utils", "serde", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", + "sp-core", + "sp-runtime", + "sp-state-machine", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -15433,7 +12385,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -15444,17 +12396,17 @@ dependencies = [ "sc-consensus", "sc-consensus-slots", "sc-telemetry", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-application-crypto", + "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-consensus-aura 0.41.0", - "sp-consensus-slots 0.41.0", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -15462,7 +12414,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "fork-tree", @@ -15479,18 +12431,18 @@ dependencies = [ "sc-consensus-slots", "sc-telemetry", "sc-transaction-pool-api", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-application-crypto", + "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-consensus-babe 0.41.0", - "sp-consensus-slots 0.41.0", - "sp-core 35.0.0", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-inherents 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-inherents", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -15498,29 +12450,29 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "sc-consensus-babe", "sc-consensus-epochs", "sc-rpc-api", "serde", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", + "sp-api", + "sp-application-crypto", "sp-blockchain", "sp-consensus", - "sp-consensus-babe 0.41.0", - "sp-core 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-consensus-babe", + "sp-core", + "sp-keystore", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-beefy" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -15537,16 +12489,16 @@ dependencies = [ "sc-network-sync", "sc-network-types", "sc-utils", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-consensus-beefy 23.0.0", - "sp-core 35.0.0", + "sp-consensus-beefy", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", @@ -15556,42 +12508,42 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", "sc-consensus-beefy", "sc-rpc", "serde", - "sp-application-crypto 39.0.0", - "sp-consensus-beefy 23.0.0", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-application-crypto", + "sp-consensus-beefy", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-epochs" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "fork-tree", "parity-scale-codec", "sc-client-api", "sc-consensus", "sp-blockchain", - "sp-runtime 40.1.0", + "sp-runtime", ] [[package]] name = "sc-consensus-grandpa" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "ahash 0.8.11", + "ahash", "array-bytes", "async-trait", "dyn-clone", @@ -15602,7 +12554,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -15616,16 +12568,16 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", + "sp-consensus-grandpa", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", + "sp-keystore", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -15633,11 +12585,11 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "finality-grandpa", "futures", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "sc-client-api", @@ -15645,15 +12597,15 @@ dependencies = [ "sc-rpc", "serde", "sp-blockchain", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-slots" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -15663,20 +12615,20 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-consensus-slots 0.41.0", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", ] [[package]] name = "sc-executor" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -15684,27 +12636,27 @@ dependencies = [ "sc-executor-polkavm", "sc-executor-wasmtime", "schnellru", - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-externalities 0.30.0", - "sp-io 39.0.0", - "sp-panic-handler 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime-interface 29.0.0", - "sp-trie 38.0.0", - "sp-version 38.0.0", - "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-api", + "sp-core", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", + "sp-trie", + "sp-version", + "sp-wasm-interface", "tracing", ] [[package]] name = "sc-executor-common" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "polkavm 0.9.3", "sc-allocator", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-maybe-compressed-blob", + "sp-wasm-interface", "thiserror 1.0.69", "wasm-instrument", ] @@ -15712,18 +12664,18 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "log", "polkavm 0.9.3", "sc-executor-common", - "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-wasm-interface", ] [[package]] name = "sc-executor-wasmtime" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "anyhow", "cfg-if", @@ -15733,15 +12685,15 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 29.0.0", - "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-runtime-interface", + "sp-wasm-interface", "wasmtime", ] [[package]] name = "sc-informant" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "console", "futures", @@ -15752,27 +12704,27 @@ dependencies = [ "sc-network-common", "sc-network-sync", "sp-blockchain", - "sp-runtime 40.1.0", + "sp-runtime", ] [[package]] name = "sc-keystore" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", - "sp-keystore 0.41.0", + "sp-application-crypto", + "sp-core", + "sp-keystore", "thiserror 1.0.69", ] [[package]] name = "sc-mixnet" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "arrayvec 0.7.6", @@ -15789,19 +12741,19 @@ dependencies = [ "sc-network", "sc-network-types", "sc-transaction-pool-api", - "sp-api 35.0.0", + "sp-api", "sp-consensus", - "sp-core 35.0.0", - "sp-keystore 0.41.0", + "sp-core", + "sp-keystore", "sp-mixnet", - "sp-runtime 40.1.0", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-network" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.48.3" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -15826,7 +12778,7 @@ dependencies = [ "pin-project", "prost 0.12.6", "prost-build", - "rand", + "rand 0.8.5", "sc-client-api", "sc-network-common", "sc-network-types", @@ -15835,10 +12787,10 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-arithmetic", "sp-blockchain", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", @@ -15852,7 +12804,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -15863,16 +12815,16 @@ dependencies = [ "sc-consensus", "sc-network-types", "sp-consensus", - "sp-consensus-grandpa 22.0.0", - "sp-runtime 40.1.0", + "sp-consensus-grandpa", + "sp-runtime", ] [[package]] name = "sc-network-gossip" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "ahash 0.8.11", + "ahash", "futures", "futures-timer", "log", @@ -15881,7 +12833,7 @@ dependencies = [ "sc-network-sync", "sc-network-types", "schnellru", - "sp-runtime 40.1.0", + "sp-runtime", "substrate-prometheus-endpoint", "tracing", ] @@ -15889,7 +12841,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -15902,15 +12854,15 @@ dependencies = [ "sc-network", "sc-network-types", "sp-blockchain", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-network-sync" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -15931,12 +12883,12 @@ dependencies = [ "sc-utils", "schnellru", "smallvec", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", @@ -15946,7 +12898,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "futures", @@ -15958,14 +12910,14 @@ dependencies = [ "sc-network-types", "sc-utils", "sp-consensus", - "sp-runtime 40.1.0", + "sp-runtime", "substrate-prometheus-endpoint", ] [[package]] name = "sc-network-types" -version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.15.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bs58", "ed25519-dalek", @@ -15974,7 +12926,7 @@ dependencies = [ "log", "multiaddr 0.18.2", "multihash 0.19.3", - "rand", + "rand 0.8.5", "thiserror 1.0.69", "zeroize", ] @@ -15982,7 +12934,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "bytes", @@ -15998,20 +12950,20 @@ dependencies = [ "once_cell", "parity-scale-codec", "parking_lot 0.12.3", - "rand", - "rustls 0.23.22", + "rand 0.8.5", + "rustls 0.23.25", "sc-client-api", "sc-network", "sc-network-common", "sc-network-types", "sc-transaction-pool-api", "sc-utils", - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-externalities 0.30.0", - "sp-keystore 0.41.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", + "sp-api", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-offchain", + "sp-runtime", "threadpool", "tracing", ] @@ -16019,7 +12971,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -16028,10 +12980,10 @@ dependencies = [ [[package]] name = "sc-rpc" version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", @@ -16044,25 +12996,25 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", - "sp-core 35.0.0", - "sp-keystore 0.41.0", - "sp-offchain 35.0.0", + "sp-core", + "sp-keystore", + "sp-offchain", "sp-rpc", - "sp-runtime 40.1.0", - "sp-session 37.0.0", + "sp-runtime", + "sp-session", "sp-statement-store", - "sp-version 38.0.0", + "sp-version", "tokio", ] [[package]] name = "sc-rpc-api" version = "0.47.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "parity-scale-codec", "sc-chain-spec", "sc-mixnet", @@ -16070,27 +13022,27 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 35.0.0", + "sp-core", "sp-rpc", - "sp-runtime 40.1.0", - "sp-version 38.0.0", + "sp-runtime", + "sp-version", "thiserror 1.0.69", ] [[package]] name = "sc-rpc-server" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "dyn-clone", "forwarded-header-value", "futures", "governor", - "http 1.2.0", + "http 1.3.1", "http-body-util", "hyper 1.6.0", "ip_network", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "sc-rpc-api", "serde", @@ -16104,30 +13056,30 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "futures", "futures-util", "hex", "itertools 0.11.0", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "sc-chain-spec", "sc-client-api", "sc-rpc", "sc-transaction-pool-api", "schnellru", "serde", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", - "sp-core 35.0.0", + "sp-core", "sp-rpc", - "sp-runtime 40.1.0", - "sp-version 38.0.0", + "sp-runtime", + "sp-version", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -16136,19 +13088,19 @@ dependencies = [ [[package]] name = "sc-service" version = "0.49.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "directories", "exit-future", "futures", "futures-timer", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "parking_lot 0.12.3", "pin-project", - "rand", + "rand 0.8.5", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -16174,20 +13126,20 @@ dependencies = [ "schnellru", "serde", "serde_json", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 35.0.0", - "sp-externalities 0.30.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-state-machine 0.44.0", - "sp-storage 22.0.0", - "sp-transaction-pool 35.0.0", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-storage", + "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie 38.0.0", - "sp-version 38.0.0", + "sp-trie", + "sp-version", "static_init", "substrate-prometheus-endpoint", "tempfile", @@ -16200,23 +13152,23 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.37.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sp-core 35.0.0", + "sp-core", ] [[package]] name = "sc-storage-monitor" version = "0.23.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "clap", "fs4", "log", - "sp-core 35.0.0", + "sp-core", "thiserror 1.0.69", "tokio", ] @@ -16224,9 +13176,9 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "parity-scale-codec", "sc-chain-spec", "sc-client-api", @@ -16236,35 +13188,35 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-runtime 40.1.0", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-sysinfo" version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "derive_more 0.99.19", "futures", "libc", "log", - "rand", + "rand 0.8.5", "rand_pcg", "regex", "sc-telemetry", "serde", "serde_json", - "sp-core 35.0.0", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io 39.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-io", + "sp-std", ] [[package]] name = "sc-telemetry" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "chrono", "futures", @@ -16272,7 +13224,7 @@ dependencies = [ "log", "parking_lot 0.12.3", "pin-project", - "rand", + "rand 0.8.5", "sc-network", "sc-utils", "serde", @@ -16284,7 +13236,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "chrono", "console", @@ -16297,12 +13249,12 @@ dependencies = [ "sc-client-api", "sc-tracing-proc-macro", "serde", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", - "sp-core 35.0.0", + "sp-core", "sp-rpc", - "sp-runtime 40.1.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-runtime", + "sp-tracing", "thiserror 1.0.69", "tracing", "tracing-log", @@ -16312,23 +13264,23 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "sc-transaction-pool" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", "futures-timer", - "indexmap 2.7.1", + "indexmap 2.9.0", "itertools 0.11.0", "linked-hash-map", "log", @@ -16338,13 +13290,13 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde", - "sp-api 35.0.0", + "sp-api", "sp-blockchain", - "sp-core 35.0.0", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime 40.1.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-transaction-pool 35.0.0", + "sp-runtime", + "sp-tracing", + "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", @@ -16353,8 +13305,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "38.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "futures", @@ -16362,15 +13314,15 @@ dependencies = [ "parity-scale-codec", "serde", "sp-blockchain", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-utils" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-channel 1.9.0", "futures", @@ -16378,17 +13330,7 @@ dependencies = [ "log", "parking_lot 0.12.3", "prometheus", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "scale-bits" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662d10dcd57b1c2a3c41c9cf68f71fb09747ada1ea932ad961aca7e2ca28315f" -dependencies = [ - "parity-scale-codec", - "scale-type-resolver 0.1.1", + "sp-arithmetic", ] [[package]] @@ -16399,24 +13341,10 @@ checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" dependencies = [ "parity-scale-codec", "scale-info", - "scale-type-resolver 0.2.0", + "scale-type-resolver", "serde", ] -[[package]] -name = "scale-decode" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc79ba56a1c742f5aeeed1f1801f3edf51f7e818f0a54582cac6f131364ea7b" -dependencies = [ - "derive_more 0.99.19", - "parity-scale-codec", - "scale-bits 0.5.0", - "scale-decode-derive 0.11.1", - "scale-type-resolver 0.1.1", - "smallvec", -] - [[package]] name = "scale-decode" version = "0.13.1" @@ -16426,24 +13354,12 @@ dependencies = [ "derive_more 0.99.19", "parity-scale-codec", "primitive-types 0.12.2", - "scale-bits 0.6.0", - "scale-decode-derive 0.13.1", - "scale-type-resolver 0.2.0", + "scale-bits", + "scale-decode-derive", + "scale-type-resolver", "smallvec", ] -[[package]] -name = "scale-decode-derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5398fdb3c7bea3cb419bac4983aadacae93fe1a7b5f693f4ebd98c3821aad7a5" -dependencies = [ - "darling 0.14.4", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "scale-decode-derive" version = "0.13.1" @@ -16456,45 +13372,19 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "scale-encode" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628800925a33794fb5387781b883b5e14d130fece9af5a63613867b8de07c5c7" -dependencies = [ - "derive_more 0.99.19", - "parity-scale-codec", - "scale-encode-derive 0.6.0", - "scale-type-resolver 0.1.1", - "smallvec", -] - [[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 0.6.0", - "scale-encode-derive 0.7.2", - "scale-type-resolver 0.2.0", - "smallvec", -] - -[[package]] -name = "scale-encode-derive" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a304e1af7cdfbe7a24e08b012721456cc8cecdedadc14b3d10513eada63233c" +checksum = "528464e6ae6c8f98e2b79633bf79ef939552e795e316579dab09c61670d56602" dependencies = [ - "darling 0.14.4", - "proc-macro-crate 1.1.3", - "proc-macro2", - "quote", - "syn 1.0.109", + "derive_more 0.99.19", + "parity-scale-codec", + "primitive-types 0.12.2", + "scale-bits", + "scale-encode-derive", + "scale-type-resolver", + "smallvec", ] [[package]] @@ -16503,11 +13393,11 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef2618f123c88da9cd8853b69d766068f1eddc7692146d7dfe9b89e25ce2efd" dependencies = [ - "darling 0.20.10", - "proc-macro-crate 3.2.0", + "darling 0.20.11", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -16521,7 +13411,6 @@ dependencies = [ "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", - "schemars", "serde", ] @@ -16531,19 +13420,10 @@ version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "scale-type-resolver" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b800069bfd43374e0f96f653e0d46882a2cb16d6d961ac43bea80f26c76843" -dependencies = [ - "smallvec", + "syn 2.0.100", ] [[package]] @@ -16565,7 +13445,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.98", + "syn 2.0.100", "thiserror 1.0.69", ] @@ -16581,11 +13461,11 @@ dependencies = [ "either", "frame-metadata 15.1.0", "parity-scale-codec", - "scale-bits 0.6.0", - "scale-decode 0.13.1", - "scale-encode 0.7.2", + "scale-bits", + "scale-decode", + "scale-encode", "scale-info", - "scale-type-resolver 0.2.0", + "scale-type-resolver", "serde", "yap", ] @@ -16599,37 +13479,13 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "schemars" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" -dependencies = [ - "dyn-clone", - "schemars_derive", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.98", -] - [[package]] name = "schnellru" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" dependencies = [ - "ahash 0.8.11", + "ahash", "cfg-if", "hashbrown 0.13.2", ] @@ -16644,7 +13500,7 @@ dependencies = [ "arrayvec 0.7.6", "curve25519-dalek-ng", "merlin", - "rand_core", + "rand_core 0.6.4", "sha2 0.9.9", "subtle-ng", "zeroize", @@ -16662,7 +13518,7 @@ dependencies = [ "curve25519-dalek", "getrandom_or_panic", "merlin", - "rand_core", + "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", "subtle 2.6.1", @@ -16677,9 +13533,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" @@ -16687,7 +13543,7 @@ 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", ] @@ -16766,7 +13622,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -16780,7 +13636,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "core-foundation 0.10.0", "core-foundation-sys", "libc", @@ -16808,9 +13664,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] @@ -16835,22 +13691,13 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] -[[package]] -name = "serde-big-array" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd31f59f6fe2b0c055371bb2f16d7f0aa7d8881676c04a55b1596d1a17cd10a4" -dependencies = [ - "serde", -] - [[package]] name = "serde-hex-utils" version = "0.1.0" @@ -16863,40 +13710,29 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.15" +version = "0.11.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.217" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "serde_json" -version = "1.0.138" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -16906,13 +13742,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -16946,7 +13782,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.7.1", + "indexmap 2.9.0", "serde", "serde_derive", "serde_json", @@ -17083,7 +13919,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -17101,11 +13937,11 @@ dependencies = [ [[package]] name = "simple-dns" -version = "0.7.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c80e565e7dcc4f1ef247e2f395550d4cf7d777746d5988e7e4e3156b71077fc" +checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -17141,28 +13977,15 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" -[[package]] -name = "slot-range-helper" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4d67aa9b1ccfd746c8529754c4ce06445b1d48e189567402ef856340a3a6b14" -dependencies = [ - "enumn", - "parity-scale-codec", - "paste", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "slot-range-helper" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime 40.1.0", + "sp-runtime", ] [[package]] @@ -17176,9 +13999,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" @@ -17250,8 +14073,8 @@ dependencies = [ "pbkdf2", "pin-project", "poly1305", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "ruzstd 0.4.0", "schnorrkel 0.10.2", "serde", @@ -17305,8 +14128,8 @@ dependencies = [ "pbkdf2", "pin-project", "poly1305", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "ruzstd 0.5.0", "schnorrkel 0.11.4", "serde", @@ -17348,8 +14171,8 @@ dependencies = [ "no-std-net", "parking_lot 0.12.3", "pin-project", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "serde", "serde_json", "siphasher 0.3.11", @@ -17384,8 +14207,8 @@ dependencies = [ "no-std-net", "parking_lot 0.12.3", "pin-project", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "serde", "serde_json", "siphasher 1.0.1", @@ -17411,210 +14234,13 @@ dependencies = [ "blake2 0.10.6", "chacha20poly1305", "curve25519-dalek", - "rand_core", - "ring 0.17.8", + "rand_core 0.6.4", + "ring 0.17.14", "rustc_version", "sha2 0.10.8", "subtle 2.6.1", ] -[[package]] -name = "snowbridge-amcl" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460a9ed63cdf03c1b9847e8a12a5f5ba19c4efd5869e4a737e05be25d7c427e5" -dependencies = [ - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "snowbridge-beacon-primitives" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ad61e3ab1c48d4c8060c7ef8571c5b6007df26687e8dbfdb6c857d840cfd2c" -dependencies = [ - "byte-slice-cast", - "frame-support 36.0.1", - "hex", - "parity-scale-codec", - "rlp 0.5.2", - "scale-info", - "serde", - "snowbridge-ethereum 0.8.0", - "snowbridge-milagro-bls", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ssz_rs", - "ssz_rs_derive", -] - -[[package]] -name = "snowbridge-beacon-primitives" -version = "0.12.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "byte-slice-cast", - "frame-support 39.0.0", - "hex", - "parity-scale-codec", - "rlp 0.6.1", - "scale-info", - "serde", - "snowbridge-ethereum 0.11.0", - "snowbridge-milagro-bls", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "ssz_rs", - "ssz_rs_derive", -] - -[[package]] -name = "snowbridge-core" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668cd71582305168ed51cb0357a4b4ea814c68c7db3898a9ba4d492f712c54e1" -dependencies = [ - "ethabi-decode 1.0.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "hex-literal", - "parity-scale-codec", - "polkadot-parachain-primitives 13.0.0", - "scale-info", - "serde", - "snowbridge-beacon-primitives 0.8.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-builder 15.0.0", -] - -[[package]] -name = "snowbridge-core" -version = "0.12.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "ethabi-decode 2.0.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "hex-literal", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "scale-info", - "serde", - "snowbridge-beacon-primitives 0.12.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", -] - -[[package]] -name = "snowbridge-ethereum" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ef1f6f60f6c8cc3cdb2a829d7452de946d8707f63f70c6f714d1c52cbc0fc17" -dependencies = [ - "ethabi-decode 1.0.0", - "ethbloom 0.13.0", - "ethereum-types 0.14.1", - "hex-literal", - "parity-bytes", - "parity-scale-codec", - "rlp 0.5.2", - "scale-info", - "serde", - "serde-big-array", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "snowbridge-ethereum" -version = "0.11.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "ethabi-decode 2.0.0", - "ethbloom 0.14.1", - "ethereum-types 0.15.1", - "hex-literal", - "parity-bytes", - "parity-scale-codec", - "rlp 0.6.1", - "scale-info", - "serde", - "serde-big-array", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "snowbridge-milagro-bls" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "026aa8638f690a53e3f7676024b9e913b1cab0111d1b7b92669d40a188f9d7e6" -dependencies = [ - "hex", - "lazy_static", - "parity-scale-codec", - "rand", - "scale-info", - "snowbridge-amcl", - "zeroize", -] - -[[package]] -name = "snowbridge-router-primitives" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8e6707ced1308d763117bfe68f85e3f22fcdca7987b32e438c0485570f6ac7" -dependencies = [ - "frame-support 36.0.1", - "hex-literal", - "log", - "parity-scale-codec", - "scale-info", - "snowbridge-core 0.8.0", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-executor 15.0.0", -] - -[[package]] -name = "snowbridge-router-primitives" -version = "0.18.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "hex-literal", - "log", - "parity-scale-codec", - "scale-info", - "snowbridge-core 0.12.0", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", -] - [[package]] name = "socket2" version = "0.4.10" @@ -17627,9 +14253,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" dependencies = [ "libc", "windows-sys 0.52.0", @@ -17646,7 +14272,7 @@ dependencies = [ "futures", "httparse", "log", - "rand", + "rand 0.8.5", "sha-1", ] @@ -17659,133 +14285,65 @@ dependencies = [ "base64 0.22.1", "bytes", "futures", - "http 1.2.0", + "http 1.3.1", "httparse", "log", - "rand", + "rand 0.8.5", "sha1", ] -[[package]] -name = "sp-api" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e43fbf034e9dbaa8ffc6a238a22808777eb38c580f66fc6736d8511631789e" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro 20.0.0", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "sp-metadata-ir 0.7.0", - "sp-runtime 38.0.1", - "sp-runtime-interface 28.0.0", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", - "sp-version 36.0.0", - "thiserror 1.0.69", -] - [[package]] name = "sp-api" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "docify", "hash-db", "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro 21.0.0", - "sp-core 35.0.0", - "sp-externalities 0.30.0", - "sp-metadata-ir 0.8.0", - "sp-runtime 40.1.0", - "sp-runtime-interface 29.0.0", - "sp-state-machine 0.44.0", - "sp-trie 38.0.0", - "sp-version 38.0.0", + "sp-api-proc-macro", + "sp-core", + "sp-externalities", + "sp-metadata-ir", + "sp-runtime", + "sp-runtime-interface", + "sp-state-machine", + "sp-trie", + "sp-version", "thiserror 1.0.69", ] -[[package]] -name = "sp-api-proc-macro" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9aadf9e97e694f0e343978aa632938c5de309cbcc8afed4136cb71596737278" -dependencies = [ - "Inflector", - "blake2 0.10.6", - "expander", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "sp-api-proc-macro" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "Inflector", "blake2 0.10.6", "expander", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-application-crypto" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d96d1fc0f1c741bbcbd0dd5470eff7b66f011708cc1942b088ebf0d4efb3d93" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.100", ] [[package]] name = "sp-application-crypto" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 35.0.0", - "sp-io 39.0.0", -] - -[[package]] -name = "sp-arithmetic" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d0d0a4c591c421d3231ddd5e27d828618c24456d51445d21a1f79fcee97c23" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "docify", - "integer-sqrt", - "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions", + "sp-core", + "sp-io", ] [[package]] name = "sp-arithmetic" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "docify", "integer-sqrt", @@ -17796,67 +14354,43 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "sp-authority-discovery" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4a1e45abc3277f18484ee0b0f9808e4206eb696ad38500c892c72f33480d69" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-runtime 38.0.1", -] - [[package]] name = "sp-authority-discovery" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "sp-block-builder" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cf199dc4f9f77abd3fd91c409759118159ce6ffcd8bc90b229b684ccc8c981f" -dependencies = [ - "sp-api 33.0.0", - "sp-inherents 33.0.0", - "sp-runtime 38.0.1", + "sp-api", + "sp-application-crypto", + "sp-runtime", ] [[package]] name = "sp-block-builder" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "sp-api 35.0.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", + "sp-api", + "sp-inherents", + "sp-runtime", ] [[package]] name = "sp-blockchain" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "futures", "parity-scale-codec", "parking_lot 0.12.3", "schnellru", - "sp-api 35.0.0", + "sp-api", "sp-consensus", - "sp-core 35.0.0", + "sp-core", "sp-database", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.69", "tracing", ] @@ -17864,238 +14398,104 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "async-trait", - "futures", - "log", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-consensus-aura" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ebb90bf00f331b898eb729a1f707251846c1d5582d7467f083884799a69b89" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-consensus-slots 0.39.0", - "sp-inherents 33.0.0", - "sp-runtime 38.0.1", - "sp-timestamp 33.0.0", -] - -[[package]] -name = "sp-consensus-aura" -version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-consensus-slots 0.41.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-timestamp 35.0.0", -] - -[[package]] -name = "sp-consensus-babe" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aa2de4c7100a3279658d8dd4affd8f92487528deae5cb4b40322717b9175ed5" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-consensus-slots 0.39.0", - "sp-core 34.0.0", - "sp-inherents 33.0.0", - "sp-runtime 38.0.1", - "sp-timestamp 33.0.0", + "futures", + "log", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "thiserror 1.0.69", ] [[package]] -name = "sp-consensus-babe" +name = "sp-consensus-aura" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "serde", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-consensus-slots 0.41.0", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-timestamp 35.0.0", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-inherents", + "sp-runtime", + "sp-timestamp", ] [[package]] -name = "sp-consensus-beefy" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b277bc109da8e1c3768d3a046e1cd1ab687aabac821c976c5f510deb6f0bc8d3" +name = "sp-consensus-babe" +version = "0.41.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "lazy_static", + "async-trait", "parity-scale-codec", "scale-info", "serde", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-core 34.0.0", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 37.0.0", - "sp-keystore 0.40.0", - "sp-mmr-primitives 33.0.0", - "sp-runtime 38.0.1", - "strum 0.26.3", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-timestamp", ] [[package]] name = "sp-consensus-beefy" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", + "sp-api", + "sp-application-crypto", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io 39.0.0", - "sp-keystore 0.41.0", - "sp-mmr-primitives 35.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-io", + "sp-keystore", + "sp-mmr-primitives", + "sp-runtime", + "sp-weights", "strum 0.26.3", ] -[[package]] -name = "sp-consensus-grandpa" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dd06bf366c60f69411668b26d6ab3c55120aa6d423e6af0373ec23d8957300" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 33.0.0", - "sp-application-crypto 37.0.0", - "sp-core 34.0.0", - "sp-keystore 0.40.0", - "sp-runtime 38.0.1", -] - [[package]] name = "sp-consensus-grandpa" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "finality-grandpa", "log", "parity-scale-codec", "scale-info", "serde", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "sp-consensus-slots" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ca60d713f8ddb03bbebcc755d5e6463fdc0b6259fabfc4221b20a5f1e428fd" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-timestamp 33.0.0", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", ] [[package]] name = "sp-consensus-slots" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-timestamp 35.0.0", -] - -[[package]] -name = "sp-core" -version = "34.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c961a5e33fb2962fa775c044ceba43df9c6f917e2c35d63bfe23738468fa76a7" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "array-bytes", - "bitflags 1.3.2", - "blake2 0.10.6", - "bounded-collections", - "bs58", - "dyn-clonable", - "ed25519-zebra", - "futures", - "hash-db", - "hash256-std-hasher", - "impl-serde 0.4.0", - "itertools 0.11.0", - "k256", - "libsecp256k1", - "log", - "merlin", - "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.3", - "paste", - "primitive-types 0.12.2", - "rand", "scale-info", - "schnorrkel 0.11.4", - "secp256k1 0.28.2", - "secrecy", "serde", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.29.0", - "sp-runtime-interface 28.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 21.0.0", - "ss58-registry", - "substrate-bip39 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 1.0.69", - "tracing", - "w3f-bls", - "zeroize", + "sp-timestamp", ] [[package]] name = "sp-core" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -18118,20 +14518,20 @@ dependencies = [ "parking_lot 0.12.3", "paste", "primitive-types 0.13.1", - "rand", + "rand 0.8.5", "scale-info", "schnorrkel 0.11.4", "secp256k1 0.28.2", "secrecy", "serde", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-externalities 0.30.0", - "sp-runtime-interface 29.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-storage 22.0.0", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", - "substrate-bip39 0.6.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "substrate-bip39", "thiserror 1.0.69", "tracing", "w3f-bls", @@ -18155,7 +14555,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "blake2b_simd", "byteorder", @@ -18168,28 +14568,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" -dependencies = [ - "quote", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 2.0.98", -] - -[[package]] -name = "sp-crypto-hashing-proc-macro" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "quote", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -18198,155 +14587,52 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-debug-derive" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-externalities" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a904407d61cb94228c71b55a9d3708e9d6558991f9e83bd42bd91df37a159d30" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-storage 21.0.0", + "syn 2.0.100", ] [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 22.0.0", -] - -[[package]] -name = "sp-genesis-builder" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcd065854d96fd81521c103d0aaa287d4f08b9b15c9fae2a3bfb208b0812bf44" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde_json", - "sp-api 33.0.0", - "sp-runtime 38.0.1", + "sp-storage", ] [[package]] name = "sp-genesis-builder" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "sp-inherents" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53407ba38ec22ca4a16381722c4bd0b559a0428bc1713079b0d5163ada63186a" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", - "thiserror 1.0.69", + "sp-api", + "sp-runtime", ] [[package]] name = "sp-inherents" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 40.1.0", + "sp-runtime", "thiserror 1.0.69", ] -[[package]] -name = "sp-io" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5036cad2e48d41f5caf6785226c8be1a7db15bec14a9fd7aa6cca84f34cf689f" -dependencies = [ - "bytes", - "ed25519-dalek", - "libsecp256k1", - "log", - "parity-scale-codec", - "polkavm-derive 0.9.1", - "rustversion", - "secp256k1 0.28.2", - "sp-core 34.0.0", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.29.0", - "sp-keystore 0.40.0", - "sp-runtime-interface 28.0.0", - "sp-state-machine 0.42.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-io" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ef7eb561bb4839cc8424ce58c5ea236cbcca83f26fcc0426d8decfe8aa97d4" -dependencies = [ - "bytes", - "docify", - "ed25519-dalek", - "libsecp256k1", - "log", - "parity-scale-codec", - "polkavm-derive 0.9.1", - "rustversion", - "secp256k1 0.28.2", - "sp-core 34.0.0", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.29.0", - "sp-keystore 0.40.0", - "sp-runtime-interface 28.0.0", - "sp-state-machine 0.43.0", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 37.0.0", - "tracing", - "tracing-core", -] - [[package]] name = "sp-io" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bytes", "docify", @@ -18357,96 +14643,52 @@ dependencies = [ "polkavm-derive 0.9.1", "rustversion", "secp256k1 0.28.2", - "sp-core 35.0.0", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-externalities 0.30.0", - "sp-keystore 0.41.0", - "sp-runtime-interface 29.0.0", - "sp-state-machine 0.44.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-trie 38.0.0", + "sp-externalities", + "sp-keystore", + "sp-runtime-interface", + "sp-state-machine", + "sp-tracing", + "sp-trie", "tracing", "tracing-core", ] -[[package]] -name = "sp-keyring" -version = "38.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03536e1ff3ec2bd8181eeaa26c0d682ebdcbd01548a055cf591077188b8c3f0" -dependencies = [ - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "strum 0.26.3", -] - [[package]] name = "sp-keyring" version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", "strum 0.26.3", ] -[[package]] -name = "sp-keystore" -version = "0.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0248b4d784cb4a01472276928977121fa39d977a5bb24793b6b15e64b046df42" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.3", - "sp-core 34.0.0", - "sp-externalities 0.29.0", -] - [[package]] name = "sp-keystore" version = "0.41.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sp-core 35.0.0", - "sp-externalities 0.30.0", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c768c11afbe698a090386876911da4236af199cd38a5866748df4d8628aeff" -dependencies = [ - "thiserror 1.0.69", - "zstd 0.12.4", + "sp-core", + "sp-externalities", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", ] -[[package]] -name = "sp-metadata-ir" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a616fa51350b35326682a472ee8e6ba742fdacb18babac38ecd46b3e05ead869" -dependencies = [ - "frame-metadata 16.0.0", - "parity-scale-codec", - "scale-info", -] - [[package]] name = "sp-metadata-ir" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "frame-metadata 18.0.0", "parity-scale-codec", @@ -18456,159 +14698,79 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.13.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", -] - -[[package]] -name = "sp-mmr-primitives" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47412a2d2e988430d5f59d7fec1473f229e1ef5ce24c1ea4f601b4b3679cac52" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "log", "parity-scale-codec", - "polkadot-ckb-merkle-mountain-range", "scale-info", - "serde", - "sp-api 33.0.0", - "sp-core 34.0.0", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 38.0.1", - "thiserror 1.0.69", + "sp-api", + "sp-application-crypto", ] [[package]] name = "sp-mmr-primitives" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "log", "parity-scale-codec", "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime 40.1.0", + "sp-api", + "sp-core", + "sp-debug-derive", + "sp-runtime", "thiserror 1.0.69", ] -[[package]] -name = "sp-npos-elections" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0c51a7b60cd663f2661e6949069eb316b092f22c239691d5272a4d0cfca0fb" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-runtime 38.0.1", -] - [[package]] name = "sp-npos-elections" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "sp-offchain" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbe721c367760bddf10fcfa24fb48edd64c442f71db971f043c8ac73f51aa6e9" -dependencies = [ - "sp-api 33.0.0", - "sp-core 34.0.0", - "sp-runtime 38.0.1", + "sp-arithmetic", + "sp-core", + "sp-runtime", ] [[package]] name = "sp-offchain" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "sp-panic-handler" -version = "13.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81478b3740b357fa0ea10fcdc1ee02ebae7734e50f80342c4743476d9f78eeea" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "backtrace", - "regex", + "sp-api", + "sp-core", + "sp-runtime", ] [[package]] name = "sp-panic-handler" version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "backtrace", "regex", ] [[package]] -name = "sp-rpc" -version = "33.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "rustc-hash 1.1.0", - "serde", - "sp-core 35.0.0", -] - -[[package]] -name = "sp-runtime" -version = "38.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5273900f0b0bef48b2e1ff9c4fb5e188b8168ee5891418a427f4be2af92ee40f" -dependencies = [ - "docify", - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "num-traits", - "parity-scale-codec", - "paste", - "rand", - "scale-info", +name = "sp-rpc" +version = "33.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" +dependencies = [ + "rustc-hash 1.1.0", "serde", - "simple-mermaid", - "sp-application-crypto 37.0.0", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing", + "sp-core", ] [[package]] name = "sp-runtime" version = "40.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "binary-merkle-tree 16.0.0", + "binary-merkle-tree", "docify", "either", "hash256-std-hasher", @@ -18617,200 +14779,95 @@ dependencies = [ "num-traits", "parity-scale-codec", "paste", - "rand", + "rand 0.8.5", "scale-info", "serde", "simple-mermaid", - "sp-application-crypto 39.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-trie 38.0.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std", + "sp-trie", + "sp-weights", "tracing", "tuplex", ] -[[package]] -name = "sp-runtime-interface" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985eb981f40c689c6a0012c937b68ed58dabb4341d06f2dfe4dfd5ed72fa4017" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkavm-derive 0.9.1", - "primitive-types 0.12.2", - "sp-externalities 0.29.0", - "sp-runtime-interface-proc-macro 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 21.0.0", - "sp-tracing 17.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 21.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions", -] - [[package]] name = "sp-runtime-interface" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive 0.9.1", "primitive-types 0.13.1", - "sp-externalities 0.30.0", - "sp-runtime-interface-proc-macro 18.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-storage 22.0.0", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "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 = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" -dependencies = [ - "Inflector", - "expander", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "Inflector", "expander", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-session" -version = "34.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4daf2e40ffc7e7e8de08efb860eb9534faf614a49c53dc282f430faedb4aed13" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 33.0.0", - "sp-core 34.0.0", - "sp-keystore 0.40.0", - "sp-runtime 38.0.1", - "sp-staking 33.0.0", + "syn 2.0.100", ] [[package]] name = "sp-session" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 35.0.0", - "sp-core 35.0.0", - "sp-keystore 0.41.0", - "sp-runtime 40.1.0", - "sp-staking 37.0.0", -] - -[[package]] -name = "sp-staking" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a0b7abfe66c07a3b6eb99e1286dfa9b6f3b057b0e986e7da2ccbf707f6c781a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "serde", - "sp-core 34.0.0", - "sp-runtime 38.0.1", + "sp-api", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-staking", ] [[package]] name = "sp-staking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", - "sp-core 35.0.0", - "sp-runtime 40.1.0", -] - -[[package]] -name = "sp-state-machine" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "211e528aa6e902261a343f7b40840aa3d66fe4ad3aadbd04a035f10baf96dbc5" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand", - "smallvec", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "sp-panic-handler 13.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 36.0.0", - "thiserror 1.0.69", - "tracing", - "trie-db", -] - -[[package]] -name = "sp-state-machine" -version = "0.43.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "930104d6ae882626e8880d9b1578da9300655d337a3ffb45e130c608b6c89660" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand", - "smallvec", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "sp-panic-handler 13.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 37.0.0", - "thiserror 1.0.69", - "tracing", - "trie-db", + "sp-core", + "sp-runtime", ] [[package]] name = "sp-state-machine" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "smallvec", - "sp-core 35.0.0", - "sp-externalities 0.30.0", - "sp-panic-handler 13.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-trie 38.0.0", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-trie", "thiserror 1.0.69", "tracing", "trie-db", @@ -18819,23 +14876,23 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "aes-gcm", "curve25519-dalek", "ed25519-dalek", "hkdf", "parity-scale-codec", - "rand", + "rand 0.8.5", "scale-info", "sha2 0.10.8", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-core 35.0.0", + "sp-api", + "sp-application-crypto", + "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-externalities 0.30.0", - "sp-runtime 40.1.0", - "sp-runtime-interface 29.0.0", + "sp-externalities", + "sp-runtime", + "sp-runtime-interface", "thiserror 1.0.69", "x25519-dalek", ] @@ -18843,80 +14900,36 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" - -[[package]] -name = "sp-std" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" - -[[package]] -name = "sp-storage" -version = "21.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c82989b3a4979a7e1ad848aad9f5d0b4388f1f454cc131766526601ab9e8f8" -dependencies = [ - "impl-serde 0.4.0", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "impl-serde 0.5.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", -] - -[[package]] -name = "sp-timestamp" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78becf144a76f6fd108dfe94a90e20a185b38c0b310dc5482328196143c8266b" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents 33.0.0", - "sp-runtime 38.0.1", - "thiserror 1.0.69", + "sp-debug-derive", ] [[package]] name = "sp-timestamp" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", + "sp-inherents", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sp-tracing" version = "17.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf641a1d17268c8fcfdb8e0fa51a79c2d4222f4cfda5f3944dbdbc384dced8d5" -dependencies = [ - "parity-scale-codec", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-tracing" -version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", "tracing", @@ -18924,184 +14937,84 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "sp-transaction-pool" -version = "33.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3c9d1604aadc15b70e95f4388d0b1aa380215520b7ddfd372531a6d8262269c" -dependencies = [ - "sp-api 33.0.0", - "sp-runtime 38.0.1", -] - [[package]] name = "sp-transaction-pool" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "sp-api 35.0.0", - "sp-runtime 40.1.0", + "sp-api", + "sp-runtime", ] [[package]] name = "sp-transaction-storage-proof" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core 35.0.0", - "sp-inherents 35.0.0", - "sp-runtime 40.1.0", - "sp-trie 38.0.0", -] - -[[package]] -name = "sp-trie" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d717c0f465f5371569e6fdc25b6f32d47c15d6e4c92b3b779e1c9b18b951d" -dependencies = [ - "ahash 0.8.11", - "hash-db", - "lazy_static", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand", - "scale-info", - "schnellru", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "thiserror 1.0.69", - "tracing", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-trie" -version = "37.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd" -dependencies = [ - "ahash 0.8.11", - "hash-db", - "lazy_static", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand", - "scale-info", - "schnellru", - "sp-core 34.0.0", - "sp-externalities 0.29.0", - "thiserror 1.0.69", - "tracing", - "trie-db", - "trie-root", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", ] [[package]] name = "sp-trie" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "ahash 0.8.11", + "ahash", "hash-db", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "scale-info", "schnellru", - "sp-core 35.0.0", - "sp-externalities 0.30.0", + "sp-core", + "sp-externalities", "thiserror 1.0.69", "tracing", "trie-db", "trie-root", ] -[[package]] -name = "sp-version" -version = "36.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bccf96fefae339dee7c4453f91be64eb28cce4c2fe82130445cf096b18b2c081" -dependencies = [ - "impl-serde 0.4.0", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-crypto-hashing-proc-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-version-proc-macro 14.0.0", - "thiserror 1.0.69", -] - [[package]] name = "sp-version" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "impl-serde 0.5.0", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-version-proc-macro 15.0.0", + "sp-crypto-hashing-proc-macro", + "sp-runtime", + "sp-std", + "sp-version-proc-macro", "thiserror 1.0.69", ] -[[package]] -name = "sp-version-proc-macro" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aee8f6730641a65fcf0c8f9b1e448af4b3bb083d08058b47528188bccc7b7a7" -dependencies = [ - "parity-scale-codec", - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "parity-scale-codec", - "proc-macro-warning 1.0.2", + "proc-macro-warning 1.84.1", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "sp-wasm-interface" -version = "21.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b066baa6d57951600b14ffe1243f54c47f9c23dd89c262e17ca00ae8dca58be9" -dependencies = [ - "anyhow", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", + "syn 2.0.100", ] [[package]] name = "sp-wasm-interface" version = "21.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -19113,30 +15026,15 @@ dependencies = [ [[package]] name = "sp-weights" version = "31.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93cdaf72a1dad537bbb130ba4d47307ebe5170405280ed1aa31fa712718a400e" -dependencies = [ - "bounded-collections", - "parity-scale-codec", - "scale-info", - "serde", - "smallvec", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sp-weights" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "bounded-collections", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-arithmetic", + "sp-debug-derive", ] [[package]] @@ -19185,29 +15083,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "ssz_rs" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057291e5631f280978fa9c8009390663ca4613359fc1318e36a8c24c392f6d1f" -dependencies = [ - "bitvec", - "num-bigint", - "sha2 0.9.9", - "ssz_rs_derive", -] - -[[package]] -name = "ssz_rs_derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f07d54c4d01a1713eb363b55ba51595da15f6f1211435b71466460da022aa140" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -19215,176 +15090,78 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] -name = "staging-parachain-info" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd00d586b0dac4f42736bdd0ad52213a891b240e011ea82b38938263dd821c25" -dependencies = [ - "cumulus-primitives-core 0.14.0", - "frame-support 36.0.1", - "frame-system 36.1.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "staging-parachain-info" -version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "parity-scale-codec", - "scale-info", - "sp-runtime 40.1.0", -] - -[[package]] -name = "staging-xcm" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aded0292274ad473250c22ed3deaf2d9ed47d15786d700e9e83ab7c1cad2ad44" -dependencies = [ - "array-bytes", - "bounded-collections", - "derivative", - "environmental", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "xcm-procedural 8.0.0", -] - -[[package]] -name = "staging-xcm" -version = "14.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21f9bbb4905116e1ba08efe2264c046ac4d6a42dcfcb402705119068f5ac3671" +name = "staging-parachain-info" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "array-bytes", - "bounded-collections", - "derivative", - "environmental", - "impl-trait-for-tuples", - "log", + "cumulus-primitives-core", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "serde", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "xcm-procedural 10.0.1", + "sp-runtime", ] [[package]] name = "staging-xcm" -version = "15.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "15.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "bounded-collections", "derivative", "environmental", - "frame-support 39.0.0", + "frame-support", "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "xcm-procedural 11.0.0", -] - -[[package]] -name = "staging-xcm-builder" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847fa2afe1bed2751eaabf7b91fa4043037947f17653d7cc59ea202cc44c6bb8" -dependencies = [ - "frame-support 36.0.1", - "frame-system 36.1.0", - "impl-trait-for-tuples", - "log", - "pallet-transaction-payment 36.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 13.0.0", - "scale-info", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-executor 15.0.0", + "sp-runtime", + "sp-weights", + "xcm-procedural", ] [[package]] name = "staging-xcm-builder" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "frame-support 39.0.0", - "frame-system 39.1.0", - "impl-trait-for-tuples", - "log", - "pallet-asset-conversion 21.0.0", - "pallet-transaction-payment 39.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", -] - -[[package]] -name = "staging-xcm-executor" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b98d8219449eaf02e71a7edf1a14b14d4c713dd01d9df66fde1ce30dba4d6d" +version = "18.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "environmental", - "frame-benchmarking 36.0.0", - "frame-support 36.0.1", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", + "pallet-asset-conversion", + "pallet-transaction-payment", "parity-scale-codec", + "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic 26.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 34.0.0", - "sp-io 37.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", + "sp-arithmetic", + "sp-io", + "sp-runtime", + "sp-weights", + "staging-xcm", + "staging-xcm-executor", ] [[package]] name = "staging-xcm-executor" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "18.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "environmental", - "frame-benchmarking 39.0.0", - "frame-support 39.0.0", + "frame-benchmarking", + "frame-support", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-weights", + "staging-xcm", "tracing", ] @@ -19483,26 +15260,13 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.98", -] - -[[package]] -name = "substrate-bip39" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca58ffd742f693dc13d69bdbb2e642ae239e0053f6aab3b104252892f856700a" -dependencies = [ - "hmac 0.12.1", - "pbkdf2", - "schnorrkel 0.11.4", - "sha2 0.10.8", - "zeroize", + "syn 2.0.100", ] [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -19514,32 +15278,32 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" [[package]] name = "substrate-frame-rpc-system" version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "docify", - "frame-system-rpc-runtime-api 35.0.0", + "frame-system-rpc-runtime-api", "futures", - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "log", "parity-scale-codec", "sc-rpc-api", "sc-transaction-pool-api", - "sp-api 35.0.0", - "sp-block-builder 35.0.0", + "sp-api", + "sp-block-builder", "sp-blockchain", - "sp-core 35.0.0", - "sp-runtime 40.1.0", + "sp-core", + "sp-runtime", ] [[package]] name = "substrate-prometheus-endpoint" version = "0.17.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -19555,7 +15319,7 @@ name = "substrate-state-machine" version = "1.15.3" source = "git+https://github.com/r0gue-io/ismp?branch=polkadot-stable2412#99e29f58ab1dfcaa1739641ef594c6061c19ec2d" dependencies = [ - "frame-support 39.0.0", + "frame-support", "hash-db", "ismp", "pallet-ismp", @@ -19563,53 +15327,33 @@ dependencies = [ "primitive-types 0.13.1", "scale-info", "serde", - "sp-consensus-aura 0.41.0", - "sp-consensus-babe 0.41.0", - "sp-runtime 40.1.0", - "sp-trie 38.0.0", + "sp-consensus-aura", + "sp-consensus-babe", + "sp-runtime", + "sp-trie", ] [[package]] name = "substrate-state-trie-migration-rpc" version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "jsonrpsee 0.24.8", + "jsonrpsee 0.24.9", "parity-scale-codec", "sc-client-api", "sc-rpc-api", "serde", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-state-machine 0.44.0", - "sp-trie 38.0.0", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-trie", "trie-db", ] -[[package]] -name = "substrate-wasm-builder" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dc993ad871b63fbba60362f3ea86583f5e7e1256e8fdcb3b5b249c9ead354bf" -dependencies = [ - "build-helper", - "cargo_metadata 0.15.4", - "console", - "filetime", - "parity-wasm", - "polkavm-linker 0.9.2", - "sp-maybe-compressed-blob 11.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "strum 0.26.3", - "tempfile", - "toml 0.8.19", - "walkdir", - "wasm-opt", -] - [[package]] name = "substrate-wasm-builder" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "array-bytes", "build-helper", @@ -19624,14 +15368,14 @@ dependencies = [ "polkavm-linker 0.9.2", "sc-executor", "shlex", - "sp-core 35.0.0", - "sp-io 39.0.0", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-version 38.0.0", + "sp-core", + "sp-io", + "sp-maybe-compressed-blob", + "sp-tracing", + "sp-version", "strum 0.26.3", "tempfile", - "toml 0.8.19", + "toml 0.8.20", "walkdir", "wasm-opt", ] @@ -19672,9 +15416,9 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.12.2", "reconnecting-jsonrpsee-ws-client", - "scale-bits 0.6.0", - "scale-decode 0.13.1", - "scale-encode 0.7.2", + "scale-bits", + "scale-decode", + "scale-encode", "scale-info", "scale-value", "serde", @@ -19706,7 +15450,7 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.98", + "syn 2.0.100", "thiserror 1.0.69", "tokio", ] @@ -19726,9 +15470,9 @@ dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "primitive-types 0.12.2", - "scale-bits 0.6.0", - "scale-decode 0.13.1", - "scale-encode 0.7.2", + "scale-bits", + "scale-decode", + "scale-encode", "scale-info", "scale-value", "serde", @@ -19761,13 +15505,13 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c195f803d70687e409aba9be6c87115b5da8952cd83c4d13f2e043239818fcd" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "parity-scale-codec", "proc-macro-error", "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -19820,9 +15564,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.98" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -19849,7 +15593,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -19858,7 +15602,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -19873,41 +15617,6 @@ dependencies = [ "libc", ] -[[package]] -name = "system-parachains-constants" -version = "1.0.0" -source = "git+https://github.com/paseo-network/runtimes?tag=v1.3.4#313b81aa2b2cb076b4f99c9b2bea040a8bcf709f" -dependencies = [ - "frame-support 36.0.1", - "parachains-common 15.0.0", - "paseo-runtime-constants", - "polkadot-core-primitives 14.0.0", - "polkadot-primitives 14.0.0", - "smallvec", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", -] - -[[package]] -name = "system-parachains-constants" -version = "1.0.0" -source = "git+https://github.com/polkadot-fellows/runtimes?tag=v1.3.4#3b18d942c766c7f358da50608b44edbe218284a4" -dependencies = [ - "frame-support 36.0.1", - "kusama-runtime-constants", - "parachains-common 15.0.0", - "polkadot-core-primitives 14.0.0", - "polkadot-primitives 14.0.0", - "polkadot-runtime-constants", - "smallvec", - "sp-core 34.0.0", - "sp-runtime 38.0.1", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", -] - [[package]] name = "tap" version = "1.0.1" @@ -19922,15 +15631,14 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.16.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "cfg-if", "fastrand 2.3.0", - "getrandom 0.3.1", + "getrandom 0.3.2", "once_cell", - "rustix 0.38.44", + "rustix 1.0.5", "windows-sys 0.59.0", ] @@ -19955,11 +15663,11 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" +checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" dependencies = [ - "rustix 0.38.44", + "rustix 1.0.5", "windows-sys 0.59.0", ] @@ -19969,21 +15677,6 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" -[[package]] -name = "testnet-parachains-constants" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "cumulus-primitives-core 0.17.0", - "frame-support 39.0.0", - "polkadot-core-primitives 16.0.0", - "rococo-runtime-constants", - "smallvec", - "sp-runtime 40.1.0", - "staging-xcm 15.0.1", - "westend-runtime-constants", -] - [[package]] name = "thiserror" version = "1.0.69" @@ -19995,11 +15688,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.11", + "thiserror-impl 2.0.12", ] [[package]] @@ -20019,7 +15712,7 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -20030,18 +15723,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -20092,9 +15785,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.37" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -20107,15 +15800,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.19" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -20142,9 +15835,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -20157,9 +15850,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.43.0" +version = "1.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" dependencies = [ "backtrace", "bytes", @@ -20168,7 +15861,7 @@ dependencies = [ "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.8", + "socket2 0.5.9", "tokio-macros", "windows-sys 0.52.0", ] @@ -20181,7 +15874,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -20207,11 +15900,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.22", + "rustls 0.23.25", "tokio", ] @@ -20229,24 +15922,25 @@ dependencies = [ [[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.25", + "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.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", @@ -20267,9 +15961,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" dependencies = [ "serde", "serde_spanned", @@ -20288,11 +15982,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.23" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap 2.7.1", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", @@ -20320,9 +16014,9 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "bytes", - "http 1.2.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "pin-project-lite", @@ -20362,7 +16056,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -20388,10 +16082,10 @@ dependencies = [ [[package]] name = "tracing-gum" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "coarsetime", - "polkadot-primitives 17.0.0", + "polkadot-primitives", "tracing", "tracing-gum-proc-macro", ] @@ -20399,13 +16093,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "expander", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -20476,7 +16170,7 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand", + "rand 0.8.5", "smallvec", "socket2 0.4.10", "thiserror 1.0.69", @@ -20502,7 +16196,7 @@ dependencies = [ "idna 0.4.0", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "smallvec", "thiserror 1.0.69", "tinyvec", @@ -20523,7 +16217,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot 0.12.3", - "rand", + "rand 0.8.5", "resolv-conf", "smallvec", "thiserror 1.0.69", @@ -20546,20 +16240,20 @@ 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 0.2.12", + "http 1.3.1", "httparse", "log", - "rand", - "rustls 0.21.12", + "rand 0.9.0", + "rustls 0.23.25", + "rustls-pki-types", "sha1", - "thiserror 1.0.69", + "thiserror 2.0.12", "url", "utf-8", ] @@ -20578,15 +16272,15 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand", + "rand 0.8.5", "static_assertions", ] [[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" @@ -20632,9 +16326,9 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-normalization" @@ -20646,10 +16340,10 @@ dependencies = [ ] [[package]] -name = "unicode-width" -version = "0.1.14" +name = "unicode-segmentation" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" @@ -20792,9 +16486,9 @@ dependencies = [ "arrayref", "constcat", "digest 0.10.7", - "rand", - "rand_chacha", - "rand_core", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "sha2 0.10.8", "sha3", "thiserror 1.0.69", @@ -20834,9 +16528,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] @@ -20872,7 +16566,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "wasm-bindgen-shared", ] @@ -20907,7 +16601,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -20923,12 +16617,12 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.220.0" +version = "0.220.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf48234b389415b226a4daef6562933d38c7b28a8b8f64c5c4130dad1561ab7" +checksum = "e913f9242315ca39eff82aee0e19ee7a372155717ff0eb082c741e435ce25ed1" dependencies = [ "leb128", - "wasmparser 0.220.0", + "wasmparser 0.220.1", ] [[package]] @@ -21037,7 +16731,7 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c128c039340ffd50d4195c3f8ce31aac357f06804cfc494c8b9508d4b30dca4" dependencies = [ - "ahash 0.8.11", + "ahash", "hashbrown 0.14.5", "string-interner", ] @@ -21078,15 +16772,15 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.220.0" +version = "0.220.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e246c2772ce3ebc83f89a2d4487ac5794cad6c309b2071818a88c7db7c36d87b" +checksum = "8d07b6a3b550fefa1a914b6d54fc175dd11c3392da11eee604e6ffc759805d25" dependencies = [ - "ahash 0.8.11", - "bitflags 2.8.0", + "ahash", + "bitflags 2.9.0", "hashbrown 0.14.5", - "indexmap 2.7.1", - "semver 1.0.25", + "indexmap 2.9.0", + "semver 1.0.26", "serde", ] @@ -21274,7 +16968,7 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand", + "rand 0.8.5", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -21304,16 +16998,35 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webpki" 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" @@ -21331,135 +17044,135 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "21.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "binary-merkle-tree 16.0.0", + "binary-merkle-tree", "bitvec", - "frame-benchmarking 39.0.0", - "frame-election-provider-support 39.0.0", - "frame-executive 39.0.0", - "frame-metadata-hash-extension 0.7.0", - "frame-support 39.0.0", - "frame-system 39.1.0", - "frame-system-benchmarking 39.0.0", - "frame-system-rpc-runtime-api 35.0.0", - "frame-try-runtime 0.45.0", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", + "frame-metadata-hash-extension", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "log", - "pallet-asset-rate 18.0.0", - "pallet-authority-discovery 39.0.0", - "pallet-authorship 39.0.0", - "pallet-babe 39.0.0", - "pallet-bags-list 38.0.0", - "pallet-balances 40.0.0", - "pallet-beefy 40.0.0", - "pallet-beefy-mmr 40.0.0", + "pallet-asset-rate", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-bags-list", + "pallet-balances", + "pallet-beefy", + "pallet-beefy-mmr", "pallet-collective", - "pallet-conviction-voting 39.0.0", - "pallet-delegated-staking 6.0.0", + "pallet-conviction-voting", + "pallet-delegated-staking", "pallet-democracy", - "pallet-election-provider-multi-phase 38.0.0", - "pallet-election-provider-support-benchmarking 38.0.0", + "pallet-election-provider-multi-phase", + "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", - "pallet-fast-unstake 38.0.0", - "pallet-grandpa 39.0.0", - "pallet-identity 39.0.0", - "pallet-indices 39.0.0", + "pallet-fast-unstake", + "pallet-grandpa", + "pallet-identity", + "pallet-indices", "pallet-membership", - "pallet-message-queue 42.0.0", + "pallet-message-queue", "pallet-migrations", - "pallet-mmr 39.0.0", - "pallet-multisig 39.0.0", - "pallet-nomination-pools 37.0.0", - "pallet-nomination-pools-benchmarking 37.0.0", - "pallet-nomination-pools-runtime-api 35.0.0", - "pallet-offences 38.0.0", - "pallet-offences-benchmarking 39.0.0", - "pallet-parameters 0.10.0", - "pallet-preimage 39.0.0", - "pallet-proxy 39.0.0", + "pallet-mmr", + "pallet-multisig", + "pallet-nomination-pools", + "pallet-nomination-pools-benchmarking", + "pallet-nomination-pools-runtime-api", + "pallet-offences", + "pallet-offences-benchmarking", + "pallet-parameters", + "pallet-preimage", + "pallet-proxy", "pallet-recovery", - "pallet-referenda 39.0.0", + "pallet-referenda", "pallet-root-testing", - "pallet-scheduler 40.0.0", - "pallet-session 39.0.0", - "pallet-session-benchmarking 39.0.0", + "pallet-scheduler", + "pallet-session", + "pallet-session-benchmarking", "pallet-society", - "pallet-staking 39.0.1", - "pallet-staking-runtime-api 25.0.0", - "pallet-state-trie-migration 43.0.0", - "pallet-sudo 39.0.0", - "pallet-timestamp 38.0.0", - "pallet-transaction-payment 39.0.0", - "pallet-transaction-payment-rpc-runtime-api 39.0.0", - "pallet-treasury 38.0.0", - "pallet-utility 39.0.0", - "pallet-vesting 39.0.0", - "pallet-whitelist 38.0.0", - "pallet-xcm 18.0.0", - "pallet-xcm-benchmarks 18.0.0", - "parity-scale-codec", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "polkadot-runtime-common 18.0.0", - "polkadot-runtime-parachains 18.0.1", + "pallet-staking", + "pallet-staking-runtime-api", + "pallet-state-trie-migration", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "pallet-whitelist", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", "scale-info", "serde", "serde_derive", "serde_json", "smallvec", - "sp-api 35.0.0", - "sp-application-crypto 39.0.0", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-authority-discovery 35.0.0", - "sp-block-builder 35.0.0", - "sp-consensus-babe 0.41.0", - "sp-consensus-beefy 23.0.0", - "sp-consensus-grandpa 22.0.0", - "sp-core 35.0.0", - "sp-genesis-builder 0.16.0", - "sp-inherents 35.0.0", - "sp-io 39.0.0", - "sp-keyring 40.0.0", - "sp-mmr-primitives 35.0.0", - "sp-npos-elections 35.0.0", - "sp-offchain 35.0.0", - "sp-runtime 40.1.0", - "sp-session 37.0.0", - "sp-staking 37.0.0", - "sp-storage 22.0.0", - "sp-transaction-pool 35.0.0", - "sp-version 38.0.0", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", - "staging-xcm-executor 18.0.0", - "substrate-wasm-builder 25.0.0", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "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-storage", + "sp-transaction-pool", + "sp-version", + "staging-xcm", + "staging-xcm-builder", + "staging-xcm-executor", + "substrate-wasm-builder", "westend-runtime-constants", - "xcm-runtime-apis 0.5.0", + "xcm-runtime-apis", ] [[package]] name = "westend-runtime-constants" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", - "polkadot-primitives 17.0.0", - "polkadot-runtime-common 18.0.0", + "frame-support", + "polkadot-primitives", + "polkadot-runtime-common", "smallvec", - "sp-core 35.0.0", - "sp-runtime 40.1.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-builder 18.0.0", + "sp-core", + "sp-runtime", + "sp-weights", + "staging-xcm", + "staging-xcm-builder", ] [[package]] name = "which" -version = "7.0.1" +version = "7.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a9e33648339dc1642b0e36e21b3385e6148e289226f657c809dee59df5028" +checksum = "2774c861e1f072b3aadc02f8ba886c26ad6321567ecc294c935434cad06f1283" dependencies = [ "either", "env_home", @@ -21479,9 +17192,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" @@ -21514,6 +17227,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core 0.52.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows" version = "0.53.0" @@ -21539,10 +17262,51 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd" dependencies = [ - "windows-result", + "windows-result 0.1.2", "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result 0.3.2", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "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" @@ -21552,6 +17316,24 @@ 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]] name = "windows-sys" version = "0.45.0" @@ -21768,9 +17550,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f" +checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" dependencies = [ "memchr", ] @@ -21793,11 +17575,11 @@ checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -21828,7 +17610,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ "curve25519-dalek", - "rand_core", + "rand_core 0.6.4", "serde", "zeroize", ] @@ -21852,118 +17634,44 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" +checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" dependencies = [ - "asn1-rs 0.6.2", + "asn1-rs 0.7.1", "data-encoding", - "der-parser 9.0.0", + "der-parser 10.0.0", "lazy_static", "nom", - "oid-registry 0.7.1", + "oid-registry 0.8.1", "rusticata-macros", - "thiserror 1.0.69", + "thiserror 2.0.12", "time", ] -[[package]] -name = "xcm-emulator" -version = "0.17.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" -dependencies = [ - "array-bytes", - "cumulus-pallet-parachain-system 0.18.0", - "cumulus-pallet-xcmp-queue 0.18.0", - "cumulus-primitives-core 0.17.0", - "cumulus-primitives-parachain-inherent 0.17.0", - "cumulus-test-relay-sproof-builder", - "frame-support 39.0.0", - "frame-system 39.1.0", - "impl-trait-for-tuples", - "log", - "pallet-balances 40.0.0", - "pallet-message-queue 42.0.0", - "parachains-common 19.0.0", - "parity-scale-codec", - "paste", - "polkadot-parachain-primitives 15.0.0", - "polkadot-primitives 17.0.0", - "polkadot-runtime-parachains 18.0.1", - "sp-arithmetic 26.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-core 35.0.0", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io 39.0.0", - "sp-runtime 40.1.0", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-tracing 17.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", -] - -[[package]] -name = "xcm-procedural" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4717a97970a9cda70d7db53cf50d2615c2f6f6b7c857445325b4a39ea7aa2cd" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "xcm-procedural" -version = "10.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a95797c7b227a8466a65a16376bc275e1b8f2a5471325f00f6870314c45f9e" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "xcm-procedural" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "11.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "xcm-runtime-apis" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30fffcd9128a46abd836c37dd001c2cbe122aeb8904cd7b9bac8358564fb7b56" -dependencies = [ - "frame-support 36.0.1", - "parity-scale-codec", - "scale-info", - "sp-api 33.0.0", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "staging-xcm 14.0.3", - "staging-xcm-executor 15.0.0", + "syn 2.0.100", ] [[package]] name = "xcm-runtime-apis" -version = "0.5.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#9de8837d9d0acede6204893ae553c722e1097b03" +version = "0.5.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "frame-support 39.0.0", + "frame-support", "parity-scale-codec", "scale-info", - "sp-api 35.0.0", - "sp-weights 31.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "staging-xcm 15.0.1", - "staging-xcm-executor 18.0.0", + "sp-api", + "sp-weights", + "staging-xcm", + "staging-xcm-executor", ] [[package]] @@ -21982,24 +17690,34 @@ dependencies = [ ] [[package]] -name = "xxhash-rust" -version = "0.8.15" +name = "yamux" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" +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.12.1" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" +checksum = "17610762a1207ee816c6fadc29220904753648aba0a9ed61c7b8336e80a559c4" dependencies = [ "futures", "log", "nohash-hasher", "parking_lot 0.12.3", "pin-project", - "rand", + "rand 0.8.5", "static_assertions", + "web-time", ] [[package]] @@ -22037,7 +17755,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "synstructure 0.13.1", ] @@ -22047,8 +17765,16 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +dependencies = [ + "zerocopy-derive 0.8.24", ] [[package]] @@ -22059,27 +17785,38 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", +] + +[[package]] +name = "zerocopy-derive" +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.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", "synstructure 0.13.1", ] @@ -22100,7 +17837,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] @@ -22122,22 +17859,20 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.100", ] [[package]] name = "zip" -version = "2.2.2" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9c1ea7b3a5e1f4b922ff856a129881167511563dc219869afe3787fc0c1a45" +checksum = "1dcb24d0152526ae49b9b96c1dcf71850ca1e0b882e4e28ed898a93c41334744" dependencies = [ "arbitrary", "crc32fast", "crossbeam-utils", - "displaydoc", - "indexmap 2.7.1", + "indexmap 2.9.0", "memchr", - "thiserror 2.0.11", ] [[package]] @@ -22180,9 +17915,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +version = "2.0.15+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 7e6d89d20..c1a605826 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,12 +19,12 @@ exclude = [ "extension/contract", "pop-api", "tests/contracts", + "integration-tests", ] members = [ - "integration-tests", "node", "pallets/*", - "pop-api/integration-tests", + #"pop-api/integration-tests", "primitives", "runtime/devnet", "runtime/mainnet", @@ -148,6 +148,7 @@ sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "sta sp-std = { 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-weights = { 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-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2412" } @@ -205,3 +206,24 @@ ismp-parachain-runtime-api = { git = "https://github.com/r0gue-io/ismp", branch pallet-ismp = { git = "https://github.com/r0gue-io/ismp", branch = "polkadot-stable2412", default-features = false } pallet-ismp-rpc = { git = "https://github.com/r0gue-io/ismp", branch = "polkadot-stable2412", default-features = false } pallet-ismp-runtime-api = { git = "https://github.com/r0gue-io/ismp", branch = "polkadot-stable2412", default-features = false } + +# Revive +# array-bytes = { version = "6.2.2", default-features = false } +# assert_matches = { version = "1.5.0" } +# bitflags = { version = "1.3.2" } +# environmental = { version = "1.1.4", default-features = false } +# pallet-revive-fixtures = { path = "pallets/revive/fixtures", default-features = false } +# pallet-revive-mock-network = { default-features = false, path = "pallets/revive/mock-network" } +# pallet-revive-proc-macro = { path = "pallets/revive/proc-macro", default-features = false } +# pallet-revive-uapi = { path = "pallets/revive/uapi", default-features = false } +# parity-wasm = { version = "0.45.0" } +# paste = { version = "1.0.14", default-features = false } +# pretty_assertions = { version = "1.3.0" } +# proc-macro2 = { version = "1.0.64" } +# quote = { version = "1.0.33" } +# rlp = { version = "0.5.2", default-features = false } +# sp-tracing = { version = "16.0.0", default-features = false } +# syn = { version = "2.0.53" } +# tempfile = { version = "3.8.1" } +# toml = { version = "0.8.8" } +# wat = { version = "1.0.0" } diff --git a/extension/src/lib.rs b/extension/src/lib.rs index a9010ca7f..5114ae004 100644 --- a/extension/src/lib.rs +++ b/extension/src/lib.rs @@ -167,7 +167,7 @@ mod extension { // Invalid encoded runtime call. let input = vec![0u8, 99]; let mut env = MockEnvironment::new(DispatchExtFuncId::get(), input.clone()); - let mut extension = Extension::::default(); + let mut extension: Extension = Extension::::default(); assert!(extension.call(&mut env).is_err()); // Charges weight. assert_eq!( diff --git a/pallets/api/Cargo.toml b/pallets/api/Cargo.toml index badba5b86..7668fd43d 100644 --- a/pallets/api/Cargo.toml +++ b/pallets/api/Cargo.toml @@ -23,19 +23,26 @@ frame-benchmarking.workspace = true frame-support.workspace = true frame-system.workspace = true pallet-assets.workspace = true +pallet-balances.workspace = true +pallet-timestamp.workspace = true pallet-nfts.workspace = true sp-core.workspace = true +sp-io.workspace = true sp-runtime.workspace = true sp-std.workspace = true +sp-weights.workspace = true # Cross chain ismp.workspace = true pallet-ismp.workspace = true +pallet-xcm.workspace = true xcm.workspace = true +xcm-builder.workspace = true [dev-dependencies] pallet-balances.workspace = true -sp-io.workspace = true +pallet-ismp = { workspace = true, features = [ "unsigned" ] } +xcm-builder.workspace = true [features] default = [ "std" ] @@ -44,7 +51,10 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "pallet-assets/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", "pallet-nfts/runtime-benchmarks", + "pallet-timestamp/runtime-benchmarks", + "pallet-xcm/runtime-benchmarks", "pop-chain-extension/runtime-benchmarks", "sp-runtime/runtime-benchmarks", ] @@ -58,12 +68,14 @@ std = [ "pallet-balances/std", "pallet-ismp/std", "pallet-nfts/std", + "pallet-xcm/std", "pop-chain-extension/std", "scale-info/std", "sp-core/std", "sp-io/std", "sp-runtime/std", "sp-std/std", + "xcm-builder/std" ] try-runtime = [ "frame-support/try-runtime", diff --git a/pallets/api/src/messaging/benchmarking.rs b/pallets/api/src/messaging/benchmarking.rs new file mode 100644 index 000000000..df2885208 --- /dev/null +++ b/pallets/api/src/messaging/benchmarking.rs @@ -0,0 +1,447 @@ +//! Benchmarking setup for pallet_api::messaging +#![cfg(feature = "runtime-benchmarks")] + +use ::ismp::{ + messaging::hash_request, + module::IsmpModule, + router::{Request, Response as IsmpResponse, Timeout}, +}; +use ::xcm::latest::{Junctions, Location}; +use frame_benchmarking::{account, v2::*}; +use frame_support::{ + dispatch::RawOrigin, + traits::{Currency, EnsureOrigin}, + BoundedVec, +}; +use sp_core::{Get, H256}; +use sp_io::hashing::blake2_256; +use sp_runtime::traits::One; +use sp_std::vec; + +use super::*; +use crate::messaging::test_utils::*; + +const SEED: u32 = 1; +type RuntimeOrigin = ::RuntimeOrigin; + +// See if `generic_event` has been emitted. +fn assert_has_event(generic_event: ::RuntimeEvent) { + frame_system::Pallet::::assert_has_event(generic_event.into()); +} + +#[benchmarks( + where + T: pallet_balances::Config + pallet_timestamp::Config, +)] +mod messaging_benchmarks { + use super::*; + + /// # Parameters + /// - `x`: `Linear<1, { T::MaxRemovals::get() }>` The number of message removals to perform + /// (bounded by `MaxRemovals`). + #[benchmark] + fn remove(x: Linear<1, { T::MaxRemovals::get() }>) { + let message_deposit: BalanceOf = 50_000u32.into(); + let callback_deposit: BalanceOf = 100_000u32.into(); + let owner: AccountIdOf = account("Alice", 0, SEED); + let mut message_ids: BoundedVec = BoundedVec::new(); + pallet_balances::Pallet::::make_free_balance_be(&owner, u32::MAX.into()); + + for i in 0..x { + T::Fungibles::hold(&HoldReason::Messaging.into(), &owner, message_deposit).unwrap(); + + T::Fungibles::hold(&HoldReason::CallbackGas.into(), &owner, callback_deposit).unwrap(); + + let message_id = H256::from(blake2_256(&(i.to_le_bytes()))); + let commitment = H256::from(blake2_256(&(i.to_le_bytes()))); + + // Timeout messages release callback deposit hence, are most expensive case for now. + let good_message = Message::IsmpTimeout { + commitment: commitment.clone(), + message_deposit, + callback_deposit: Some(callback_deposit), + }; + + Messages::::insert(&owner, &message_id.0, &good_message); + IsmpRequests::::insert(&commitment, (&owner, &message_id.0)); + message_ids.try_push(message_id.0).unwrap(); + } + #[extrinsic_call] + Pallet::::remove(RawOrigin::Signed(owner.clone()), message_ids.clone()); + + assert_has_event::( + crate::messaging::Event::Removed { origin: owner, messages: message_ids.to_vec() } + .into(), + ) + } + + /// Submits a new XCM query message with an optional callback. + /// + /// # Parameters + /// - `x`: `Linear<0, 1>` Whether a callback is supplied: + /// - `0`: No callback + /// - `1`: Callback attached + #[benchmark] + fn xcm_new_query(x: Linear<0, 1>) { + let owner: AccountIdOf = account("Alice", 0, SEED); + let message_id: [u8; 32] = [0; 32]; + let responder = Location { parents: 1, interior: Junctions::Here }; + let timeout = frame_system::Pallet::::block_number() + 1000u32.into(); + let callback = if x == 1 { + Some(Callback { + selector: [0; 4], + weight: Weight::from_parts(100, 100), + abi: Abi::Scale, + }) + } else { + None + }; + + pallet_balances::Pallet::::make_free_balance_be(&owner, u32::MAX.into()); + + #[extrinsic_call] + Pallet::::xcm_new_query( + RawOrigin::Signed(owner.clone()), + message_id.clone(), + responder.clone(), + timeout, + callback.clone(), + ); + + assert_has_event::( + crate::messaging::Event::XcmQueryCreated { + origin: owner, + id: message_id, + query_id: 0, + callback, + } + .into(), + ) + } + + /// Handles a response from an XCM query and executes a callback if present. + /// + /// No benchmark input parameters. A mock response is created and processed. + #[benchmark] + fn xcm_response() { + let owner: AccountIdOf = account("Alice", 0, SEED); + let id_data = b"xcmresponse"; + let encoded = id_data.encode(); + let message_id: [u8; 32] = H256::from(blake2_256(&encoded)).into(); + + let responder = Location { parents: 1, interior: Junctions::Here }; + let timeout = as One>::one() + frame_system::Pallet::::block_number(); + let response = Response::ExecutionResult(None); + + let callback = Some(Callback { + selector: [0; 4], + weight: Weight::from_parts(100, 100), + abi: Abi::Scale, + }); + + pallet_balances::Pallet::::make_free_balance_be(&owner, u32::MAX.into()); + + Pallet::::xcm_new_query( + RawOrigin::Signed(owner.clone()).into(), + message_id, + responder.clone(), + timeout, + callback.clone(), + ) + .unwrap(); + + let response_origin = T::XcmResponseOrigin::try_successful_origin().unwrap(); + + #[extrinsic_call] + Pallet::::xcm_response(response_origin as RuntimeOrigin, 0, response.clone()); + + assert_has_event::( + crate::messaging::Event::XcmResponseReceived { + dest: owner.clone(), + id: message_id, + query_id: 0, + response, + } + .into(), + ); + } + + /// Handles a response to a previously submitted ISMP request. + /// + /// # Parameters + /// - `x`: `Linear<0, 1>` The type of ISMP response: + /// - `0`: `PostResponse` + /// - `1`: `GetResponse` + #[benchmark] + fn ismp_on_response(x: Linear<0, 1>) { + let origin: T::AccountId = account("alice", 0, SEED); + pallet_balances::Pallet::::make_free_balance_be(&origin, u32::MAX.into()); + + let id_data = (x, b"ismp_response"); + let encoded = id_data.encode(); + let message_id: [u8; 32] = H256::from(blake2_256(&encoded)).into(); + + let weight = Weight::from_parts(100_000, 100_000); + let cb_gas_deposit = T::WeightToFee::weight_to_fee(&weight); + T::Fungibles::hold(&HoldReason::CallbackGas.into(), &origin, cb_gas_deposit).unwrap(); + // also hold for message deposit + let message_deposit = calculate_protocol_deposit::( + ProtocolStorageDeposit::IsmpRequests, + ) + calculate_message_deposit::() + + calculate_deposit_of::>(); + + // Take some extra so we dont need to complicate the benchmark further. + T::Fungibles::hold(&HoldReason::Messaging.into(), &origin, message_deposit * 2u32.into()) + .unwrap(); + + let callback = Some(Callback { selector: [0; 4], weight, abi: Abi::Scale }); + + let (response, event, commitment) = if x == 1 { + // get response + let get_response = ismp_get_response( + T::MaxKeyLen::get() as usize, + T::MaxKeys::get() as usize, + T::MaxContextLen::get() as usize, + T::MaxResponseLen::get() as usize, + ); + let commitment = hash_request::(&Request::Get(get_response.get.clone())); + let get = IsmpResponse::Get(get_response); + + ( + get, + crate::messaging::Event::::IsmpGetResponseReceived { + dest: origin.clone(), + id: message_id, + commitment, + }, + commitment, + ) + } else { + // post response + let post_response = ismp_post_response( + T::MaxDataLen::get() as usize, + T::MaxResponseLen::get() as usize, + ); + + let commitment = + hash_request::(&Request::Post(post_response.post.clone().clone())); + let post = IsmpResponse::Post(post_response); + + ( + post, + crate::messaging::Event::::IsmpPostResponseReceived { + dest: origin.clone(), + id: message_id, + commitment, + }, + commitment, + ) + }; + + let message = Message::Ismp { commitment, callback, message_deposit }; + + IsmpRequests::::insert(&commitment, (&origin, &message_id)); + Messages::::insert(&origin, &message_id, &message); + + let handler = crate::messaging::ismp::Handler::::new(); + + #[block] + { + handler.on_response(response.clone()).unwrap() + } + + assert_has_event::(event.into()) + } + + /// Handles timeout of a pending ISMP request or response. + /// + /// # Parameters + /// - `x`: `Linear<0, 2>` Type of item that timed out: + /// - `0`: `PostRequest` + /// - `1`: `GetRequest` + /// - `2`: `PostResponse` + #[benchmark] + fn ismp_on_timeout(x: Linear<0, 2>) { + let origin: T::AccountId = account("alice", 0, SEED); + let id_data = (x, b"ismp_timeout"); + let encoded = id_data.encode(); + let message_id: [u8; 32] = H256::from(blake2_256(&encoded)).into(); + + let callback = Some(Callback { + selector: [1; 4], + weight: Weight::from_parts(100, 100), + abi: Abi::Scale, + }); + + let (timeout_message, commitment) = if x == 0 { + let post_request = Request::Post(ismp_post_request(T::MaxDataLen::get() as usize)); + let commitment = hash_request::(&post_request); + (Timeout::Request(post_request), commitment) + } else if x == 1 { + let get_request = Request::Get(ismp_get_request( + T::MaxKeyLen::get() as usize, + T::MaxKeys::get() as usize, + T::MaxContextLen::get() as usize, + )); + let commitment = hash_request::(&get_request); + (Timeout::Request(get_request), commitment) + } else { + let post_response = ismp_post_response( + T::MaxDataLen::get() as usize, + T::MaxResponseLen::get() as usize, + ); + let commitment = + hash_request::(&Request::Post(post_response.post.clone())); + (Timeout::Response(post_response), commitment) + }; + + let event = Event::::IsmpTimedOut { commitment }; + + let input_message = Message::Ismp { commitment, callback, message_deposit: One::one() }; + + IsmpRequests::::insert(&commitment, (&origin, &message_id)); + Messages::::insert(&origin, &message_id, &input_message); + + let handler = crate::messaging::ismp::Handler::::new(); + #[block] + { + handler.on_timeout(timeout_message).unwrap() + } + assert_has_event::(event.into()); + } + + /// Sends a `Get` request using ISMP with varying context and key sizes. + /// + /// # Parameters + /// - `y`: `Linear<0, { T::MaxContextLen::get() }>` Length of the context field (in bytes). + /// - `z`: `Linear<0, { T::MaxKeys::get() }>` Number of keys in the outer keys array. + /// - `a`: `Linear<0, 1>` Whether a callback is attached: + /// - `0`: No callback + /// - `1`: Callback attached + #[benchmark] + fn ismp_get( + x: Linear<0, { T::MaxContextLen::get() }>, + y: Linear<0, { T::MaxKeys::get() }>, + a: Linear<0, 1>, + ) { + pallet_timestamp::Pallet::::set_timestamp(1u32.into()); + let origin: T::AccountId = account("alice", 0, SEED); + let id_data = (x, y, a, "ismp_get"); + let encoded = id_data.encode(); + let message_id = H256::from(blake2_256(&encoded)); + + let inner_keys: BoundedVec = + vec![1u8].repeat(T::MaxKeyLen::get() as usize).try_into().unwrap(); + + let mut outer_keys = vec![]; + for _ in 0..y { + outer_keys.push(inner_keys.clone()) + } + + let callback = if a == 1 { + Some(Callback { + selector: [1; 4], + weight: Weight::from_parts(100, 100), + abi: Abi::Scale, + }) + } else { + None + }; + + let get = crate::messaging::ismp::Get:: { + dest: 2000, + height: 100_000, + timeout: 100_000, + context: vec![1u8].repeat(x as usize).try_into().unwrap(), + keys: outer_keys.try_into().unwrap(), + }; + + pallet_balances::Pallet::::make_free_balance_be( + &origin, + pallet_balances::Pallet::::total_issuance() / 2u32.into(), + ); + + #[extrinsic_call] + Pallet::::ismp_get(RawOrigin::Signed(origin.clone()), message_id.into(), get, callback); + } + + /// Sends a `Post` request using ISMP with a variable-sized data payload. + /// + /// # Parameters + /// - `x`: `Linear<0, { T::MaxDataLen::get() }>` Length of the `data` field (in bytes). + /// - `y`: `Linear<0, 1>` Whether a callback is attached: + /// - `0`: No callback + /// - `1`: Callback attached + #[benchmark] + fn ismp_post(x: Linear<0, { T::MaxDataLen::get() }>, y: Linear<0, 1>) { + pallet_timestamp::Pallet::::set_timestamp(1u32.into()); + + let origin: T::AccountId = account("alice", 0, SEED); + let id_data = (x, y, b"ismp_post"); + let encoded = id_data.encode(); + let message_id = H256::from(blake2_256(&encoded)); + + let data = vec![1u8].repeat(x as usize).try_into().unwrap(); + + let get = crate::messaging::ismp::Post:: { dest: 2000, timeout: 100_000, data }; + + let callback = if y == 1 { + Some(Callback { + selector: [1; 4], + weight: Weight::from_parts(100, 100), + + abi: Abi::Scale, + }) + } else { + None + }; + + pallet_balances::Pallet::::make_free_balance_be( + &origin, + pallet_balances::Pallet::::total_issuance() / 2u32.into(), + ); + + #[extrinsic_call] + Pallet::::ismp_post(RawOrigin::Signed(origin.clone()), message_id.into(), get, callback); + } + + /// Tops up callback weight for callback execution of pending messages. + #[benchmark] + fn top_up_callback_weight() { + let origin: T::AccountId = account("alice", 0, SEED); + let message_id = [0u8; 32]; + let initial_weight = Weight::from_parts(100_000, 100_000); + let additional_weight = Weight::from_parts(150_000, 150_000); + let callback = Callback { abi: Abi::Scale, weight: initial_weight, selector: [0u8; 4] }; + + let message: Message = Message::Ismp { + commitment: [10u8; 32].into(), + deposit: 100_000u32.into(), + callback: Some(callback), + }; + + Messages::::insert(&origin, message_id, &message); + + pallet_balances::Pallet::::make_free_balance_be( + &origin, + pallet_balances::Pallet::::total_issuance() / 2u32.into(), + ); + + #[extrinsic_call] + Pallet::::top_up_callback_weight( + RawOrigin::Signed(origin.clone()), + message_id, + additional_weight, + ); + + assert_has_event::( + Event::::CallbackGasIncreased { + message_id, + total_weight: initial_weight + additional_weight, + } + .into(), + ); + } + + impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test); +} diff --git a/pallets/api/src/messaging/deposits.rs b/pallets/api/src/messaging/deposits.rs new file mode 100644 index 000000000..0ff3d24d5 --- /dev/null +++ b/pallets/api/src/messaging/deposits.rs @@ -0,0 +1,72 @@ +use sp_runtime::SaturatedConversion; + +use super::*; + +#[derive(Clone, Debug, Encode, Eq, Decode, MaxEncodedLen, PartialEq, TypeInfo)] +pub enum ProtocolStorageDeposit { + XcmQueries, + IsmpRequests, +} + +/// Calculate the deposit required for the space used for a specific protocol. +pub fn calculate_protocol_deposit>>( + p: ProtocolStorageDeposit, +) -> BalanceOf { + let base: usize = match p { + ProtocolStorageDeposit::XcmQueries => (KeyLenOf::>::get() as usize) + .saturating_add(AccountIdOf::::max_encoded_len()) + .saturating_add(MessageId::max_encoded_len()) + .saturating_add(Option::::max_encoded_len()), + + ProtocolStorageDeposit::IsmpRequests => (KeyLenOf::>::get() as usize) + .saturating_add(AccountIdOf::::max_encoded_len()) + .saturating_add(MessageId::max_encoded_len()), + }; + ByteFee::get().saturating_mul(base.saturated_into()) +} + +/// Calculate the deposit for the storage used for the Message enum. +pub fn calculate_message_deposit>>() -> BalanceOf { + ByteFee::get().saturating_mul( + (KeyLenOf::>::get() as usize + Message::::max_encoded_len()) + .saturated_into(), + ) +} + +/// Blanket implementation of generating the deposit for a type that implements MaxEncodedLen. +pub fn calculate_deposit_of>, U: MaxEncodedLen>( +) -> BalanceOf { + ByteFee::get().saturating_mul(U::max_encoded_len().saturated_into()) +} + +#[cfg(test)] +mod tests { + use frame_support::pallet_prelude::Get; + + use super::*; + use crate::mock::*; + + struct Two; + impl Get for Two { + fn get() -> u128 { + 2 + } + } + + #[test] + fn calculate_deposit_of_works() { + new_test_ext().execute_with(|| { + // 4 + 4 bytes. + #[derive( + Copy, Clone, Debug, Encode, Eq, Decode, MaxEncodedLen, PartialEq, TypeInfo, + )] + struct Data { + pub a: u32, + pub b: u32, + } + + // 8 * 2 = 16 units + assert_eq!(calculate_deposit_of::(), 16); + }) + } +} diff --git a/pallets/api/src/messaging/mod.rs b/pallets/api/src/messaging/mod.rs index c91842d62..5088b439e 100644 --- a/pallets/api/src/messaging/mod.rs +++ b/pallets/api/src/messaging/mod.rs @@ -1,22 +1,31 @@ -//! TODO: pallet docs. +extern crate alloc; +pub use alloc::borrow::ToOwned; + +use ::ismp::Error as IsmpError; use codec::{Decode, Encode}; use frame_support::{ - dispatch::{DispatchResult, DispatchResultWithPostInfo}, - pallet_prelude::MaxEncodedLen, + dispatch::{DispatchErrorWithPostInfo, DispatchResult, DispatchResultWithPostInfo}, + pallet_prelude::*, storage::KeyLenOf, traits::{ - fungible::Inspect, - tokens::{fungible::hold::Mutate, Precision::Exact}, - Get, OriginTrait, + tokens::{ + fungible::{hold::Mutate as HoldMutate, Balanced, Credit, Inspect, Mutate}, + Fortitude, Precision, Preservation, + }, + Get, OnUnbalanced, }, }; use frame_system::pallet_prelude::*; pub use pallet::*; use scale_info::TypeInfo; use sp_core::H256; -use sp_runtime::{traits::Saturating, BoundedVec, SaturatedConversion}; +use sp_runtime::{ + traits::{Saturating, TryConvert}, + BoundedVec, DispatchError, +}; use sp_std::vec::Vec; +use sp_weights::WeightToFee; use transports::{ ismp::{self as ismp, FeeMetadata, IsmpDispatcher}, xcm::{self as xcm, Location, QueryId}, @@ -26,24 +35,34 @@ use xcm::Response; use super::Weight; +#[cfg(feature = "runtime-benchmarks")] +mod benchmarking; + /// Messaging transports. pub mod transports; +/// Message storage deposit calculations. +mod deposits; +use deposits::*; + +mod weights; +pub use weights::WeightInfo; + +#[cfg(test)] +mod tests; + +#[cfg(any(test, feature = "runtime-benchmarks"))] +pub(crate) mod test_utils; + type AccountIdOf = ::AccountId; type BlockNumberOf = BlockNumberFor; -type BalanceOf = <::Deposit as Inspect>>::Balance; -pub type MessageId = u64; +type BalanceOf = <::Fungibles as Inspect>>::Balance; +type DbWeightOf = ::DbWeight; + +pub type MessageId = [u8; 32]; #[frame_support::pallet] pub mod pallet { - use frame_support::{ - dispatch::DispatchResult, - pallet_prelude::*, - storage::KeyLenOf, - traits::tokens::{fungible::hold::Mutate, Precision::Exact}, - }; - use sp_core::H256; - use sp_runtime::traits::TryConvert; use super::*; @@ -55,17 +74,21 @@ pub mod pallet { type OriginConverter: TryConvert; + /// The base byte fee for data stored onchain. #[pallet::constant] - type ByteFee: Get>; + type OnChainByteFee: Get>; - type Callback: CallbackT; + /// The base byte fee for data stored offchain. + #[pallet::constant] + type OffChainByteFee: Get>; - /// The deposit mechanism. - type Deposit: Mutate - + Inspect; + /// The type responsible for executing callbacks. + type CallbackExecutor: CallbackExecutor; - #[pallet::constant] - type IsmpByteFee: Get>; + /// The deposit + fee mechanism. + type Fungibles: HoldMutate + + Mutate + + Balanced; /// The ISMP message dispatcher. type IsmpDispatcher: IsmpDispatcher>; @@ -74,32 +97,63 @@ pub mod pallet { /// request. #[pallet::constant] type MaxContextLen: Get; + /// The maximum length of outbound (posted) data. #[pallet::constant] type MaxDataLen: Get; + + /// The maximum amount of key for an outbound request. #[pallet::constant] type MaxKeys: Get; + + /// The maximum byte length for a single key of an ismp request. #[pallet::constant] type MaxKeyLen: Get; + /// The maximum length for a response. #[pallet::constant] type MaxResponseLen: Get; + + /// The maximum amount of removals in a single call to remove. #[pallet::constant] type MaxRemovals: Get; /// Overarching hold reason. type RuntimeHoldReason: From; + /// Wrapper type for creating a query with a notify type Xcm: NotifyQueryHandler; + /// The origin of the response for xcm. type XcmResponseOrigin: EnsureOrigin; + + /// SAFETY: Recommended this is small as is used to updated a message status in the hooks. + /// The maximum number of xcm timeout updates that can be processed per block. + #[pallet::constant] + type MaxXcmQueryTimeoutsPerBlock: Get; + + /// Where the callback fees or response fees are charged to. + type FeeHandler: OnUnbalanced>; + + /// The type responsible for converting between weight and balance, commonly transaction + /// payment. + type WeightToFee: WeightToFee>; + + /// The fee paid to the relayers account for relaying a message. + type IsmpRelayerFee: Get>; + + /// The implementation of Keccak used for commitment hashes. + type Keccak256: ::ismp::messaging::Keccak256; + + /// Pallet weights. + type WeightInfo: super::WeightInfo; } #[pallet::pallet] pub struct Pallet(_); #[pallet::storage] - pub(super) type Messages = StorageDoubleMap< + pub(crate) type Messages = StorageDoubleMap< _, Blake2_128Concat, T::AccountId, @@ -117,6 +171,15 @@ pub mod pallet { pub(super) type XcmQueries = StorageMap<_, Identity, QueryId, (T::AccountId, MessageId), OptionQuery>; + #[pallet::storage] + pub(super) type XcmQueryTimeouts = StorageMap< + _, + Identity, + BlockNumberOf, + BoundedVec<(T::AccountId, MessageId), T::MaxXcmQueryTimeoutsPerBlock>, + ValueQuery, + >; + /// The events that can be emitted. #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] @@ -201,7 +264,7 @@ pub mod pallet { /// The callback which failed. callback: Callback, /// The error which occurred. - error: DispatchError, + error: DispatchErrorWithPostInfo, }, /// One or more messages have been removed for the origin. Removed { @@ -210,16 +273,46 @@ pub mod pallet { /// The messages which were removed. messages: Vec, }, + /// An ISMP message has timed out. + IsmpTimedOut { commitment: H256 }, + /// A collection of xcm queries have timed out. + XcmQueriesTimedOut { query_ids: Vec }, + /// An error has occured while attempting to refund weight. + WeightRefundErrored { message_id: MessageId, error: DispatchError }, + /// Callback gas has been topped up. + CallbackGasIncreased { message_id: MessageId, total_weight: Weight }, } #[pallet::error] pub enum Error { - DispatchFailed, + /// The message is invalid. InvalidMessage, + /// The query is invalid. InvalidQuery, + /// Failed to convert origin. OriginConversionFailed, + /// The message already exists. MessageExists, + /// The request is pending. RequestPending, + /// dispatching a call via ISMP falied + IsmpDispatchFailed, + /// The message was not found + MessageNotFound, + /// The request has timed out + RequestTimedOut, + /// Timeouts must be in the future. + FutureTimeoutMandatory, + /// Message block limit has been reached for this expiry block. Try a different timeout. + MaxMessageTimeoutPerBlockReached, + /// This callback cannot be processed due to lack of blockspace. Please poll the response. + BlockspaceAllowanceReached, + /// This is not possible as the message has completed. + MessageCompleted, + /// No callback has been found for this query. + NoCallbackFound, + /// Weight cannot be zero. + ZeroWeight, } /// A reason for the pallet placing a hold on funds. @@ -228,57 +321,111 @@ pub mod pallet { /// Held for the duration of a message's lifespan. #[codec(index = 0)] Messaging, + #[codec(index = 1)] + CallbackGas, } - #[pallet::call] - impl Pallet { - #[pallet::call_index(0)] - #[pallet::weight(Weight::zero())] // todo: benchmarking after consolidating storage - pub fn send(_origin: OriginFor, _id: MessageId) -> DispatchResult { - // e.g. Message::StateQuery { dest: Parachain(1000), storage_keys: vec![] } - // e.g. Message::Transact { dest: Parachain(1000), call: vec![] } - todo!("Reserved for messaging abstractions") + #[pallet::hooks] + impl Hooks> for Pallet { + fn on_initialize(n: BlockNumberOf) -> Weight { + // As of polkadot-2412 XCM timeouts are not handled by the implementation of OnResponse + // in pallet-xcm. As a result, we must handle timeouts in the pallet. + // Iterate through the queries that have expired and update their status. + let mut weight: Weight = Zero::zero(); + let mut query_ids = Vec::new(); + for (origin, message_id) in XcmQueryTimeouts::::get(n) { + weight = weight.saturating_add(DbWeightOf::::get().reads_writes(2, 1)); + Messages::::mutate(origin, message_id, |maybe_message| { + if let Some(Message::XcmQuery { query_id, message_deposit, callback }) = + maybe_message.as_mut() + { + let callback_deposit = + callback.map(|cb| T::WeightToFee::weight_to_fee(&cb.weight)); + query_ids.push(*query_id); + *maybe_message = Some(Message::XcmTimeout { + query_id: *query_id, + message_deposit: *message_deposit, + callback_deposit, + }); + } + }) + } + + if !query_ids.is_empty() { + Self::deposit_event(Event::::XcmQueriesTimedOut { query_ids }) + } + weight } + } - // TODO: does ismp allow querying to ensure that specified para id is supported? + #[pallet::call] + impl Pallet { + /// Submit a new ISMP `Get` request. + /// + /// This sends a `Get` request through ISMP, optionally with a callback to handle the + /// response. + /// + /// # Parameters + /// - `origin`: The account submitting the request. + /// - `id`: A unique identifier for the message. + /// - `message`: The ISMP `Get` message containing query details. + /// - `callback`: Optional callback to execute upon receiving a response. #[pallet::call_index(1)] - #[pallet::weight(Weight::zero() // todo: benchmarking after consolidating storage - // Add any additional gas limit specified for callback execution - .saturating_add(callback.map(|cb| { - T::Callback::weight().saturating_add(cb.weight) - }).unwrap_or_default()) - )] + #[pallet::weight( + { + let keys_len: u32 = message.keys.len().try_into().unwrap_or(T::MaxKeys::get()); + let context_len: u32 = message.context.len().try_into().unwrap_or(T::MaxContextLen::get()); + let has_callback = callback.is_some() as u32; + T::WeightInfo::ismp_get(context_len, keys_len, has_callback) + } + )] pub fn ismp_get( origin: OriginFor, id: MessageId, message: ismp::Get, - fee: BalanceOf, callback: Option, ) -> DispatchResult { let origin = ensure_signed(origin)?; + ensure!(!Messages::::contains_key(&origin, id), Error::::MessageExists); - // Calculate deposit and place on hold. - let deposit = Self::calculate_deposit( - message.calculate_deposit() + - // IsmpRequests - (KeyLenOf::>::get() as usize + - AccountIdOf::::max_encoded_len() + - MessageId::max_encoded_len()) - .saturated_into::>() * - T::ByteFee::get(), - ); - T::Deposit::hold(&HoldReason::Messaging.into(), &origin, deposit)?; + // Take deposits and fees. + let message_deposit = calculate_protocol_deposit::( + ProtocolStorageDeposit::IsmpRequests, + ) + .saturating_add(calculate_message_deposit::()) + .saturating_add(calculate_deposit_of::>()); - // Process message by dispatching request via ISMP. - ensure!(!Messages::::contains_key(&origin, &id), Error::::MessageExists); - let commitment = T::IsmpDispatcher::default() - .dispatch_request(message.into(), FeeMetadata { payer: origin.clone(), fee }) - .map_err(|_| Error::::DispatchFailed)?; + T::Fungibles::hold(&HoldReason::Messaging.into(), &origin, message_deposit)?; + + if let Some(cb) = callback.as_ref() { + T::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &origin, + T::WeightToFee::weight_to_fee(&cb.weight), + )?; + } - // Store commitment for lookup on response, message for querying, response/timeout - // handling. - IsmpRequests::::insert(&commitment, (&origin, id)); - Messages::::insert(&origin, id, Message::Ismp { commitment, callback, deposit }); + // Process message by dispatching request via ISMP. + let commitment = match T::IsmpDispatcher::default().dispatch_request( + message.into(), + FeeMetadata { payer: origin.clone(), fee: T::IsmpRelayerFee::get() }, + ) { + Ok(commitment) => Ok::(commitment), + Err(e) => { + if let Ok(err) = e.downcast::() { + log::error!("ISMP Dispatch failed!! {:?}", err); + } + return Err(Error::::IsmpDispatchFailed.into()); + }, + }?; + // Store commitment for lookup on response, message for querying, + // response/timeout handling. + IsmpRequests::::insert(commitment, (&origin, id)); + Messages::::insert( + &origin, + id, + Message::Ismp { commitment, callback, message_deposit }, + ); Pallet::::deposit_event(Event::::IsmpGetDispatched { origin, id, @@ -288,45 +435,63 @@ pub mod pallet { Ok(()) } - // TODO: does ismp allow querying to ensure that specified para id is supported? + /// Submit a new ISMP `Post` request. + /// + /// Sends a `Post` message through ISMP with arbitrary data and an optional callback. + /// + /// # Parameters + /// - `origin`: The account submitting the request. + /// - `id`: A unique identifier for the message. + /// - `message`: The ISMP `Post` message containing the payload. + /// - `callback`: Optional callback to execute upon receiving a response. #[pallet::call_index(2)] - #[pallet::weight(Weight::zero() // todo: benchmarking after consolidating storage - // Add any additional gas limit specified for callback execution - .saturating_add(callback.map(|cb| { - T::Callback::weight().saturating_add(cb.weight) - }).unwrap_or_default()) - )] + #[pallet::weight({ + let data_len: u32 = message.data.len().try_into().unwrap_or(T::MaxDataLen::get()); + let has_callback = callback.is_some() as u32; + T::WeightInfo::ismp_post(data_len, has_callback) + })] pub fn ismp_post( origin: OriginFor, id: MessageId, message: ismp::Post, - fee: BalanceOf, callback: Option, ) -> DispatchResult { let origin = ensure_signed(origin)?; + ensure!(!Messages::::contains_key(&origin, id), Error::::MessageExists); - // Calculate deposit and place on hold. - let deposit = Self::calculate_deposit( - message.calculate_deposit() + - // IsmpRequests - (KeyLenOf::>::get() as usize + - AccountIdOf::::max_encoded_len() + - MessageId::max_encoded_len()) - .saturated_into::>() * - T::ByteFee::get(), - ); - T::Deposit::hold(&HoldReason::Messaging.into(), &origin, deposit)?; + // Take deposits and fees. + let message_deposit = calculate_protocol_deposit::( + ProtocolStorageDeposit::IsmpRequests, + ) + .saturating_add(calculate_message_deposit::()) + .saturating_add(calculate_deposit_of::>()); + + T::Fungibles::hold(&HoldReason::Messaging.into(), &origin, message_deposit)?; + + if let Some(cb) = callback.as_ref() { + T::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &origin, + T::WeightToFee::weight_to_fee(&cb.weight), + )?; + } // Process message by dispatching request via ISMP. - ensure!(!Messages::::contains_key(&origin, &id), Error::::MessageExists); let commitment = T::IsmpDispatcher::default() - .dispatch_request(message.into(), FeeMetadata { payer: origin.clone(), fee }) - .map_err(|_| Error::::DispatchFailed)?; + .dispatch_request( + message.into(), + FeeMetadata { payer: origin.clone(), fee: T::IsmpRelayerFee::get() }, + ) + .map_err(|_| Error::::IsmpDispatchFailed)?; - // Store commitment for lookup on response, message for querying, response/timeout - // handling. - IsmpRequests::::insert(&commitment, (&origin, id)); - Messages::::insert(&origin, id, Message::Ismp { commitment, callback, deposit }); + // Store commitment for lookup on response, message for querying, + // response/timeout handling. + IsmpRequests::::insert(commitment, (&origin, id)); + Messages::::insert( + &origin, + id, + Message::Ismp { commitment, callback, message_deposit }, + ); Pallet::::deposit_event(Event::::IsmpPostDispatched { origin, id, @@ -336,47 +501,93 @@ pub mod pallet { Ok(()) } + /// Initiate a new XCM query. + /// + /// Starts a query using the XCM interface, specifying a responder and timeout block. + /// + /// # Parameters + /// - `origin`: The account initiating the query. + /// - `id`: A unique message ID. + /// - `responder`: Location of the XCM responder. + /// - `timeout`: Block number after which the query should timeout. + /// - `callback`: Optional callback for handling the response. #[pallet::call_index(3)] - #[pallet::weight(Weight::zero() // todo: benchmarking after consolidating storage - // Add any additional gas limit specified for callback execution - .saturating_add(callback.map(|cb| { - T::Callback::weight().saturating_add(cb.weight) - }).unwrap_or_default()) - // TODO: add weight of xcm_response dispatchable once benchmarked - )] + #[pallet::weight( + { + T::WeightInfo::xcm_new_query(callback.is_some() as u32) + } + )] pub fn xcm_new_query( origin: OriginFor, - id: u64, + id: MessageId, responder: Location, timeout: BlockNumberOf, callback: Option, ) -> DispatchResult { + let querier_location = T::OriginConverter::try_convert(origin.clone()) + .map_err(|_| Error::::OriginConversionFailed)?; let origin = ensure_signed(origin)?; + ensure!(!Messages::::contains_key(&origin, id), Error::::MessageExists); + + let current_block = frame_system::Pallet::::block_number(); + ensure!(current_block < timeout, Error::::FutureTimeoutMandatory); - // Calculate deposit and place on hold. - let deposit = Self::calculate_deposit( - // XcmQueries - (KeyLenOf::>::get() as usize + - AccountIdOf::::max_encoded_len() + - MessageId::max_encoded_len() + - Option::::max_encoded_len()) - .saturated_into::>() * - T::ByteFee::get(), + XcmQueryTimeouts::::try_mutate( + current_block.saturating_add(timeout), + |bounded_vec| { + bounded_vec + .try_push((origin.clone(), id)) + .map_err(|_| Error::::MaxMessageTimeoutPerBlockReached) + }, + )?; + + // Take deposits and fees. + let message_deposit = calculate_protocol_deposit::( + ProtocolStorageDeposit::XcmQueries, + ) + .saturating_add(calculate_message_deposit::()); + T::Fungibles::hold(&HoldReason::Messaging.into(), &origin, message_deposit)?; + + let mut callback_execution_weight = Weight::zero(); + + if let Some(cb) = callback.as_ref() { + T::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &origin, + T::WeightToFee::weight_to_fee(&cb.weight), + )?; + + callback_execution_weight = T::CallbackExecutor::execution_weight(); + } + + let response_prepayment_amount = T::WeightToFee::weight_to_fee( + &T::WeightInfo::xcm_response().saturating_add(callback_execution_weight), ); - T::Deposit::hold(&HoldReason::Messaging.into(), &origin, deposit)?; + + let credit = T::Fungibles::withdraw( + &origin, + response_prepayment_amount, + Precision::Exact, + Preservation::Preserve, + Fortitude::Polite, + )?; + + T::FeeHandler::on_unbalanced(credit); // Process message by creating new query via XCM. - ensure!(!Messages::::contains_key(&origin, &id), Error::::MessageExists); - // Xcm only uses/stores pallet, index - i.e. (u8,u8) - let notify = Call::::xcm_response { query_id: 0, response: Default::default() }; - let querier = T::OriginConverter::try_convert(T::RuntimeOrigin::signed(origin.clone())) - .map_err(|_| Error::::OriginConversionFailed)?; - let query_id = T::Xcm::new_notify_query(responder, notify, timeout, querier); + // Xcm only uses/stores pallet, index - i.e. (u8,u8), hence the fields in xcm_response + // are ignored. + let notify = Call::::xcm_response { query_id: 0, xcm_response: Default::default() }; + let query_id = T::Xcm::new_notify_query(responder, notify, timeout, querier_location); // Store query id for later lookup on response, message for querying status, // response/timeout handling. - XcmQueries::::insert(&query_id, (&origin, id)); - Messages::::insert(&origin, id, Message::XcmQuery { query_id, callback, deposit }); + XcmQueries::::insert(query_id, (&origin, id)); + Messages::::insert( + &origin, + id, + Message::XcmQuery { query_id, callback, message_deposit }, + ); Pallet::::deposit_event(Event::::XcmQueryCreated { origin, id, @@ -386,166 +597,443 @@ pub mod pallet { Ok(()) } - // NOTE: dispatchable should not fail, otherwise response will be lost. + /// Handle a response to a previous XCM query. + /// + /// Executes a stored callback or updates the state with the received response. + /// + /// # Parameters + /// - `origin`: The XCM responder origin. + /// - `query_id`: The ID of the XCM query being responded to. + /// - `xcm_response`: The response data. #[pallet::call_index(4)] - #[pallet::weight(Weight::zero())] // todo: benchmarking + #[pallet::weight({ + // This is only used to check against max_weight field in the OnResponse implementation in pallet-xcm. + T::WeightInfo::xcm_response() + })] pub fn xcm_response( origin: OriginFor, query_id: QueryId, - response: Response, + xcm_response: Response, ) -> DispatchResult { T::XcmResponseOrigin::ensure_origin(origin)?; - // Lookup message from query id. - let (origin, id) = XcmQueries::::take(query_id).ok_or(Error::::InvalidQuery)?; - let Some(Message::XcmQuery { query_id, callback, deposit }) = - Messages::::get(&origin, &id) - else { - return Err(Error::::InvalidMessage.into()) + let extrinsic_weight = T::WeightInfo::xcm_response() + .saturating_add(T::CallbackExecutor::execution_weight()); + + ensure!( + frame_system::BlockWeight::::get() + .checked_accrue(extrinsic_weight, DispatchClass::Normal) + .is_ok(), + Error::::BlockspaceAllowanceReached + ); + + // Manually adjust weight ahead of fallible execution. + // The fees of which should have been paid. + frame_system::Pallet::::register_extra_weight_unchecked( + T::WeightInfo::xcm_response() + .saturating_add(T::CallbackExecutor::execution_weight()), + DispatchClass::Normal, + ); + + let (initiating_origin, id) = + XcmQueries::::get(query_id).ok_or(Error::::MessageNotFound)?; + let xcm_query_message = + Messages::::get(&initiating_origin, id).ok_or(Error::::MessageNotFound)?; + + let (query_id, callback, message_deposit) = match &xcm_query_message { + Message::XcmQuery { query_id, callback, message_deposit } => + (query_id, callback, message_deposit), + Message::XcmTimeout { .. } => return Err(Error::::RequestTimedOut.into()), + _ => return Err(Error::::InvalidMessage.into()), }; - // Attempt callback with response if specified. + // Emit event before possible callback execution. + Self::deposit_event(Event::::XcmResponseReceived { + dest: initiating_origin.clone(), + id, + query_id: *query_id, + response: xcm_response.clone(), + }); + if let Some(callback) = callback { - if Self::call(origin.clone(), callback, id, &response, deposit).is_ok() { - Self::deposit_event(Event::::XcmResponseReceived { - dest: origin, - id, - query_id, - response, - }); - return Ok(()); + // Attempt callback with response if specified. + log::debug!(target: "pop-api::extension", "xcm callback={:?}, response={:?}", callback, xcm_response); + // Never roll back state if call fails. + // Ensure that the response can be polled. + if Self::call(&initiating_origin, callback.to_owned(), &id, &xcm_response).is_ok() { + Messages::::remove(&initiating_origin, id); + XcmQueries::::remove(query_id); + T::Fungibles::release( + &HoldReason::Messaging.into(), + &initiating_origin, + *message_deposit, + Precision::Exact, + )?; + + return Ok(()) } } - - // Otherwise store response for manual retrieval and removal. + // No callback is executed, Messages::::insert( - &origin, - &id, - Message::XcmResponse { query_id, response: response.clone(), deposit }, - ); - Self::deposit_event(Event::::XcmResponseReceived { - dest: origin, + &initiating_origin, id, - query_id, - response, - }); - Ok(()) + Message::XcmResponse { + query_id: *query_id, + message_deposit: *message_deposit, + response: xcm_response, + }, + ); + Ok(().into()) } - // Remove a request/response, returning any deposit previously taken. + /// Remove a batch of completed or timed-out messages. + /// + /// Allows users to clean up storage and reclaim deposits for messages that have concluded. + /// + /// # Parameters + /// - `origin`: The account removing the messages. + /// - `messages`: List of message IDs to remove (bounded by `MaxRemovals`). #[pallet::call_index(5)] - #[pallet::weight(Weight::zero())] // todo: benchmarking after consolidating storage + #[pallet::weight(T::WeightInfo::remove(messages.len() as u32))] pub fn remove( origin: OriginFor, messages: BoundedVec, ) -> DispatchResult { let origin = ensure_signed(origin)?; + for id in &messages { - // Ensure request exists and is not pending. - let deposit = match Messages::::take(&origin, id) { - Some(message) => match message { - Message::Ismp { .. } | Message::XcmQuery { .. } => { - return Err(Error::::RequestPending.into()); - }, - Message::IsmpResponse { commitment, deposit, .. } => { - IsmpRequests::::remove(commitment); - deposit - }, - Message::XcmResponse { query_id, deposit, .. } => { - XcmQueries::::remove(query_id); - deposit - }, - Message::IsmpTimedOut { .. } => { - todo!() - }, + let Some(message) = Messages::::get(&origin, id) else { + return Err(Error::::MessageNotFound.into()); + }; + + let (message_deposit, maybe_callback_deposit) = match message { + Message::Ismp { .. } => Err(Error::::RequestPending), + Message::XcmQuery { .. } => Err(Error::::RequestPending), + Message::IsmpResponse { message_deposit, commitment, .. } => { + Messages::::remove(&origin, id); + IsmpRequests::::remove(commitment); + Ok((message_deposit, None)) }, - None => { - return Err(Error::::InvalidMessage.into()); + Message::XcmResponse { message_deposit, query_id, .. } => { + Messages::::remove(&origin, id); + XcmQueries::::remove(query_id); + Ok((message_deposit, None)) }, - }; - // Return deposit. - T::Deposit::release(&HoldReason::Messaging.into(), &origin, deposit, Exact)?; + Message::IsmpTimeout { + message_deposit, commitment, callback_deposit, .. + } => { + Messages::::remove(&origin, id); + IsmpRequests::::remove(commitment); + Ok((message_deposit, callback_deposit)) + }, + Message::XcmTimeout { query_id, message_deposit, callback_deposit, .. } => { + Messages::::remove(&origin, id); + XcmQueries::::remove(query_id); + Ok((message_deposit, callback_deposit)) + }, + }?; + + T::Fungibles::release( + &HoldReason::Messaging.into(), + &origin, + message_deposit, + Precision::Exact, + )?; + if let Some(callback_deposit) = maybe_callback_deposit { + T::Fungibles::release( + &HoldReason::CallbackGas.into(), + &origin, + callback_deposit, + Precision::Exact, + )?; + } } + Self::deposit_event(Event::::Removed { origin, messages: messages.into_inner() }); + Ok(()) } - } -} -impl Pallet { - // Calculate the deposit required for a particular message. - fn calculate_deposit(deposit: BalanceOf) -> BalanceOf { - // Add amount for `Messages` key and value - deposit.saturating_add( - (KeyLenOf::>::get().saturated_into::>() + - Message::::max_encoded_len().saturated_into::>()) * - T::ByteFee::get(), - ) - } + /// Top up the callback weight for a pending message. + /// + /// This extrinsic allows an origin to increase the gas (weight) budget allocated for a + /// callback associated with an in-flight message. This is useful when the initially + /// allocated weight is insufficient to complete the callback. + /// + /// The additional fee for the new weight is held from the origin using the + /// `HoldReason::CallbackGas`. + /// + /// Only pending requests can have their weight increased. + /// + /// # Parameters + /// + /// - `origin`: Must be a signed account. + /// - `message_id`: The identifier of the message to be topped up. + /// - `additional_weight`: The additional weight to be appended to the message's existing + /// callback weight. + #[pallet::call_index(6)] + #[pallet::weight(T::WeightInfo::top_up_callback_weight())] + pub fn top_up_callback_weight( + origin: OriginFor, + message_id: MessageId, + additional_weight: Weight, + ) -> DispatchResult { + let who = ensure_signed(origin)?; + + if additional_weight.any_eq(::zero()) { + return Err(Error::::ZeroWeight.into()); + } + + T::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &who, + T::WeightToFee::weight_to_fee(&additional_weight), + )?; + + Messages::::try_mutate(&who, message_id, |maybe_message| { + if let Some(message) = maybe_message { + // Mutate to accrue new weight. + let total_weight = match message { + Message::Ismp { callback, .. } => callback.as_mut().map_or_else( + || Err(Error::::NoCallbackFound), + |cb| Ok(cb.increase_callback_weight(additional_weight)), + ), + Message::XcmQuery { callback, .. } => callback.as_mut().map_or_else( + || Err(Error::::NoCallbackFound), + |cb| Ok(cb.increase_callback_weight(additional_weight)), + ), + Message::IsmpResponse { .. } => Err(Error::::MessageCompleted), + Message::XcmResponse { .. } => Err(Error::::MessageCompleted), + Message::IsmpTimeout { .. } => Err(Error::::RequestTimedOut), + Message::XcmTimeout { .. } => Err(Error::::RequestTimedOut), + }?; + + Self::deposit_event(Event::::CallbackGasIncreased { + message_id, + total_weight, + }) + } else { + return Err(Error::::MessageNotFound); + } - // Attempt to notify via callback. - fn call( - origin: AccountIdOf, - callback: Callback, - id: MessageId, - data: &impl Encode, - deposit: BalanceOf, - ) -> DispatchResult { - // TODO: check weight removed from block weight - may need dispatching via executive - // instead - let result = T::Callback::execute( - origin.clone(), - [callback.selector.to_vec(), (id, data).encode()].concat(), - callback.weight, - ); - match result { - Ok(_post_info) => { - // TODO: do something with post_info: e.g. refund unused weight - // Return deposit. - T::Deposit::release(&HoldReason::Messaging.into(), &origin, deposit, Exact)?; - Messages::::remove(&origin, &id); - Self::deposit_event(Event::::CallbackExecuted { - origin: origin.clone(), - id, - callback, - }); - Self::deposit_event(Event::::Removed { - origin: origin.clone(), - messages: [id].to_vec(), - }); Ok(()) - }, - Err(error) => { - // Fallback to storing the message for polling - pre-paid weight is lost. - Self::deposit_event(Event::::CallbackFailed { - origin: origin.clone(), - id, - callback, - error: error.error, - }); - // TODO: logging - Err(error.error) - }, + })?; + + Ok(()) } } -} -#[derive(Clone, Decode, Debug, Encode, MaxEncodedLen, PartialEq, TypeInfo)] -pub enum Status { - Pending, - TimedOut, - Complete, -} + impl Pallet { + /// Executes a registered callback with the given input data and manually charges block + /// weight. + /// + /// This function is responsible for handling the full lifecycle of a callback invocation: + /// - Calculating the total weight cost of the callback. + /// - Ensuring that sufficient blockspace is available before execution. + /// - Executing the callback via the configured `CallbackExecutor`. + /// - Registering the actual weight used with the runtime. + /// - Managing any associated weight fee refund logic. + /// + /// # Parameters + /// + /// - `initiating_origin`: The account that triggered the callback. This will be passed to + /// the executor and used for fee management and event attribution. + /// - `callback`: The callback definition. + /// - `id`: The message ID associated with this callback's message. + /// - `data`: The encoded payload to send to the callback. + /// + /// # Weight Handling + /// + /// - Before executing the callback, this function checks whether the total expected weight + /// (`callback.weight`) can be accommodated in the current block. + /// - If the block is saturated, the function returns early with an error and does not + /// mutate state. + /// - After execution, the actual weight used by the callback is determined using + /// [`Self::process_callback_weight`] and registered via + /// [`frame_system::Pallet::::register_extra_weight_unchecked`]. + pub(crate) fn call( + initiating_origin: &AccountIdOf, + callback: Callback, + id: &MessageId, + data: &impl Encode, + ) -> DispatchResult { + // This is the total weight that should be deducted from the blockspace for callback + // execution. + let max_weight = callback.weight; + + // Dont mutate state if blockspace will be saturated. + ensure!( + frame_system::BlockWeight::::get() + .checked_accrue(max_weight, DispatchClass::Normal) + .is_ok(), + Error::::BlockspaceAllowanceReached + ); + + // Execute callback. + // Its important to note that we must still ensure that the weight used is accounted for + // in frame_system. Hence all calls after this must not return an err and state + // should not be rolled back. + let result = T::CallbackExecutor::execute( + initiating_origin, + match callback.abi { + Abi::Scale => [callback.selector.to_vec(), (id, data).encode()].concat(), + }, + callback.weight, + ); + + log::debug!(target: "pop-api::extension", "callback weight={:?}, result={result:?}", callback.weight); + Self::deposit_callback_event(initiating_origin, *id, &callback, &result); + let callback_weight_used = Self::process_callback_weight(&result, callback.weight); + + // Manually adjust callback weight. + frame_system::Pallet::::register_extra_weight_unchecked( + callback_weight_used, + DispatchClass::Normal, + ); + + match Self::manage_fees(&initiating_origin, callback_weight_used, callback.weight) { + Ok(_) => (), + // Dont return early, we must register the weight used by the callback. + Err(error) => + Self::deposit_event(Event::WeightRefundErrored { message_id: *id, error }), + } + Ok(()) + } + + /// Deposits an event indicating the outcome of a callback execution. + /// + /// This function is intended to be called after attempting to dispatch a callback. + /// It emits either a `CallbackExecuted` or `CallbackFailed` event based on the result. + /// + /// # Parameters + /// + /// - `initiating_origin`: The account that originally initiated the message. + /// - `message_id`: The unique identifier associated with the message that triggered the + /// callback. + /// - `callback`: The callback object that was attempted to be executed. + /// - `result`: The outcome of the callback execution, containing either success or failure. + pub(crate) fn deposit_callback_event( + initiating_origin: &T::AccountId, + message_id: MessageId, + callback: &Callback, + result: &DispatchResultWithPostInfo, + ) { + match result { + Ok(_) => { + Self::deposit_event(Event::::CallbackExecuted { + origin: initiating_origin.clone(), + id: message_id, + callback: callback.clone(), + }); + }, + Err(error) => { + Self::deposit_event(Event::::CallbackFailed { + origin: initiating_origin.clone(), + id: message_id, + callback: callback.clone(), + error: error.clone(), + }); + }, + } + } + /// Determines the actual weight consumed by a callback execution, falling back to the + /// maximum if unknown. + /// + /// This function is used to calculate the weight to be accounted for after attempting to + /// dispatch a callback. It ensures that even if the callback execution fails or does not + /// report actual weight, the worst-case (`max_weight`) is used to avoid under-accounting. + /// + /// # Parameters + /// + /// - `result`: The result of the callback dispatch, including any `PostDispatchInfo` if + /// successful. + /// - `max_weight`: The maximum weight budgeted for the callback execution. + /// + /// # Rationale + /// + /// - Protects against underestimating weight in cases where `actual_weight` is missing or + /// the dispatch fails. + /// - Ensures conservative accounting to avoid exceeding block or message limits. + pub(crate) fn process_callback_weight( + result: &DispatchResultWithPostInfo, + max_weight: Weight, + ) -> Weight { + match result { + // callback has succeded. + Ok(post_info) => { + match post_info.actual_weight { + Some(w) => w, + // return the worst case if the callback executor does not populate the + // actual weight. + None => max_weight, + } + }, + // callback has failed. + Err(_) => { + // return the maximum weight. + max_weight + }, + } + } + + /// Handles fee management and refund logic for callback execution. + /// + /// This function is intended to balance the fees collected upfront for a callback + /// against the actual weight used during execution. If the callback uses less weight + /// than originally reserved, the surplus is refunded to the user, and the remainder + /// is transferred as an execution reward to the fee collector account. + /// + /// # Parameters + /// + /// - `initiating_origin`: The account that initially paid for the callback execution. + /// - `weight_used`: The actual weight consumed by the callback. + /// - `max_weight`: The maximum weight that was budgeted and paid for in advance. + pub(crate) fn manage_fees( + initiating_origin: &AccountIdOf, + weight_used: Weight, + max_weight: Weight, + ) -> DispatchResult { + let weight_to_refund = max_weight.saturating_sub(weight_used); + let total_deposit = T::WeightToFee::weight_to_fee(&max_weight); + let reason = HoldReason::CallbackGas.into(); + + let to_reward = if weight_to_refund.any_gt(Zero::zero()) { + let returnable_deposit = T::WeightToFee::weight_to_fee(&weight_to_refund); + let execution_reward = total_deposit.saturating_sub(returnable_deposit); + + execution_reward + } else { + total_deposit + }; + + // Release the deposit. + T::Fungibles::release(&reason, initiating_origin, total_deposit, Precision::Exact)?; + + // Withdraw assets. + let credit = T::Fungibles::withdraw( + &initiating_origin, + to_reward, + Precision::Exact, + Preservation::Preserve, + Fortitude::Polite, + )?; + + // Handle assets. + T::FeeHandler::on_unbalanced(credit); + Ok(()) + } + } +} #[derive(Encode, Decode, Debug, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(PartialEq, Clone))] #[repr(u8)] #[allow(clippy::unnecessary_cast)] pub enum Read { #[codec(index = 0)] - Poll((T::AccountId, MessageId)), + PollStatus((T::AccountId, MessageId)), #[codec(index = 1)] - Get((T::AccountId, MessageId)), + GetResponse((T::AccountId, MessageId)), #[codec(index = 2)] QueryId((T::AccountId, MessageId)), } @@ -553,7 +1041,7 @@ pub enum Read { #[derive(Debug)] #[cfg_attr(feature = "std", derive(PartialEq, Clone))] pub enum ReadResult { - Poll(Option), + Poll(Option), Get(Option>), QueryId(Option), } @@ -574,28 +1062,26 @@ impl crate::Read for Pallet { type Result = ReadResult; fn weight(_read: &Self::Read) -> Weight { - // TODO: implement benchmarks - Weight::zero() + T::DbWeight::get().reads(2) } fn read(request: Self::Read) -> Self::Result { match request { - Read::Poll(request) => - ReadResult::Poll(Messages::::get(request.0, request.1).map(|m| match m { - Message::Ismp { .. } | Message::XcmQuery { .. } => Status::Pending, - Message::IsmpTimedOut { .. } => Status::TimedOut, - Message::IsmpResponse { .. } | Message::XcmResponse { .. } => Status::Complete, - })), - Read::Get(request) => + Read::PollStatus(request) => ReadResult::Poll( + Messages::::get(request.0, request.1).map(|m| MessageStatus::from(&m)), + ), + Read::GetResponse(request) => ReadResult::Get(Messages::::get(request.0, request.1).and_then(|m| match m { + Message::Ismp { .. } => None, + Message::XcmQuery { .. } => None, Message::IsmpResponse { response, .. } => Some(response.into_inner()), Message::XcmResponse { response, .. } => Some(response.encode()), - _ => None, + Message::IsmpTimeout { .. } => None, + Message::XcmTimeout { .. } => None, })), Read::QueryId(request) => ReadResult::QueryId( Messages::::get(request.0, request.1).and_then(|m| match m { - Message::XcmQuery { query_id, .. } | Message::XcmResponse { query_id, .. } => - Some(query_id), + Message::XcmQuery { query_id, .. } => Some(query_id), _ => None, }), ), @@ -603,48 +1089,141 @@ impl crate::Read for Pallet { } } -trait CalculateDeposit { - fn calculate_deposit(&self) -> Deposit; -} - +/// Represents a cross-chain message in the system. +/// +/// Each variant of this enum captures a different state or type of message lifecycle: +/// - A request in progress. +/// - A response received. +/// - A timeout occurred. +/// +/// This is used internally to track, manage, and clean up messages, along with any +/// associated deposits and optional callback metadata. #[derive(Clone, Debug, Encode, Eq, Decode, MaxEncodedLen, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] -enum Message { - Ismp { - commitment: H256, - callback: Option, - deposit: BalanceOf, - }, - IsmpTimedOut { - commitment: H256, - deposit: BalanceOf, - }, +pub(crate) enum Message { + /// Represents a pending ISMP request. + /// + /// # Fields + /// - `commitment`: The cryptographic commitment of the request payload. + /// - `callback`: An optional callback to invoke upon receiving a response. + /// - `deposit`: The total deposit held to cover message and callback fees. + Ismp { commitment: H256, callback: Option, message_deposit: BalanceOf }, + + /// Represents a pending XCM query request. + /// + /// # Fields + /// - `query_id`: Unique identifier for the XCM query. + /// - `callback`: An optional callback for handling the response. + /// - `deposit`: The deposit held to cover fees for query execution and callback. + XcmQuery { query_id: QueryId, callback: Option, message_deposit: BalanceOf }, + + /// Represents a received ISMP response. + /// + /// # Fields + /// - `commitment`: The original commitment for the request. + /// - `deposit`: The held deposit for the message, which may be released or burned. + /// - `response`: The encoded response payload, size-bounded by `T::MaxResponseLen`. IsmpResponse { commitment: H256, - deposit: BalanceOf, + message_deposit: BalanceOf, response: BoundedVec, }, - XcmQuery { - query_id: QueryId, - callback: Option, - deposit: BalanceOf, + + /// Represents a received XCM response. + /// + /// # Fields + /// - `query_id`: Identifier that matches a previously sent XCM query. + /// - `deposit`: The deposit originally held for this message. + /// - `response`: The deserialized response payload. + XcmResponse { query_id: QueryId, message_deposit: BalanceOf, response: Response }, + + /// Represents an ISMP request that timed out before a response was received. + /// + /// # Fields + /// - `commitment`: The original commitment of the request. + /// - `deposit`: The deposit held for the request, which may be reclaimed. + IsmpTimeout { + commitment: H256, + message_deposit: BalanceOf, + callback_deposit: Option>, }, - XcmResponse { + + /// Represents an XCM query that timed out before a response was received. + /// + /// # Fields + /// - `query_id`: The original query ID that timed out. + /// - `deposit`: The deposit held for the query, which may be reclaimed. + XcmTimeout { query_id: QueryId, - deposit: BalanceOf, - response: Response, + message_deposit: BalanceOf, + callback_deposit: Option>, }, } -// Message selector and pre-paid weight used as gas limit +impl From<&Message> for MessageStatus { + fn from(value: &Message) -> Self { + match *value { + Message::Ismp { .. } => MessageStatus::Pending, + Message::XcmQuery { .. } => MessageStatus::Pending, + Message::IsmpResponse { .. } => MessageStatus::Complete, + Message::XcmResponse { .. } => MessageStatus::Complete, + Message::IsmpTimeout { .. } => MessageStatus::Timeout, + Message::XcmTimeout { .. } => MessageStatus::Timeout, + } + } +} + +/// The related message status of a Message. +#[derive(Clone, Debug, Encode, Eq, Decode, MaxEncodedLen, PartialEq, TypeInfo)] +pub enum MessageStatus { + Pending, + Complete, + Timeout, +} + +/// Message selector and pre-paid weight used as gas limit. #[derive(Copy, Clone, Debug, Encode, Eq, Decode, MaxEncodedLen, PartialEq, TypeInfo)] +#[scale_info(skip_type_params(T))] pub struct Callback { + pub abi: Abi, pub selector: [u8; 4], pub weight: Weight, } -pub trait CallbackT { - fn execute(account: T::AccountId, data: Vec, weight: Weight) -> DispatchResultWithPostInfo; +impl Callback { + pub(crate) fn increase_callback_weight(&mut self, additional_weight: Weight) -> Weight { + let new_callback_weight = self.weight.saturating_add(additional_weight); + self.weight = new_callback_weight; + new_callback_weight + } +} + +/// The encoding used for the data going to the contract. +#[derive(Copy, Clone, Debug, Encode, Eq, Decode, MaxEncodedLen, PartialEq, TypeInfo)] +pub enum Abi { + Scale, +} + +/// The trait responsible for executing callbacks in response to cross-chain messages. +/// +/// Implementors of this trait define the mechanism by which callback data is executed +/// for a given account, along with the expected weight cost of this operation. +/// +/// This trait enables customizable and extensible behavior for handling asynchronous +/// responses via optional callback logic — e.g., invoking a runtime call or a smart contract. +pub trait CallbackExecutor { + /// Execute the callback logic for a specific account with the given encoded payload. + /// + /// # Parameters + /// - `account`: The account that initiated the original cross-chain request. + /// - `data`: Encoded callback data, typically ABI-encoded input including selector and + /// parameters. + /// - `weight`: The maximum weight allowed for executing this callback. + fn execute(account: &T::AccountId, data: Vec, weight: Weight) + -> DispatchResultWithPostInfo; - fn weight() -> Weight; + /// Returns the baseline weight required for a single callback execution. + /// + /// This serves as an overhead estimate, useful for pallet-level weight calculations. + fn execution_weight() -> Weight; } diff --git a/pallets/api/src/messaging/test_utils.rs b/pallets/api/src/messaging/test_utils.rs new file mode 100644 index 000000000..686e4025f --- /dev/null +++ b/pallets/api/src/messaging/test_utils.rs @@ -0,0 +1,74 @@ +use ismp::{host::StateMachine, router::PostRequest}; +use sp_std::vec; + +#[cfg(any(feature = "runtime-benchmarks", test))] +/// Constructs a dummy `PostRequest` used for testing or benchmarking. +pub fn ismp_post_request(body_len: usize) -> PostRequest { + PostRequest { + source: StateMachine::Polkadot(2000), + dest: StateMachine::Polkadot(2001), + nonce: 100u64, + from: [1u8; 32].to_vec(), + to: [1u8; 32].to_vec(), + timeout_timestamp: 100_000, + body: vec![1u8; body_len], + } +} + +#[cfg(feature = "runtime-benchmarks")] +pub use benchmark_helpers::*; + +#[cfg(feature = "runtime-benchmarks")] +mod benchmark_helpers { + use codec::Encode; + use ismp::{ + host::StateMachine, + router::{GetRequest, GetResponse, PostResponse, StorageValue}, + }; + use sp_std::{vec, vec::Vec}; + + use super::ismp_post_request; + + /// Constructs a dummy `GetRequest` with specified dimensions. + pub fn ismp_get_request(key_len: usize, keys_len: usize, context_len: usize) -> GetRequest { + GetRequest { + source: StateMachine::Polkadot(2000), + dest: StateMachine::Polkadot(2001), + nonce: 100u64, + from: vec![1u8; 32], + keys: vec![vec![1u8; key_len]; keys_len], + height: 1, + context: vec![1u8; context_len], + timeout_timestamp: 100_000, + } + } + + /// Constructs a dummy `GetResponse` of approximately the requested size. + pub fn ismp_get_response( + key_len: usize, + keys_len: usize, + context_len: usize, + response_len: usize, + ) -> GetResponse { + let r = get_storage_value(); + let r_encoded_size = r.encoded_size(); + let iterations = response_len / r_encoded_size; + + let values = (0..iterations.saturating_sub(1)).map(|_| r.clone()).collect::>(); + + debug_assert!(values.encoded_size() < response_len); + + GetResponse { get: ismp_get_request(key_len, keys_len, context_len), values } + } + + /// Constructs a dummy `PostResponse` with a body of the requested length. + pub fn ismp_post_response(body_len: usize, response_len: usize) -> PostResponse { + let response = vec![1u8; response_len.saturating_sub(2)]; + PostResponse { post: ismp_post_request(body_len), response, timeout_timestamp: 100_001 } + } + + /// Constructs a dummy `StorageValue`. + pub fn get_storage_value() -> StorageValue { + StorageValue { key: vec![1u8; 1], value: Some(vec![1u8; 1]) } + } +} diff --git a/pallets/api/src/messaging/tests.rs b/pallets/api/src/messaging/tests.rs new file mode 100644 index 000000000..e9e7f4325 --- /dev/null +++ b/pallets/api/src/messaging/tests.rs @@ -0,0 +1,1842 @@ +#![cfg(test)] +use frame_support::{ + assert_noop, assert_ok, dispatch::PostDispatchInfo, testing_prelude::bounded_vec, + traits::fungible::hold::Inspect, weights::Weight, +}; +use sp_core::H256; + +use crate::{messaging::*, mock::*}; + +pub fn events() -> Vec> { + let result = System::events() + .into_iter() + .map(|r| r.event) + .filter_map(|e| { + if let crate::mock::RuntimeEvent::Messaging(inner) = e { + Some(inner) + } else { + None + } + }) + .collect::>(); + + System::reset_events(); + + result +} + +// Tests for the remove extrinsic. +mod remove { + use super::*; + + #[test] + fn success_event() { + new_test_ext().execute_with(|| { + let message_deposit: Balance = 100; + let m = Message::IsmpResponse { + commitment: Default::default(), + message_deposit, + response: Default::default(), + }; + let m_id = [0u8; 32]; + let m2_id = [1u8; 32]; + + Messages::::insert(ALICE, m_id, &m); + Messages::::insert(ALICE, m2_id, &m); + + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + assert_ok!(Messaging::remove(signed(ALICE), bounded_vec!(m_id, m2_id))); + + assert!(events() + .contains(&Event::::Removed { origin: ALICE, messages: vec![m_id, m2_id] })); + }) + } + + #[test] + fn message_not_found() { + new_test_ext().execute_with(|| { + assert_noop!( + Messaging::remove(signed(ALICE), bounded_vec!(Default::default())), + Error::::MessageNotFound + ); + }) + } + + #[test] + fn multiple_messages_remove_works() { + new_test_ext().execute_with(|| { + let message_deposit: Balance = 100; + // An ismp response can always be removed. + let m = Message::IsmpResponse { + commitment: Default::default(), + message_deposit, + response: Default::default(), + }; + let m_id = [0; 32]; + let m2_id = [1; 32]; + let m3_id = [2; 32]; + + Messages::::insert(ALICE, m_id, &m); + Messages::::insert(ALICE, m2_id, &m); + Messages::::insert(ALICE, m3_id, &m); + + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + assert_ok!(Messaging::remove(signed(ALICE), bounded_vec!(m_id, m2_id, m3_id))); + + assert!( + Messages::::get(ALICE, m_id).is_none(), + "Message should have been removed." + ); + assert!( + Messages::::get(ALICE, m2_id).is_none(), + "Message should have been removed." + ); + assert!( + Messages::::get(ALICE, m3_id).is_none(), + "Message should have been removed." + ); + }); + } + + #[test] + fn deposit_is_returned_if_try_remove_is_ok() { + new_test_ext().execute_with(|| { + let alice_initial_balance = Balances::free_balance(ALICE); + let message_deposit: Balance = 100; + // An ismp response can always be removed. + let m = Message::IsmpResponse { + commitment: Default::default(), + message_deposit, + response: Default::default(), + }; + let m_id = [0; 32]; + + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + Messages::::insert(ALICE, m_id, &m); + + let alice_balance_post_hold = Balances::free_balance(ALICE); + + assert_ok!(Messaging::remove(signed(ALICE), bounded_vec!(m_id))); + + let alice_balance_post_remove = Balances::free_balance(ALICE); + + assert_eq!(alice_initial_balance, alice_balance_post_remove); + assert_eq!(alice_balance_post_remove, alice_balance_post_hold + message_deposit); + }); + } + + #[test] + fn deposit_is_not_returned_if_try_remove_is_noop() { + new_test_ext().execute_with(|| { + let alice_initial_balance = Balances::free_balance(ALICE); + let message_deposit: Balance = 100; + + let m = Message::Ismp { commitment: H256::default(), callback: None, message_deposit }; + let m_id = [0; 32]; + + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + Messages::::insert(ALICE, m_id, &m); + + let alice_balance_post_hold = Balances::free_balance(ALICE); + + assert_noop!( + Messaging::remove(signed(ALICE), bounded_vec!(m_id)), + Error::::RequestPending + ); + + let alice_balance_post_remove = Balances::free_balance(ALICE); + + assert_eq!(alice_initial_balance, alice_balance_post_remove + message_deposit); + assert_eq!(alice_balance_post_remove, alice_balance_post_hold); + }); + } + + #[test] + fn multiple_messages_rolls_back_if_one_fails() { + new_test_ext().execute_with(|| { + let message_deposit: Balance = 100; + let alice_initial_balance = Balances::free_balance(ALICE); + let good_message = Message::IsmpResponse { + commitment: Default::default(), + message_deposit, + response: Default::default(), + }; + + let erroneous_message = + Message::Ismp { commitment: H256::default(), callback: None, message_deposit }; + + let good_id_1 = [0; 32]; + let good_id_2 = [1; 32]; + let good_id_3 = [2; 32]; + let good_id_4 = [3; 32]; + let erroneous_id_1 = [4; 32]; + + Messages::::insert(ALICE, good_id_1, &good_message); + Messages::::insert(ALICE, good_id_2, &good_message); + Messages::::insert(ALICE, good_id_3, &good_message); + Messages::::insert(ALICE, good_id_4, &good_message); + Messages::::insert(ALICE, erroneous_id_1, &erroneous_message); + + // gonna do 5 messages. + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + let alice_balance_post_hold = Balances::free_balance(ALICE); + + assert_noop!( + Messaging::remove( + signed(ALICE), + bounded_vec!(good_id_1, good_id_2, good_id_3, good_id_4, erroneous_id_1) + ), + Error::::RequestPending + ); + + assert!(Messages::::get(ALICE, good_id_1).is_some()); + assert!(Messages::::get(ALICE, good_id_2).is_some()); + assert!(Messages::::get(ALICE, good_id_3).is_some()); + assert!(Messages::::get(ALICE, good_id_4).is_some()); + assert!(Messages::::get(ALICE, erroneous_id_1).is_some()); + + let alice_balance_post_remove = Balances::free_balance(ALICE); + assert_eq!(alice_initial_balance, alice_balance_post_hold + message_deposit * 5); + assert_eq!(alice_balance_post_remove, alice_balance_post_hold); + }); + } + + // Basic remove tests to ensure storage is cleaned. + #[test] + fn remove_ismp_message() { + new_test_ext().execute_with(|| { + let commitment = H256::default(); + let message_id = [0u8; 32]; + let message_deposit = 100; + let m = Message::Ismp { commitment, callback: None, message_deposit }; + Messages::::insert(ALICE, message_id, &m); + IsmpRequests::::insert(commitment, (&ALICE, &message_id)); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + assert_noop!( + Messaging::remove(signed(ALICE), bounded_vec!(message_id)), + Error::::RequestPending + ); + + assert!( + Messages::::get(ALICE, message_id).is_some(), + "Message should not have been removed but has." + ); + assert!( + IsmpRequests::::get(commitment).is_some(), + "Message should not have been removed but has." + ); + }) + } + + #[test] + fn remove_ismp_response() { + new_test_ext().execute_with(|| { + let commitment = H256::default(); + let message_id = [0u8; 32]; + let message_deposit = 100; + + let m = Message::IsmpResponse { commitment, response: bounded_vec!(), message_deposit }; + Messages::::insert(ALICE, message_id, &m); + IsmpRequests::::insert(commitment, (&ALICE, &message_id)); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + assert_ok!(Messaging::remove(signed(ALICE), bounded_vec!(message_id))); + + assert!( + Messages::::get(ALICE, message_id).is_none(), + "Message should have been removed but hasnt." + ); + assert!( + IsmpRequests::::get(commitment).is_none(), + "Request should have been removed but hasnt." + ); + }) + } + + #[test] + fn remove_ismp_timeout() { + new_test_ext().execute_with(|| { + let commitment = H256::default(); + let message_id = [0u8; 32]; + let message_deposit = 100; + let callback_deposit = 100_000; + + let m = Message::IsmpTimeout { + commitment, + message_deposit, + callback_deposit: Some(callback_deposit), + }; + + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &ALICE, + callback_deposit, + ) + .unwrap(); + + Messages::::insert(ALICE, message_id, &m); + IsmpRequests::::insert(commitment, (&ALICE, &message_id)); + + assert_ok!(Messaging::remove(signed(ALICE), bounded_vec!(message_id))); + + assert!( + Messages::::get(ALICE, message_id).is_none(), + "Message should have been removed but hasnt." + ); + assert!( + IsmpRequests::::get(commitment).is_none(), + "Request should have been removed but hasnt." + ); + + assert_eq!(Balances::total_balance_on_hold(&ALICE), 0); + }) + } + + #[test] + fn remove_xcm_query() { + new_test_ext().execute_with(|| { + let query_id = 0; + let message_id = [0u8; 32]; + let message_deposit = 100; + + let m = Message::XcmQuery { query_id, callback: None, message_deposit }; + Messages::::insert(ALICE, message_id, &m); + XcmQueries::::insert(query_id, (&ALICE, &message_id)); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + assert_noop!( + Messaging::remove(signed(ALICE), bounded_vec!(message_id)), + Error::::RequestPending + ); + assert!( + Messages::::get(ALICE, message_id).is_some(), + "Message should not have been removed but has" + ); + assert!( + XcmQueries::::get(query_id).is_some(), + "Message should not have been removed but has." + ); + }) + } + + #[test] + fn remove_xcm_response() { + new_test_ext().execute_with(|| { + let query_id = 0; + let message_id = [0u8; 32]; + let message_deposit = 100; + let m = + Message::XcmResponse { query_id, message_deposit, response: Default::default() }; + Messages::::insert(ALICE, message_id, &m); + XcmQueries::::insert(query_id, (&ALICE, &message_id)); + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + assert_ok!(Messaging::remove(signed(ALICE), bounded_vec!(message_id))); + + assert!( + Messages::::get(ALICE, message_id).is_none(), + "Message should have been removed but hasnt" + ); + assert!( + XcmQueries::::get(query_id).is_none(), + "Message should have been removed but hasnt." + ); + }) + } + + #[test] + fn remove_xcm_timeout() { + new_test_ext().execute_with(|| { + let query_id = 0; + let message_id = [0u8; 32]; + let message_deposit = 100; + let callback_deposit = 100_000; + + let m = Message::XcmTimeout { + query_id, + message_deposit, + callback_deposit: Some(callback_deposit), + }; + + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + ::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &ALICE, + callback_deposit, + ) + .unwrap(); + + Messages::::insert(ALICE, message_id, &m); + XcmQueries::::insert(query_id, (&ALICE, &message_id)); + + assert_ok!(Messaging::remove(signed(ALICE), bounded_vec!(message_id))); + + assert!( + Messages::::get(ALICE, message_id).is_none(), + "Message should have been removed but hasnt" + ); + assert!( + XcmQueries::::get(query_id).is_none(), + "Message should have been removed but hasnt." + ); + + // Assert that all holds specified have been released + assert_eq!(Balances::total_balance_on_hold(&ALICE), 0); + }) + } +} + +mod xcm_new_query { + + use super::*; + + #[test] + fn success_assert_last_event() { + new_test_ext().execute_with(|| { + let timeout = System::block_number() + 1; + let message_id = [0; 32]; + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + assert!(events().contains(&Event::::XcmQueryCreated { + origin: ALICE, + id: message_id, + query_id: 0, + callback: None + })); + }) + } + + #[test] + fn message_id_already_exists() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 1; + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + + assert_noop!( + Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + ), + Error::::MessageExists + ); + }) + } + + #[test] + fn takes_response_fee_no_callback() { + new_test_ext().execute_with(|| { + assert_ne!( + ::WeightInfo::xcm_response(), + Weight::zero(), + "Please set a weight for xcm_response to run this test." + ); + let response_fee = ::WeightToFee::weight_to_fee( + &(::WeightInfo::xcm_response()), + ); + let timeout = System::block_number() + 1; + let callback = None; + let message_id = [1u8; 32]; + + assert_ne!(response_fee, 0); + let alice_pre_transfer = Balances::free_balance(&ALICE); + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + callback, + )); + + let alice_post_transfer = Balances::free_balance(&ALICE); + let alice_total_balance_on_hold = Balances::total_balance_on_hold(&ALICE); + + assert_eq!( + alice_pre_transfer - alice_post_transfer - alice_total_balance_on_hold, + response_fee + ); + }) + } + + #[test] + fn takes_response_fee_with_callback() { + new_test_ext().execute_with(|| { + assert_ne!( + ::WeightInfo::xcm_response(), + Weight::zero(), + "Please set a weight for xcm_response to run this test." + ); + assert_ne!( + ::CallbackExecutor::execution_weight(), + Weight::zero(), + "Please set a weight for CallbackExecutor::execution_weight to run this test." + ); + + let response_fee = ::WeightToFee::weight_to_fee( + &(::WeightInfo::xcm_response() + + ::CallbackExecutor::execution_weight()), + ); + let timeout = System::block_number() + 1; + let weight = Weight::default(); + let callback = Callback { selector: [1; 4], weight, abi: Abi::Scale }; + let message_id = [1u8; 32]; + + assert_ne!(response_fee, 0); + let alice_pre_transfer = Balances::free_balance(&ALICE); + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + Some(callback), + )); + + let alice_post_transfer = Balances::free_balance(&ALICE); + let alice_total_balance_on_hold = Balances::total_balance_on_hold(&ALICE); + + assert_eq!( + alice_pre_transfer - alice_post_transfer - alice_total_balance_on_hold, + response_fee + ); + }) + } + + #[test] + fn takes_callback_hold() { + new_test_ext().execute_with(|| { + let timeout = System::block_number() + 1; + let weight = Weight::from_parts(100_000_000, 100_000_000); + let callback = Callback { selector: [1; 4], weight, abi: Abi::Scale }; + let callback_deposit = ::WeightToFee::weight_to_fee(&weight); + let message_id = [0; 32]; + let alice_held_balance_pre_query = ::Fungibles::balance_on_hold( + &HoldReason::CallbackGas.into(), + &ALICE, + ); + + assert_eq!(alice_held_balance_pre_query, 0); + assert!(callback_deposit != 0); + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + Some(callback), + )); + + let alice_held_balance_post_query = ::Fungibles::balance_on_hold( + &HoldReason::CallbackGas.into(), + &ALICE, + ); + + assert_eq!(alice_held_balance_post_query, callback_deposit); + }) + } + + #[test] + fn takes_messaging_hold() { + new_test_ext().execute_with(|| { + let timeout = System::block_number() + 1; + let message_id = [0; 32]; + let expected_deposit = + calculate_protocol_deposit::::OnChainByteFee>( + ProtocolStorageDeposit::XcmQueries, + ) + calculate_message_deposit::::OnChainByteFee>(); + let alices_held_balance_pre_hold = + ::Fungibles::balance_on_hold(&HoldReason::Messaging.into(), &ALICE); + + assert!( + expected_deposit > 0, + "set an onchain byte fee with T::OnChainByteFee to run this test." + ); + + assert_eq!(alices_held_balance_pre_hold, 0); + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + + let alices_held_balance_post_hold = + ::Fungibles::balance_on_hold(&HoldReason::Messaging.into(), &ALICE); + + assert_eq!(alices_held_balance_post_hold, expected_deposit); + }); + } + + #[test] + fn assert_state() { + new_test_ext().execute_with(|| { + // Looking for an item in Messages and XcmQueries. + let message_id = [0; 32]; + let expected_callback = + Callback { selector: [1; 4], weight: 100.into(), abi: Abi::Scale }; + let timeout = System::block_number() + 1; + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + Some(expected_callback), + )); + let m = Messages::::get(ALICE, message_id) + .expect("should exist after xcm_new_query."); + if let Message::XcmQuery { query_id, callback, .. } = m { + assert_eq!(query_id, 0); + assert_eq!(callback, Some(expected_callback)); + } else { + panic!("Wrong message type.") + } + + assert_eq!(XcmQueries::::get(0), Some((ALICE, message_id))); + }) + } + + #[test] + fn xcm_timeouts_must_be_in_the_future() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number(); + assert_noop!( + Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None + ), + Error::::FutureTimeoutMandatory + ); + }) + } +} + +mod xcm_response { + use frame_system::BlockWeight; + + use super::*; + + #[test] + fn message_not_found() { + new_test_ext().execute_with(|| { + assert_noop!( + Messaging::xcm_response(root(), 0, Default::default()), + Error::::MessageNotFound + ); + }) + } + + #[test] + fn timeout_messages_are_noop() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 1; + let mut generated_query_id = 0; + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + + // Update the message to XcmTimedOut + Messages::::mutate(ALICE, message_id, |message| { + let Some(Message::XcmQuery { query_id, message_deposit, .. }): &mut Option< + Message, + > = message + else { + panic!("No message!"); + }; + generated_query_id = *query_id; + *message = Some(Message::XcmTimeout { + query_id: *query_id, + message_deposit: *message_deposit, + callback_deposit: None, + }); + }); + + assert_noop!( + Messaging::xcm_response(root(), generated_query_id, Default::default()), + Error::::RequestTimedOut + ); + }) + } + + #[test] + fn assert_event_no_callback() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 1; + let generated_query_id = 0; + let xcm_response = Response::Null; + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + + assert_ok!(Messaging::xcm_response(root(), generated_query_id, xcm_response)); + + assert!(events().contains(&Event::::XcmResponseReceived { + dest: ALICE, + id: message_id, + query_id: generated_query_id, + response: Response::Null + })); + }) + } + + #[test] + fn assert_message_is_stored_for_polling_no_callback() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 1; + let expected_query_id = 0; + let xcm_response = Response::ExecutionResult(None); + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + + assert_ok!(Messaging::xcm_response(root(), expected_query_id, xcm_response.clone())); + let Some(Message::XcmResponse { query_id, response, .. }): Option> = + Messages::get(ALICE, message_id) + else { + panic!("wrong message type"); + }; + + assert_eq!(query_id, expected_query_id); + assert_eq!(xcm_response, response); + }) + } + + #[test] + fn message_is_removed_after_successfull_callback_execution() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 1; + let expected_query_id = 0; + let xcm_response = Response::ExecutionResult(None); + let callback = Callback { selector: [1; 4], weight: 100.into(), abi: Abi::Scale }; + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + Some(callback), + )); + + assert_ok!(Messaging::xcm_response(root(), expected_query_id, xcm_response.clone())); + + assert!(Messages::::get(ALICE, message_id).is_none()); + assert!(XcmQueries::::get(expected_query_id).is_none()); + }) + } + + #[test] + fn message_deposit_returned_after_successfull_callback_execution() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 1; + let expected_query_id = 0; + let xcm_response = Response::ExecutionResult(None); + let callback = Callback { selector: [1; 4], weight: Zero::zero(), abi: Abi::Scale }; + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + Some(callback), + )); + let alice_held_balance_pre_release = Balances::total_balance_on_hold(&ALICE); + assert_ne!(alice_held_balance_pre_release, 0); + assert_ok!(Messaging::xcm_response(root(), expected_query_id, xcm_response.clone())); + let alice_held_balance_post_release = Balances::total_balance_on_hold(&ALICE); + assert_eq!(alice_held_balance_post_release, 0); + }) + } + + // Dont include any callback weight so we can test the xcm_response blockweight mutation. + #[test] + fn assert_blockweight_mutation_no_callback() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 1; + let expected_query_id = 0; + let xcm_response = Response::ExecutionResult(None); + let blockweight_pre_call = + BlockWeight::::get().get(DispatchClass::Normal).to_owned(); + + assert_ne!( + ::CallbackExecutor::execution_weight(), + Zero::zero(), + "Please set a callback executor execution_weight to run this test." + ); + assert_ne!( + ::WeightInfo::xcm_response(), + Zero::zero(), + "Please set an T::WeightInfo::xcm_response() to run this test." + ); + + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + + assert_ok!(Messaging::xcm_response(root(), expected_query_id, xcm_response.clone())); + + let blockweight_post_call = + BlockWeight::::get().get(DispatchClass::Normal).to_owned(); + + assert_eq!( + blockweight_post_call - blockweight_pre_call, + ::WeightInfo::xcm_response() + + ::CallbackExecutor::execution_weight() + ) + }) + } +} + +mod xcm_hooks { + use super::*; + #[test] + fn xcm_queries_expire_on_expiry_block() { + new_test_ext().execute_with(|| { + let message_id = [0; 32]; + let timeout = System::block_number() + 10; + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id, + RESPONSE_LOCATION, + timeout, + None, + )); + + let message_id_2 = [1; 32]; + assert_ok!(Messaging::xcm_new_query( + signed(ALICE), + message_id_2, + RESPONSE_LOCATION, + timeout, + None, + )); + + run_to(timeout + 1); + + let Some(Message::XcmTimeout { .. }): Option> = + Messages::get(ALICE, message_id) + else { + panic!("Message should be timedout!") + }; + + let Some(Message::XcmTimeout { .. }): Option> = + Messages::get(ALICE, message_id_2) + else { + panic!("Message should be timedout!") + }; + + frame_system::Pallet::::assert_has_event( + Event::::XcmQueriesTimedOut { query_ids: vec![0, 1] }.into(), + ); + }) + } +} + +mod call { + use frame_system::pallet::BlockWeight; + + use super::*; + #[test] + fn assert_error_event() { + new_test_ext().execute_with(|| { + let message_id = [1u8; 32]; + let callback_weight = Weight::from_parts(100_000, 100_000); + let data = [100u8; 5]; + let callback = + Callback { abi: Abi::Scale, selector: [0u8; 4], weight: callback_weight }; + assert_ok!(Pallet::::call(&ALICE, callback, &message_id, &data,)); + + System::assert_last_event( + Event::::WeightRefundErrored { + message_id, + error: DispatchError::Token(sp_runtime::TokenError::FundsUnavailable), + } + .into(), + ); + }) + } + + // AlwaysSuccessfullCallbackExecutor should return half the weight of the callback.weight + // TODO: there may be a better way of handling this case. + #[test] + fn blockweight_mutation_happens() { + new_test_ext().execute_with(|| { + let blockweight_pre_call = + BlockWeight::::get().get(DispatchClass::Normal).to_owned(); + let message_id = [1u8; 32]; + let callback_weight = Weight::from_parts(10_000_000, 10_000_000); + let callback_fee = ::WeightToFee::weight_to_fee(&callback_weight); + let data = [100u8; 5]; + let callback = + Callback { abi: Abi::Scale, selector: [0u8; 4], weight: callback_weight }; + + ::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &ALICE, + callback_fee, + ) + .unwrap(); + + assert_ok!(Pallet::::call(&ALICE, callback, &message_id, &data,)); + + let blockweight_post_call = + BlockWeight::::get().get(DispatchClass::Normal).to_owned(); + assert_ne!(blockweight_post_call, Zero::zero()); + + // callback weight used in tests is total / 2. + assert_eq!(blockweight_post_call - blockweight_pre_call, callback_weight / 2); + }) + } +} + +mod process_callback_weight { + use super::*; + + #[test] + fn ok_with_weight_returns_weight() { + new_test_ext().execute_with(|| { + let weight = Weight::from_parts(100_000, 100_000); + let max_weight = Weight::zero(); + let result = DispatchResultWithPostInfo::Ok(PostDispatchInfo { + actual_weight: Some(weight), + pays_fee: Pays::Yes, + }); + + let processed_weight = Pallet::::process_callback_weight(&result, max_weight); + + assert_eq!(processed_weight, weight); + }) + } + + #[test] + fn ok_without_weight_returns_max_weight() { + new_test_ext().execute_with(|| { + let max_weight = Weight::from_parts(200_000, 200_000); + let result = DispatchResultWithPostInfo::Ok(PostDispatchInfo { + actual_weight: None, + pays_fee: Pays::Yes, + }); + + let processed_weight = Pallet::::process_callback_weight(&result, max_weight); + + assert_eq!(processed_weight, max_weight); + }) + } + + #[test] + fn err_returns_max_weight() { + new_test_ext().execute_with(|| { + let max_weight = Weight::from_parts(200_000, 200_000); + let result = DispatchResultWithPostInfo::Err(DispatchErrorWithPostInfo { + post_info: Default::default(), + error: Error::::InvalidMessage.into(), + }); + let processed_weight = Pallet::::process_callback_weight(&result, max_weight); + assert_eq!(processed_weight, max_weight); + }) + } +} + +mod deposit_callback_event { + use super::*; + #[test] + fn emits_callback_executed_event_on_success() { + new_test_ext().execute_with(|| { + let origin = ALICE; + let message_id = [1u8; 32]; + let callback = Callback { + abi: Abi::Scale, + selector: [0; 4], + weight: Weight::from_parts(100_000, 100_000), + }; + + let result: DispatchResultWithPostInfo = Ok(PostDispatchInfo { + actual_weight: Some(Weight::from_parts(1_000, 0)), + pays_fee: Default::default(), + }); + + Pallet::::deposit_callback_event(&origin, message_id, &callback, &result); + + System::assert_last_event( + Event::::CallbackExecuted { origin, id: message_id, callback }.into(), + ); + }); + } + + #[test] + fn emits_callback_failed_event_on_error() { + new_test_ext().execute_with(|| { + let origin = BOB; + let message_id = [2u8; 32]; + let callback = Callback { + abi: Abi::Scale, + selector: [0; 4], + weight: Weight::from_parts(100_000, 100_000), + }; + + let result = DispatchResultWithPostInfo::Err(DispatchErrorWithPostInfo { + post_info: Default::default(), + error: Error::::InvalidMessage.into(), + }); + + Pallet::::deposit_callback_event(&origin, message_id, &callback, &result); + + System::assert_last_event( + Event::::CallbackFailed { + origin, + id: message_id, + callback, + error: result.unwrap_err(), + } + .into(), + ); + }); + } +} + +mod manage_fees { + use super::*; + + #[test] + fn assert_payback_when_execution_weight_is_less_than_deposit_held() { + new_test_ext().execute_with(|| { + let origin = ALICE; + let actual_weight_executed = Weight::from_parts(50_000_000, 70_000_000); + let callback_weight_reserved = Weight::from_parts(100_000_000, 100_000_000); + + Callback { selector: [1; 4], weight: callback_weight_reserved, abi: Abi::Scale }; + + let deposit = ::WeightToFee::weight_to_fee(&callback_weight_reserved); + + assert!(deposit != 0, "Please set an appropriate weight to fee implementation."); + + // Artificially take the deposit + ::Fungibles::hold( + &HoldReason::CallbackGas.into(), + &ALICE, + deposit, + ) + .unwrap(); + + let expected_refund = + deposit - ::WeightToFee::weight_to_fee(&actual_weight_executed); + + assert!(expected_refund != 0); + + let fee_pot_payment = deposit - expected_refund; + + let fee_account_pre_handle = Balances::free_balance(FEE_ACCOUNT); + let alice_balance_pre_handle = Balances::free_balance(ALICE); + + assert!(crate::messaging::Pallet::::manage_fees( + &origin, + actual_weight_executed, + callback_weight_reserved + ) + .is_ok()); + + // alice should have been refunded by the tune of expected refund. + // the fee pot should have been increased by fee_pot_payment. + let fee_account_post_handle = Balances::free_balance(FEE_ACCOUNT); + let alice_balance_post_handle = Balances::free_balance(ALICE); + + assert_eq!(alice_balance_post_handle - alice_balance_pre_handle, expected_refund); + assert_eq!(fee_account_post_handle, fee_account_pre_handle + fee_pot_payment); + }) + } +} + +mod ismp_get { + use super::*; + + #[test] + fn message_exists() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = ismp::Get { + dest: 2000, + height: 10, + timeout: 100, + context: bounded_vec!(), + keys: bounded_vec!(), + }; + let callback = None; + + assert_ok!(Messaging::ismp_get(signed(ALICE), message_id, message.clone(), callback)); + assert_noop!( + Messaging::ismp_get(signed(ALICE), message_id, message, callback), + Error::::MessageExists + ); + }) + } + + #[test] + fn takes_deposit() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = ismp::Get { + dest: 2000, + height: 10, + timeout: 100, + context: bounded_vec!(), + keys: bounded_vec!(), + }; + let weight = Weight::from_parts(100_000_000, 100_000_000); + let callback = Callback { selector: [1; 4], weight, abi: Abi::Scale }; + + let callback_deposit = ::WeightToFee::weight_to_fee(&weight); + + let expected_deposit = calculate_protocol_deposit::< + Test, + ::OnChainByteFee, + >(ProtocolStorageDeposit::IsmpRequests) + + calculate_message_deposit::::OnChainByteFee>() + + calculate_deposit_of::::OffChainByteFee, ismp::Get>( + ) + callback_deposit; + + let alice_hold_balance_pre_hold = Balances::total_balance_on_hold(&ALICE); + assert_eq!(alice_hold_balance_pre_hold, 0); + assert!(expected_deposit != 0); + + assert_ok!(Messaging::ismp_get(signed(ALICE), message_id, message, Some(callback))); + + let alice_hold_balance_post_hold = Balances::total_balance_on_hold(&ALICE); + + assert_eq!(alice_hold_balance_post_hold, expected_deposit); + }) + } + + #[test] + fn assert_state() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = ismp::Get { + dest: 2000, + height: 10, + timeout: 100, + context: bounded_vec!(), + keys: bounded_vec!(), + }; + let callback = None; + assert_ok!(Messaging::ismp_get(signed(ALICE), message_id, message, callback)); + let events = events(); + let Some(Event::::IsmpGetDispatched { origin, id, commitment, callback }) = + events.first() + else { + panic!("missing event"); + }; + assert!(callback.is_none()); + assert_eq!(*id, message_id); + assert_eq!(origin, &ALICE); + assert_eq!(IsmpRequests::::get(commitment).unwrap(), (ALICE, message_id)); + let Some(Message::Ismp { .. }) = Messages::::get(ALICE, message_id) else { + panic!("wrong message type"); + }; + }) + } +} + +mod ismp_post { + use super::*; + + #[test] + fn message_exists() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = ismp::Post { dest: 2000, timeout: 100, data: bounded_vec![] }; + let callback = None; + + assert_ok!(Messaging::ismp_post(signed(ALICE), message_id, message.clone(), callback)); + assert_noop!( + Messaging::ismp_post(signed(ALICE), message_id, message, callback), + Error::::MessageExists + ); + }) + } + + #[test] + fn takes_deposit() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = ismp::Post { dest: 2000, timeout: 100, data: bounded_vec![] }; + let weight = Weight::from_parts(100_000_000, 100_000_000); + let callback = Callback { selector: [1; 4], weight, abi: Abi::Scale }; + let callback_deposit = ::WeightToFee::weight_to_fee(&weight); + let expected_deposit = calculate_protocol_deposit::< + Test, + ::OnChainByteFee, + >(ProtocolStorageDeposit::IsmpRequests) + + calculate_message_deposit::::OnChainByteFee>() + + calculate_deposit_of::::OffChainByteFee, ismp::Post>( + ) + callback_deposit; + + let alice_hold_balance_pre_hold = Balances::total_balance_on_hold(&ALICE); + + assert_eq!(alice_hold_balance_pre_hold, 0); + assert_ne!(callback_deposit, 0); + assert_ne!(expected_deposit, 0); + + assert_ok!(Messaging::ismp_post( + signed(ALICE), + message_id, + message.clone(), + Some(callback) + )); + + let alice_held_balance_post_hold = Balances::total_balance_on_hold(&ALICE); + + assert_eq!(alice_held_balance_post_hold, expected_deposit); + }) + } + + #[test] + fn assert_state() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = ismp::Post { dest: 2000, timeout: 100, data: bounded_vec![] }; + let callback = None; + + assert_ok!(Messaging::ismp_post(signed(ALICE), message_id, message.clone(), callback)); + + let events = events(); + let Some(Event::::IsmpPostDispatched { origin, id, commitment, callback }) = + events.first() + else { + panic!("missing event"); + }; + + assert_eq!(origin, &ALICE); + assert_eq!(*id, message_id); + assert!(callback.is_none()); + assert_eq!(IsmpRequests::::get(commitment).unwrap(), (ALICE, message_id)); + let Some(Message::Ismp { .. }) = Messages::::get(ALICE, message_id) else { + panic!("wrong message type"); + }; + }) + } +} + +mod ismp_hooks { + + use super::*; + + fn handler() -> ismp::Handler { + ismp::Handler::::new() + } + + mod on_accept { + use ::ismp::module::IsmpModule; + + use super::*; + use crate::messaging::test_utils::ismp_post_request; + + /// The on_accept must return Ok even when not in use. + /// If an error is returned the receipt is not removed and a replay attack is possible. + #[test] + fn is_ok() { + new_test_ext().execute_with(|| { + let h = handler(); + assert!(h.on_accept(ismp_post_request(100usize)).is_ok()) + }) + } + } + + mod timeout_commitment { + + use super::*; + #[test] + fn request_not_found() { + new_test_ext().execute_with(|| { + let err = ismp::timeout_commitment::(&Default::default()).unwrap_err(); + assert_eq!( + err.downcast::().unwrap(), + IsmpError::Custom( + "Request commitment not found while processing timeout.".into() + ) + ) + }) + } + + #[test] + fn invalid_request() { + new_test_ext().execute_with(|| { + let commitment: H256 = [8u8; 32].into(); + let message_id = [7u8; 32]; + let message = + Message::XcmQuery { query_id: 0, callback: None, message_deposit: 100 }; + + IsmpRequests::::insert(commitment, (&ALICE, message_id)); + Messages::::insert(ALICE, message_id, &message); + + let err = ismp::timeout_commitment::(&commitment).unwrap_err(); + assert_eq!( + err.downcast::().unwrap(), + IsmpError::Custom("Invalid message".into()) + ) + }) + } + + #[test] + fn actually_timesout_assert_event() { + new_test_ext().execute_with(|| { + let commitment: H256 = [8u8; 32].into(); + let message_id = [7u8; 32]; + let message_deposit = 100; + IsmpRequests::::insert(commitment, (&ALICE, message_id)); + let message = Message::Ismp { commitment, callback: None, message_deposit }; + Messages::::insert(ALICE, message_id, &message); + + let res = ismp::timeout_commitment::(&commitment); + + assert!(res.is_ok(), "{:?}", res.unwrap_err().downcast::().unwrap()); + + if let Some(Message::IsmpTimeout { commitment, .. }) = + Messages::::get(ALICE, message_id) + { + let events = events(); + assert!(events.contains(&Event::::IsmpTimedOut { commitment })) + } else { + panic!("Message not timedout.") + } + }) + } + } + + mod process_response { + use ::ismp::Error as IsmpError; + + use super::*; + #[test] + fn response_exceeds_max_encoded_len_limit() { + new_test_ext().execute_with(|| { + let byte = 1u8; + let exceeds = [byte].repeat( + <::MaxResponseLen as Get>::get() as usize + 1usize, + ); + let commitment: H256 = Default::default(); + + let err = ismp::process_response(&commitment, &exceeds, |dest, id| { + Event::::IsmpGetResponseReceived { dest, id, commitment } + }) + .unwrap_err(); + assert_eq!( + err.downcast::().unwrap(), + IsmpError::Custom( + "Response length exceeds maximum allowed length.".to_string() + ) + ); + }) + } + + #[test] + fn request_not_found() { + new_test_ext().execute_with(|| { + let response = vec![1u8]; + let commitment: H256 = Default::default(); + + let err = ismp::process_response(&commitment, &response, |dest, id| { + Event::::IsmpGetResponseReceived { dest, id, commitment } + }) + .unwrap_err(); + assert_eq!( + err.downcast::().unwrap(), + IsmpError::Custom("Request not found.".to_string()) + ); + }) + } + + #[test] + fn message_must_be_ismp_request() { + new_test_ext().execute_with(|| { + let response = vec![1u8]; + let commitment: H256 = Default::default(); + let message_id = [1u8; 32]; + + let message = Message::IsmpResponse { + commitment, + response: bounded_vec![], + message_deposit: 100, + }; + IsmpRequests::::insert(commitment, (ALICE, message_id)); + Messages::::insert(ALICE, message_id, message); + + let err = ismp::process_response(&commitment, &response, |dest, id| { + Event::::IsmpGetResponseReceived { dest, id, commitment } + }) + .unwrap_err(); + assert_eq!( + err.downcast::().unwrap(), + IsmpError::Custom("Message must be an ismp request.".to_string()) + ); + }) + } + + #[test] + fn no_callback_saves_response() { + new_test_ext().execute_with(|| { + let response = vec![1u8]; + let commitment: H256 = Default::default(); + let message_id = [1u8; 32]; + + let message = Message::Ismp { commitment, callback: None, message_deposit: 100 }; + IsmpRequests::::insert(commitment, (ALICE, message_id)); + Messages::::insert(ALICE, message_id, message); + + let res = ismp::process_response(&commitment, &response, |dest, id| { + Event::::IsmpGetResponseReceived { dest, id, commitment } + }); + + assert!(res.is_ok(), "process_response failed"); + + let Some(Message::IsmpResponse { .. }) = Messages::::get(ALICE, message_id) + else { + panic!("wrong message type.") + }; + }) + } + + #[test] + fn success_callback_releases_deposit() { + new_test_ext().execute_with(|| { + let response = vec![1u8]; + let commitment: H256 = Default::default(); + let message_id = [1u8; 32]; + let callback = Callback { selector: [1; 4], weight: 100.into(), abi: Abi::Scale }; + let message_deposit = 100; + let message = + Message::Ismp { commitment, callback: Some(callback), message_deposit }; + + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + message_deposit, + ) + .unwrap(); + + let alice_post_hold = Balances::free_balance(ALICE); + + IsmpRequests::::insert(commitment, (ALICE, message_id)); + Messages::::insert(ALICE, message_id, message); + + let res = ismp::process_response(&commitment, &response, |dest, id| { + Event::::IsmpGetResponseReceived { dest, id, commitment } + }); + + assert!(res.is_ok(), "process_response failed"); + + let alice_post_process = Balances::free_balance(ALICE); + assert_eq!(alice_post_process - message_deposit, alice_post_hold); + }) + } + } +} + +mod top_up_callback_weight { + use super::*; + + #[test] + fn message_not_found() { + new_test_ext().execute_with(|| { + let weight = Weight::from_parts(100_000, 100_000); + let message_id = [0u8; 32]; + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, weight), + Error::::MessageNotFound + ); + }) + } + + #[test] + fn zero_weight_is_err() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = Message::IsmpResponse { + commitment: Default::default(), + message_deposit: 100, + response: Default::default(), + }; + let weight = Weight::zero(); + + Messages::::insert(ALICE, message_id, message); + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, weight), + Error::::ZeroWeight + ); + }) + } + + #[test] + fn ismp_response_is_err() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = Message::IsmpResponse { + commitment: Default::default(), + message_deposit: 100, + response: Default::default(), + }; + let weight = Weight::from_parts(100_000, 100_000); + + Messages::::insert(ALICE, message_id, message); + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, weight), + Error::::MessageCompleted + ); + }) + } + + #[test] + fn xcm_response_is_err() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = Message::XcmResponse { + query_id: 0, + message_deposit: 100, + response: Response::Null, + }; + let weight = Weight::from_parts(100_000, 100_000); + + Messages::::insert(ALICE, message_id, message); + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, weight), + Error::::MessageCompleted + ); + }) + } + + #[test] + fn xcm_timeout_is_err() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = Message::XcmTimeout { + query_id: 0, + message_deposit: Default::default(), + callback_deposit: Default::default(), + }; + let weight = Weight::from_parts(100_000, 100_000); + + Messages::::insert(ALICE, message_id, message); + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, weight), + Error::::RequestTimedOut + ); + }) + } + + #[test] + fn ismp_timeout_is_err() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = Message::IsmpTimeout { + commitment: Default::default(), + message_deposit: Default::default(), + callback_deposit: Default::default(), + }; + let weight = Weight::from_parts(100_000, 100_000); + + Messages::::insert(ALICE, message_id, message); + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, weight), + Error::::RequestTimedOut + ); + }) + } + + #[test] + fn ismp_pending_works() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let initial_weight = Weight::from_parts(150_000, 150_000); + let initial_fee = ::WeightToFee::weight_to_fee(&initial_weight); + let callback = Callback { abi: Abi::Scale, selector: [0u8; 4], weight: initial_weight }; + let message = Message::Ismp { + commitment: Default::default(), + message_deposit: 100, + callback: Some(callback), + }; + let additional_weight = Weight::from_parts(100_000, 100_000); + let additional_fee = ::WeightToFee::weight_to_fee(&additional_weight); + + // take initial hold + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + initial_fee, + ) + .unwrap(); + + Messages::::insert(ALICE, message_id, message); + + assert_ne!(additional_fee, 0); + assert_ne!(initial_fee, 0); + assert_ok!(Messaging::top_up_callback_weight( + signed(ALICE), + message_id, + additional_weight + )); + + if let Some(Message::Ismp { callback, .. }) = Messages::::get(ALICE, message_id) { + // Assert that weight has been accrued and deposit taken. + assert_eq!(callback.unwrap().weight, initial_weight + additional_weight); + let held = Balances::total_balance_on_hold(&ALICE); + assert_eq!(held, initial_fee + additional_fee); + } else { + panic!("Wrong message type or not found."); + } + }) + } + + #[test] + fn ismp_pending_no_callback() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = Message::Ismp { + commitment: Default::default(), + message_deposit: 100, + callback: None, + }; + let additional_weight = Weight::from_parts(100_000, 100_000); + + Messages::::insert(ALICE, message_id, message); + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, additional_weight), + Error::::NoCallbackFound + ); + }) + } + + #[test] + fn xcm_pending_no_callback() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let message = Message::XcmQuery { query_id: 0, message_deposit: 100, callback: None }; + let additional_weight = Weight::from_parts(100_000, 100_000); + + Messages::::insert(ALICE, message_id, message); + assert_noop!( + Messaging::top_up_callback_weight(signed(ALICE), message_id, additional_weight), + Error::::NoCallbackFound + ); + }) + } + + #[test] + fn xcm_pending_works() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let initial_weight = Weight::from_parts(150_000, 150_000); + let initial_fee = ::WeightToFee::weight_to_fee(&initial_weight); + let callback = Callback { abi: Abi::Scale, selector: [0u8; 4], weight: initial_weight }; + let message = Message::XcmQuery { + query_id: Default::default(), + message_deposit: 100, + callback: Some(callback), + }; + let additional_weight = Weight::from_parts(100_000, 100_000); + let additional_fee = ::WeightToFee::weight_to_fee(&additional_weight); + + // take initial hold + ::Fungibles::hold( + &HoldReason::Messaging.into(), + &ALICE, + initial_fee, + ) + .unwrap(); + + Messages::::insert(ALICE, message_id, message); + + assert_ne!(additional_fee, 0); + assert_ne!(initial_fee, 0); + assert_ok!(Messaging::top_up_callback_weight( + signed(ALICE), + message_id, + additional_weight + )); + + if let Some(Message::XcmQuery { callback, .. }) = + Messages::::get(ALICE, message_id) + { + // Assert that weight has been accrued and deposit taken. + assert_eq!(callback.unwrap().weight, initial_weight + additional_weight); + let held = Balances::total_balance_on_hold(&ALICE); + assert_eq!(held, initial_fee + additional_fee); + } else { + panic!("Wrong message type or not found."); + } + }) + } + + #[test] + fn assert_event() { + new_test_ext().execute_with(|| { + let message_id = [0u8; 32]; + let initial_weight = Weight::from_parts(150_000, 150_000); + let callback = Callback { abi: Abi::Scale, selector: [0u8; 4], weight: initial_weight }; + let message = Message::XcmQuery { + query_id: Default::default(), + message_deposit: 100, + callback: Some(callback), + }; + let additional_weight = Weight::from_parts(100_000, 100_000); + + Messages::::insert(ALICE, message_id, message); + + assert_ok!(Messaging::top_up_callback_weight( + signed(ALICE), + message_id, + additional_weight + )); + + let events = events(); + assert!(events.contains(&Event::::CallbackGasIncreased { + message_id, + total_weight: initial_weight + additional_weight, + })); + }) + } +} diff --git a/pallets/api/src/messaging/transports/ismp.rs b/pallets/api/src/messaging/transports/ismp.rs index ae5654a29..aa9fed4bd 100644 --- a/pallets/api/src/messaging/transports/ismp.rs +++ b/pallets/api/src/messaging/transports/ismp.rs @@ -7,26 +7,31 @@ use ::ismp::{ DispatchRequest::{self}, }, host::StateMachine, + messaging::hash_request, }; use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ - pallet_prelude::Weight, traits::Get as _, CloneNoBound, DebugNoBound, EqNoBound, - PartialEqNoBound, + ensure, + pallet_prelude::Weight, + traits::{fungible::MutateHold, tokens::Precision::Exact, Get as _}, + CloneNoBound, DebugNoBound, EqNoBound, PartialEqNoBound, }; use ismp::{ dispatcher::DispatchPost, module::IsmpModule, - router::{GetResponse, PostRequest, PostResponse, Request::*, Response, Timeout}, + router::{GetResponse, PostRequest, PostResponse, Request, Response, Timeout}, Error, }; use pallet_ismp::weights::IsmpModuleWeight; use scale_info::TypeInfo; -use sp_core::{keccak_256, H256}; -use sp_runtime::{BoundedVec, SaturatedConversion, Saturating}; +use sp_core::H256; +use sp_runtime::BoundedVec; +use sp_weights::WeightToFee; use crate::messaging::{ pallet::{Config, Event, IsmpRequests, Messages, Pallet}, - AccountIdOf, BalanceOf, CalculateDeposit, MessageId, Vec, + weights::WeightInfo, + AccountIdOf, CallbackExecutor, HoldReason, MessageId, }; pub const ID: [u8; 3] = *b"pop"; @@ -49,7 +54,9 @@ impl From> for DispatchRequest { } } -#[derive(Encode, EqNoBound, CloneNoBound, DebugNoBound, Decode, PartialEqNoBound, TypeInfo)] +#[derive( + Encode, EqNoBound, CloneNoBound, DebugNoBound, Decode, PartialEqNoBound, TypeInfo, MaxEncodedLen, +)] #[scale_info(skip_type_params(T))] pub struct Get { // TODO: Option to support relay? @@ -79,18 +86,9 @@ impl From> for DispatchRequest { } } -impl CalculateDeposit> for Get { - fn calculate_deposit(&self) -> BalanceOf { - let len = self.dest.encoded_size() + - self.height.encoded_size() + - self.timeout.encoded_size() + - self.context.len() + - self.keys.iter().map(|k| k.len()).sum::(); - calculate_deposit::(T::IsmpByteFee::get() * len.saturated_into()) - } -} - -#[derive(Encode, EqNoBound, CloneNoBound, DebugNoBound, Decode, PartialEqNoBound, TypeInfo)] +#[derive( + Encode, EqNoBound, CloneNoBound, DebugNoBound, Decode, PartialEqNoBound, TypeInfo, MaxEncodedLen, +)] #[scale_info(skip_type_params(T))] pub struct Post { // TODO: Option to support relay? @@ -117,14 +115,13 @@ impl From> for DispatchRequest { } } -impl CalculateDeposit> for Post { - fn calculate_deposit(&self) -> BalanceOf { - let len = self.dest.encoded_size() + self.timeout.encoded_size() + self.data.len(); - calculate_deposit::(T::IsmpByteFee::get() * len.saturated_into()) +pub struct Handler(PhantomData); +impl Default for Handler { + fn default() -> Self { + Self::new() } } -pub struct Handler(PhantomData); impl Handler { pub fn new() -> Self { Self(PhantomData) @@ -133,29 +130,24 @@ impl Handler { impl IsmpModule for Handler { fn on_accept(&self, _request: PostRequest) -> Result<(), anyhow::Error> { - todo!() + Ok(()) } fn on_response(&self, response: Response) -> Result<(), anyhow::Error> { // Hash request to determine key for message lookup. match response { Response::Get(GetResponse { get, values }) => { - let commitment = H256::from(keccak_256(&ismp::router::Request::Get(get).encode())); - process_response( - &commitment, - &values, - || values.encode(), - |dest, id| Event::::IsmpGetResponseReceived { dest, id, commitment }, - ) + log::debug!(target: "pop-api::extension", "StorageValue={:?}", values); + let commitment = hash_request::(&Request::Get(get)); + process_response(&commitment, &values, |dest, id| { + Event::::IsmpGetResponseReceived { dest, id, commitment } + }) }, Response::Post(PostResponse { post, response, .. }) => { - let commitment = H256::from(keccak_256(&Post(post).encode())); - process_response( - &commitment, - &response, - || response.clone(), // TODO: resolve unnecessary clone - |dest, id| Event::::IsmpPostResponseReceived { dest, id, commitment }, - ) + let commitment = hash_request::(&Request::Post(post)); + process_response(&commitment, &response, |dest, id| { + Event::::IsmpPostResponseReceived { dest, id, commitment } + }) }, } } @@ -164,90 +156,120 @@ impl IsmpModule for Handler { match timeout { Timeout::Request(request) => { // hash request to determine key for original request id lookup - let id = match request { - Get(get) => H256::from(keccak_256(&get.encode())), - Post(post) => H256::from(keccak_256(&post.encode())), - }; - let key = - IsmpRequests::::get(id).ok_or(Error::Custom("request not found".into()))?; - Messages::::try_mutate(key.0, key.1, |message| { - let Some(super::super::Message::Ismp { commitment, deposit, .. }) = message - else { - return Err(Error::Custom("message not found".into())) - }; - *message = Some(super::super::Message::IsmpTimedOut { - deposit: *deposit, - commitment: *commitment, - }); - Ok(()) - })?; - Ok(()) + let commitment = hash_request::(&request); + timeout_commitment::(&commitment) }, - Timeout::Response(_response) => { - todo!() + Timeout::Response(PostResponse { post, .. }) => { + let commitment = hash_request::(&Request::Post(post)); + timeout_commitment::(&commitment) }, } } } -// TODO: replace with benchmarked weight functions impl IsmpModuleWeight for Pallet { + // Static as not in use. fn on_accept(&self, _request: &PostRequest) -> Weight { - todo!() + DbWeightOf::::get().reads_writes(1, 1) } - fn on_timeout(&self, _timeout: &Timeout) -> Weight { - DbWeightOf::::get().reads_writes(2, 1) + fn on_timeout(&self, timeout: &Timeout) -> Weight { + let x = match timeout { + Timeout::Request(Request::Post(_)) => 0u32, + Timeout::Request(Request::Get(_)) => 1u32, + Timeout::Response(_) => 2u32, + }; + T::WeightInfo::ismp_on_timeout(x) } - fn on_response(&self, _response: &Response) -> Weight { - DbWeightOf::::get().reads_writes(2, 2) - } -} - -fn calculate_deposit(mut deposit: BalanceOf) -> BalanceOf { - // Add amount for `IsmpRequests` lookup. - let key_len: BalanceOf = - (T::AccountId::max_encoded_len() + MessageId::max_encoded_len()).saturated_into(); - deposit.saturating_accrue( - T::ByteFee::get() * (H256::max_encoded_len().saturated_into::>() + key_len), - ); + // todo: test + fn on_response(&self, response: &Response) -> Weight { + let x = match response { + Response::Get(_) => 1, + Response::Post(_) => 0, + }; - deposit + T::WeightInfo::ismp_on_response(x).saturating_add(T::CallbackExecutor::execution_weight()) + // Also add actual weight consumed by contract env. + } } -fn process_response( +pub(crate) fn process_response( commitment: &H256, - encode: &impl Encode, - store: impl Fn() -> Vec, + response_data: &impl Encode, event: impl Fn(AccountIdOf, MessageId) -> Event, ) -> Result<(), anyhow::Error> { - let (origin, id) = - IsmpRequests::::get(commitment).ok_or(Error::Custom("request not found".into()))?; + ensure!( + response_data.encoded_size() <= T::MaxResponseLen::get() as usize, + Error::Custom("Response length exceeds maximum allowed length.".into()) + ); - let Some(super::super::Message::Ismp { commitment, callback, deposit }) = - Messages::::get(&origin, &id) + let (initiating_origin, id) = + IsmpRequests::::get(commitment).ok_or(Error::Custom("Request not found.".into()))?; + + let Some(super::super::Message::Ismp { commitment, callback, message_deposit }) = + Messages::::get(&initiating_origin, id) else { - return Err(Error::Custom("message not found".into()))? + return Err(Error::Custom("Message must be an ismp request.".into()).into()); }; + // Deposit that the message has been recieved before a potential callback execution. + Pallet::::deposit_event(event(initiating_origin.clone(), id)); + // Attempt callback with result if specified. if let Some(callback) = callback { - // TODO: check response length - if Pallet::::call(origin.clone(), callback, id, &encode, deposit).is_ok() { - Pallet::::deposit_event(event(origin, id)); + if Pallet::::call(&initiating_origin, callback, &id, response_data).is_ok() { + // Clean storage, return deposit + Messages::::remove(&initiating_origin, id); + IsmpRequests::::remove(commitment); + T::Fungibles::release( + &HoldReason::Messaging.into(), + &initiating_origin, + message_deposit, + Exact, + ) + .map_err(|_| Error::Custom("failed to release message deposit.".into()))?; + return Ok(()); } } - // Otherwise store response for manual retrieval and removal. - let response: BoundedVec = - store().try_into().map_err(|_| Error::Custom("response exceeds max".into()))?; + // No callback or callback error: store response for manual retrieval and removal. + let encoded_response: BoundedVec = response_data + .encode() + .try_into() + .map_err(|_| Error::Custom("response exceeds max".into()))?; Messages::::insert( - &origin, - &id, - super::super::Message::IsmpResponse { commitment, deposit, response }, + &initiating_origin, + id, + super::super::Message::IsmpResponse { + commitment, + message_deposit, + response: encoded_response, + }, ); - Pallet::::deposit_event(event(origin, id)); + Ok(()) +} + +pub(crate) fn timeout_commitment(commitment: &H256) -> Result<(), anyhow::Error> { + let key = IsmpRequests::::get(commitment) + .ok_or(Error::Custom("Request commitment not found while processing timeout.".into()))?; + Messages::::try_mutate(key.0, key.1, |message| { + let Some(super::super::Message::Ismp { commitment, message_deposit, callback }) = message + else { + return Err(Error::Custom("Invalid message".into())); + }; + let callback_deposit = callback.map(|cb| T::WeightToFee::weight_to_fee(&cb.weight)); + *message = Some(super::super::Message::IsmpTimeout { + message_deposit: *message_deposit, + commitment: *commitment, + callback_deposit, + }); + Ok(()) + })?; + + crate::messaging::Pallet::::deposit_event(Event::::IsmpTimedOut { + commitment: *commitment, + }); Ok(()) } diff --git a/pallets/api/src/messaging/transports/xcm.rs b/pallets/api/src/messaging/transports/xcm.rs index f230d0463..b5318b545 100644 --- a/pallets/api/src/messaging/transports/xcm.rs +++ b/pallets/api/src/messaging/transports/xcm.rs @@ -1,8 +1,10 @@ pub(crate) use xcm::latest::{Location, QueryId, Response}; +use xcm_builder::QueryControllerWeightInfo; use crate::messaging::{pallet::Call, BlockNumberOf, Config}; pub trait NotifyQueryHandler { + type WeightInfo: QueryControllerWeightInfo; /// Attempt to create a new query ID and register it as a query that is yet to respond, and /// which will call a dispatchable when a response happens. fn new_notify_query( diff --git a/pallets/api/src/messaging/weights.md b/pallets/api/src/messaging/weights.md new file mode 100644 index 000000000..8105547ce --- /dev/null +++ b/pallets/api/src/messaging/weights.md @@ -0,0 +1,91 @@ +# Weights, fees and blockspace + +## Context +In messaging, ISMP relayers and XCM response are handled very differently hence, some background is required to appreciate why fees, blockspace and weights are handled as they are. +Generally it comes down to **how the response is called** and from this we can deduce how pallet-api must react. +In these cases it is either directly via `call.dispatch(origin)` where call is a type that implements `Dispatchable` or via a transaction, the normal route to dispatch a call. + +Furthermore, on the subject of calling into a contract environment, we have a similar case to using call.dispatch, using a method like bare_call does not increase block weight or handle fees. We are outside the normal flow of dispatching. + +### XCM +In the case of XCM we are heavily dependant on the __slightly unfinished__ version of pallet-xcm's OnResponse implementation. In the current version (2412) the RuntimeCall is decoded and dispatched directly, the function on_response returns a weight, which is ignored by the xcm-executor. This means fees are not charged, weight is not tracked and we must handle these ourselves on a pallet level. + +It is important to note that we **must** follow any changes to the xcm-executor and pallet-xcm regarding QueryResponses closely to avoid any potentially critical issues. Especially around the max_weight field in the QueryResponseInfo which is **contract defined** and hence a place of vulnerability. + +In our case this max_weight will be ignored and setting to Weight::Unlimited is the best option from a contract developers perspetive. + +The process is then as follows: + +1. Query: + - Charge the caller for the weight of the request extrinsic only. + - Take a deposit for the callback execution. + - Take a fee for the response and the cost to call the CallbackExecutor. + +This ensures that fees are paid for the request, the response and we are holding fees for the callback. +The weight used is equal to the request only. + +2. Response: + - Aggregate the response weight and the callback weight and ensure we have enough blockspace for the worst case. + - Execute the callback and return the actual weight used. + - Increase BlockWeight by the weight of the response and the callback and callback execution. + - Return any left over weight to the origin. + +The fees have been paid in the Query except for the callback gas (which is a deposit). We only need to manage response weight alongside the callback weight and fees. +Simple enough ay? + +### ISMP +For ISMP we are in normal substrate territory, calls are handled via the ismp-pallet's `handle` extrinsic. This greatly simplifies the flow. +ISMP responses are handled by the IsmpModule trait and its weight via IsmpModuleWeights. +The IsmpModuleWeight is aggregated into the pallet-ismp's `handle` extrinsic, handling our fees and weights normally for the response weight and the CallbackExecutor's `execution_weight()`, _sigh_. +We still have to manage the callbacks weight. + +The process therefore is much simpler: + +1. Request: + - Charge the caller the weight of the request extrinsic only. + - Take a deposit for the callback execution. + + +2. Response: + - Using only the callback weight ensure we have enough blockspace. + - Execute the callback and return weight used. + - Increase blockspace by only weightused. + - Return any left over weight. + +Then i think, and hope, we are safe. + + + +```mermaid +flowchart TD + %% XCM New Query + A(["xcm_new_query"]) --> B{"Callback included?
"} + B -- yes --> C["Take deposit for callback weight"] + B -- no --> D["Take response fee"] + C --> D + + %% XCM Response + E(["xcm_response"]) --> F["xcm-executor"] + F --> G["pallet-xcm::OnResponse"] + G --> H["call.dispatch xcm_response"] + H --> I{"Callback included?"} + I -- yes --> J["Execute callback"] + J --> M{"Success?"} + M -- yes --> K["Refund unused weight"] + K --> N["Increase block weight"] + I -- no --> L["Save response"] + L --> N + M -- no --> L + + %% ISMP Request and Response + O(["ismp_request"]) --> P{"Callback included?"} + P -- yes --> Q["Take deposit for callback weight"] + + R(["ismp_response"]) --> S["on_response"] + S --> I +``` + + + + + diff --git a/pallets/api/src/messaging/weights.rs b/pallets/api/src/messaging/weights.rs new file mode 100644 index 000000000..7f999c19b --- /dev/null +++ b/pallets/api/src/messaging/weights.rs @@ -0,0 +1,47 @@ +use crate::*; + +pub trait WeightInfo { + fn remove(x: u32) -> Weight; + fn xcm_new_query(x: u32) -> Weight; + fn xcm_response() -> Weight; + fn ismp_on_response(x: u32) -> Weight; + fn ismp_on_timeout(x: u32) -> Weight; + fn ismp_get(x: u32, y: u32, a: u32) -> Weight; + fn ismp_post(x: u32, y: u32) -> Weight; + fn top_up_callback_weight() -> Weight; +} + +#[cfg(test)] +impl WeightInfo for () { + fn remove(_x: u32) -> Weight { + Default::default() + } + + fn xcm_new_query(_x: u32) -> Weight { + Default::default() + } + + fn xcm_response() -> Weight { + Default::default() + } + + fn ismp_on_response(_x: u32) -> Weight { + Default::default() + } + + fn ismp_on_timeout(_x: u32) -> Weight { + Default::default() + } + + fn ismp_get(_x: u32, _y: u32, _a: u32) -> Weight { + Default::default() + } + + fn ismp_post(_x: u32, _y: u32) -> Weight { + Default::default() + } + + fn top_up_callback_weight() -> Weight { + Default::default() + } +} diff --git a/pallets/api/src/mock.rs b/pallets/api/src/mock.rs index d75c127c7..30d8e94c7 100644 --- a/pallets/api/src/mock.rs +++ b/pallets/api/src/mock.rs @@ -1,20 +1,33 @@ +use ::xcm::latest::{Junction, Junctions, Location}; use codec::{Decode, Encode}; use frame_support::{ - derive_impl, parameter_types, - traits::{AsEnsureOriginWithArg, ConstU128, ConstU32, ConstU64, Everything}, + derive_impl, + dispatch::PostDispatchInfo, + pallet_prelude::{DispatchResultWithPostInfo, EnsureOrigin, Pays}, + parameter_types, + traits::{ + tokens::imbalance::ResolveTo, AsEnsureOriginWithArg, ConstU128, ConstU32, ConstU64, + Everything, Get, Hooks, OriginTrait, + }, }; -use frame_system::{EnsureRoot, EnsureSigned}; +use frame_system::{pallet_prelude::BlockNumberFor, EnsureRoot, EnsureSigned}; +use ismp::{host::StateMachine, module::IsmpModule, router::IsmpRouter}; use pallet_nfts::PalletFeatures; use scale_info::TypeInfo; use sp_core::H256; use sp_runtime::{ - traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Lazy, Verify}, - BuildStorage, + traits::{BlakeTwo256, IdentifyAccount, IdentityLookup, Lazy, TryConvert, Verify, Zero}, + BuildStorage, Weight, }; +use sp_std::prelude::*; + +use crate::messaging::{Call, CallbackExecutor, Messages, NotifyQueryHandler}; pub(crate) const ALICE: AccountId = 1; pub(crate) const BOB: AccountId = 2; pub(crate) const CHARLIE: AccountId = 3; +pub(crate) const RESPONSE_LOCATION: Location = Location { parents: 1, interior: Junctions::Here }; +pub(crate) const FEE_ACCOUNT: AccountId = 5; pub(crate) const INIT_AMOUNT: Balance = 100_000_000 * UNIT; pub(crate) const UNIT: Balance = 10_000_000_000; @@ -33,7 +46,10 @@ frame_support::construct_runtime!( Balances: pallet_balances, Fungibles: crate::fungibles, Nfts: pallet_nfts::, - NonFungibles: crate::nonfungibles + NonFungibles: crate::nonfungibles, + Messaging: crate::messaging, + Ismp: pallet_ismp, + TimeStamps: pallet_timestamp, } ); @@ -200,13 +216,224 @@ impl crate::nonfungibles::Config for Test { type WeightInfo = (); } +/// Will return half of the weight in the post info. +/// Mocking a successfull execution, with refund. +pub struct AlwaysSuccessfullCallbackExecutor(T); +impl CallbackExecutor for AlwaysSuccessfullCallbackExecutor { + fn execute( + _account: &::AccountId, + _data: Vec, + weight: sp_runtime::Weight, + ) -> frame_support::dispatch::DispatchResultWithPostInfo { + DispatchResultWithPostInfo::Ok(PostDispatchInfo { + actual_weight: Some(weight / 2), + pays_fee: Pays::Yes, + }) + } + + // Will be used for prepayment of response fees. + fn execution_weight() -> Weight { + Weight::from_parts(100_000u64, 100_000u64) + } +} + +parameter_types! { + pub const OnChainByteFee: Balance = 10; + pub const OffChainByteFee: Balance = 5; + pub const MaxXcmQueryTimeoutsPerBlock: u32 = 10; + pub const FeeAccount: AccountId = FEE_ACCOUNT; + pub const IsmpRelayerFee: Balance = 100_000; +} + +pub struct MockNotifyQuery(T); +impl NotifyQueryHandler for MockNotifyQuery { + type WeightInfo = (); + + fn new_notify_query( + _responder: impl Into, + _notify: Call, + _timeout: BlockNumberFor, + _match_querier: impl Into, + ) -> u64 { + get_next_query_id() + } +} + +// Just done based on the count of the queries created +// Problematic if one is removed. +pub fn get_next_query_id() -> u64 { + Messages::::iter().count() as u64 +} + +impl crate::messaging::Config for Test { + type CallbackExecutor = AlwaysSuccessfullCallbackExecutor; + type FeeHandler = ResolveTo; + type Fungibles = Balances; + type IsmpDispatcher = pallet_ismp::Pallet; + type IsmpRelayerFee = IsmpRelayerFee; + type Keccak256 = Keccak; + type MaxContextLen = ConstU32<64>; + type MaxDataLen = ConstU32<1024>; + type MaxKeyLen = ConstU32<32>; + type MaxKeys = ConstU32<10>; + type MaxRemovals = ConstU32<1024>; + type MaxResponseLen = ConstU32<1024>; + type MaxXcmQueryTimeoutsPerBlock = MaxXcmQueryTimeoutsPerBlock; + type OffChainByteFee = OffChainByteFee; + type OnChainByteFee = OnChainByteFee; + type OriginConverter = AccountToLocation; + type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; + type WeightInfo = DummyPrepaymentWeights; + type WeightToFee = RefTimePlusProofTime; + type Xcm = MockNotifyQuery; + type XcmResponseOrigin = EnsureRootWithResponseSuccess; +} + +// The weight info is required for prepayment of a response and the callback execution. +// Hence we must provide weights for the response extrinsics and callback executor to unit test. +pub struct DummyPrepaymentWeights; +impl crate::messaging::WeightInfo for DummyPrepaymentWeights { + fn remove(_x: u32) -> Weight { + Default::default() + } + + fn xcm_new_query(_x: u32) -> Weight { + Default::default() + } + + fn xcm_response() -> Weight { + Weight::from_parts(100_000_000u64, 100_000_000u64) + } + + fn ismp_on_response(_x: u32) -> Weight { + Weight::from_parts(150_000_000u64, 150_000_000u64) + } + + fn ismp_on_timeout(_x: u32) -> Weight { + Zero::zero() + } + + fn ismp_get(_x: u32, _y: u32, _a: u32) -> Weight { + Zero::zero() + } + + fn ismp_post(_x: u32, _y: u32) -> Weight { + Zero::zero() + } + + fn top_up_callback_weight() -> Weight { + Zero::zero() + } +} + +pub struct Keccak; +impl ::ismp::messaging::Keccak256 for Keccak { + fn keccak256(bytes: &[u8]) -> sp_core::H256 + where + Self: Sized, + { + sp_core::keccak_256(bytes).into() + } +} + +pub struct RefTimePlusProofTime; +impl sp_weights::WeightToFee for RefTimePlusProofTime { + type Balance = Balance; + + fn weight_to_fee(weight: &sp_weights::Weight) -> Self::Balance { + (weight.ref_time() + weight.proof_size()) as u128 + } +} + +pub struct AccountToLocation; + +impl TryConvert for AccountToLocation { + fn try_convert(origin: RuntimeOrigin) -> Result { + let signer = origin.into_signer(); + let l = Junctions::from(Junction::AccountIndex64 { + network: None, + index: signer.expect("No account id, required."), + }) + .into_location(); + Ok(l) + } +} + +pub struct EnsureRootWithResponseSuccess; +impl EnsureOrigin for EnsureRootWithResponseSuccess { + type Success = Location; + + fn try_origin(o: RuntimeOrigin) -> Result { + if EnsureRoot::ensure_origin(o.clone()).is_ok() { + Ok(RESPONSE_LOCATION) + } else { + Err(o) + } + } + + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin() -> Result { + Ok(RuntimeOrigin::root()) + } +} + +impl pallet_timestamp::Config for Test { + type MinimumPeriod = ConstU64<0>; + /// A timestamp: milliseconds since the unix epoch. + type Moment = u64; + type OnTimestampSet = (); + type WeightInfo = (); +} + +impl pallet_ismp::Config for Test { + type AdminOrigin = EnsureRoot; + type Balance = Balance; + type ConsensusClients = (); + type Coprocessor = Coprocessor; + type Currency = Balances; + type HostStateMachine = HostStateMachine; + type OffchainDB = (); + type Router = AlwaysErrorRouter; + type RuntimeEvent = RuntimeEvent; + type TimestampProvider = TimeStamps; + type WeightProvider = (); +} + +#[derive(Default)] +pub struct AlwaysErrorRouter; +impl IsmpRouter for AlwaysErrorRouter { + fn module_for_id(&self, _bytes: Vec) -> Result, anyhow::Error> { + Err(anyhow::anyhow!("not implemented")) + } +} + +pub struct Coprocessor; +impl Get> for Coprocessor { + fn get() -> Option { + Some(HostStateMachine::get()) + } +} + +pub struct HostStateMachine; +impl Get for HostStateMachine { + fn get() -> StateMachine { + StateMachine::Polkadot(2000) + } +} + pub(crate) fn new_test_ext() -> sp_io::TestExternalities { let mut t = frame_system::GenesisConfig::::default() .build_storage() .expect("Frame system builds valid default genesis config"); pallet_balances::GenesisConfig:: { - balances: vec![(ALICE, INIT_AMOUNT), (BOB, INIT_AMOUNT), (CHARLIE, INIT_AMOUNT)], + balances: vec![ + (ALICE, INIT_AMOUNT), + (BOB, INIT_AMOUNT), + (CHARLIE, INIT_AMOUNT), + (FEE_ACCOUNT, INIT_AMOUNT), + ], } .assimilate_storage(&mut t) .expect("Pallet balances storage can be assimilated"); @@ -227,3 +454,15 @@ pub(crate) fn root() -> RuntimeOrigin { pub(crate) fn none() -> RuntimeOrigin { RuntimeOrigin::none() } + +pub fn next_block() { + let next_block: u64 = System::block_number() + 1; + System::set_block_number(next_block); + Messaging::on_initialize(next_block); +} + +pub fn run_to(block_number: u64) { + while System::block_number() < block_number { + next_block(); + } +} diff --git a/pallets/api/src/nonfungibles/benchmarking.rs b/pallets/api/src/nonfungibles/benchmarking.rs index 650f98588..20c7416c1 100644 --- a/pallets/api/src/nonfungibles/benchmarking.rs +++ b/pallets/api/src/nonfungibles/benchmarking.rs @@ -1,7 +1,7 @@ //! Benchmarking setup for pallet_api::nonfungibles use frame_benchmarking::{account, v2::*}; -use frame_support::BoundedVec; +use frame_support::{traits::Currency, BoundedVec}; use sp_runtime::traits::Zero; use super::{ diff --git a/pop-api/Cargo.toml b/pop-api/Cargo.toml index 51ef10a70..1f20df3ae 100644 --- a/pop-api/Cargo.toml +++ b/pop-api/Cargo.toml @@ -34,10 +34,10 @@ path = "src/lib.rs" [features] default = [ "std" ] fungibles = [ ] -messaging = [ ] nonfungibles = [ ] std = [ "ink/std", "pop-primitives/std", "sp-io/std", ] +messaging = [ ] diff --git a/pop-api/examples/messaging/Cargo.toml b/pop-api/examples/messaging/Cargo.toml old mode 100644 new mode 100755 diff --git a/pop-api/examples/messaging/lib.rs b/pop-api/examples/messaging/lib.rs old mode 100644 new mode 100755 index 773b3d240..c2ff52c7c --- a/pop-api/examples/messaging/lib.rs +++ b/pop-api/examples/messaging/lib.rs @@ -21,6 +21,7 @@ pub type Result = core::result::Result; #[ink::contract] mod messaging { + use pop_api::messaging::{ismp::StorageValue, Callback}; use super::*; diff --git a/pop-api/integration-tests/contracts/messaging/Cargo.toml b/pop-api/integration-tests/contracts/messaging/Cargo.toml old mode 100644 new mode 100755 diff --git a/pop-api/integration-tests/contracts/messaging/lib.rs b/pop-api/integration-tests/contracts/messaging/lib.rs old mode 100644 new mode 100755 diff --git a/pop-api/integration-tests/src/messaging.rs b/pop-api/integration-tests/src/messaging.rs index 6ead8cdf6..e7d212fd6 100644 --- a/pop-api/integration-tests/src/messaging.rs +++ b/pop-api/integration-tests/src/messaging.rs @@ -36,6 +36,12 @@ fn ismp_get_request_works() { assert_ok!(contract.ismp_get(id, request, 0, false)); assert_eq!(contract.poll(id).unwrap(), Some(Status::Pending)); + assert!(System::events().iter().any(|e| { + matches!(&e.event, + RuntimeEvent::Messaging(IsmpGetDispatched { origin, id: message_id, ..}) + if origin == &contract.id && *message_id == id + ) + })); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(IsmpGetDispatched { origin, id: message_id, ..}) @@ -405,6 +411,9 @@ struct Contract { } impl Contract { fn new() -> Self { + let (address, account_id) = + instantiate(CONTRACT, INIT_VALUE, function_selector("new"), vec![]); + Self { address, id: account_id } let address = instantiate(CONTRACT, INIT_VALUE, vec![]); Self { address: address.clone(), id: address } } @@ -470,6 +479,11 @@ impl Contract { } fn last_event(&self) -> Vec { + let events = System::read_events_for_pallet::>(); + let contract_events = events + .iter() + .filter_map(|event| match event { + pallet_revive::Event::::ContractEmitted { contract, data, .. } let events = System::read_events_for_pallet::>(); let contract_events = events .iter() diff --git a/runtime/devnet/Cargo.toml b/runtime/devnet/Cargo.toml index 29f7063a7..730d431c8 100644 --- a/runtime/devnet/Cargo.toml +++ b/runtime/devnet/Cargo.toml @@ -50,6 +50,7 @@ pallet-nft-fractionalization.workspace = true pallet-nfts-runtime-api.workspace = true pallet-preimage.workspace = true pallet-proxy.workspace = true +pallet-revive.workspace = true pallet-scheduler.workspace = true pallet-session.workspace = true pallet-sudo.workspace = true @@ -68,6 +69,7 @@ sp-mmr-primitives.workspace = true sp-offchain.workspace = true sp-runtime.workspace = true sp-session.workspace = true +sp-std.workspace = true sp-transaction-pool.workspace = true sp-version.workspace = true @@ -97,6 +99,7 @@ parachains-common.workspace = true ismp.workspace = true ismp-parachain.workspace = true ismp-parachain-runtime-api.workspace = true +# TODO: use signed pallet-ismp = { workspace = true, features = [ "unsigned" ] } pallet-ismp-runtime-api.workspace = true @@ -147,6 +150,7 @@ std = [ "pallet-nfts/std", "pallet-preimage/std", "pallet-proxy/std", + "pallet-revive/std", "pallet-scheduler/std", "pallet-session/std", "pallet-sudo/std", diff --git a/runtime/devnet/src/config/api/mod.rs b/runtime/devnet/src/config/api/mod.rs index e49a4c7d9..6c916d127 100644 --- a/runtime/devnet/src/config/api/mod.rs +++ b/runtime/devnet/src/config/api/mod.rs @@ -3,16 +3,28 @@ use core::marker::PhantomData; use codec::Decode; use cumulus_primitives_core::Weight; -use frame_support::traits::Contains; +use frame_support::{ + dispatch::{DispatchErrorWithPostInfo, PostDispatchInfo}, + pallet_prelude::*, + traits::Contains, +}; pub(crate) use pallet_api::Extension; use pallet_api::{extension::*, Read}; +use pallet_revive::{AddressMapper, CollectEvents, DebugInfo}; +use pallet_xcm::Origin; use sp_core::ConstU8; -use sp_runtime::DispatchError; +use sp_runtime::{traits::AccountIdConversion, DispatchError}; use versioning::*; +use xcm::latest::{Junctions, Location}; use crate::{ - config::assets::{TrustBackedAssetsInstance, TrustBackedNftsInstance}, - fungibles, nonfungibles, Runtime, RuntimeCall, RuntimeEvent, + config::{ + assets::{TrustBackedAssetsInstance, TrustBackedNftsInstance}, + xcm::LocalOriginToLocation, + }, + fungibles, messaging, nonfungibles, parameter_types, weights, AccountId, Balances, BlockNumber, + ConstU32, Ismp, Revive, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason, RuntimeOrigin, + TransactionByteFee, }; mod versioning; @@ -36,6 +48,9 @@ pub enum RuntimeRead { /// Non-fungible token queries. #[codec(index = 151)] NonFungibles(nonfungibles::Read), + /// Messaging read queries. + #[codec(index = 152)] + Messaging(messaging::Read), } impl Readable for RuntimeRead { @@ -48,6 +63,7 @@ impl Readable for RuntimeRead { match self { RuntimeRead::Fungibles(key) => fungibles::Pallet::weight(key), RuntimeRead::NonFungibles(key) => nonfungibles::Pallet::weight(key), + RuntimeRead::Messaging(key) => messaging::Pallet::weight(key), } } @@ -57,6 +73,7 @@ impl Readable for RuntimeRead { RuntimeRead::Fungibles(key) => RuntimeResult::Fungibles(fungibles::Pallet::read(key)), RuntimeRead::NonFungibles(key) => RuntimeResult::NonFungibles(nonfungibles::Pallet::read(key)), + RuntimeRead::Messaging(key) => RuntimeResult::Messaging(messaging::Pallet::read(key)), } } } @@ -69,6 +86,7 @@ pub enum RuntimeResult { Fungibles(fungibles::ReadResult), /// Non-fungible token read results. NonFungibles(nonfungibles::ReadResult), + Messaging(messaging::ReadResult), } impl RuntimeResult { @@ -77,6 +95,7 @@ impl RuntimeResult { match self { RuntimeResult::Fungibles(result) => result.encode(), RuntimeResult::NonFungibles(result) => result.encode(), + RuntimeResult::Messaging(result) => result.encode(), } } } @@ -93,6 +112,146 @@ impl nonfungibles::Config for Runtime { type WeightInfo = (); } +parameter_types! { + pub const MaxXcmQueryTimeoutsPerBlock: u32 = 100; + + // TODO: What is reasonable. + pub const IsmpRelayerFee: crate::Balance = crate::UNIT / 2; +} + +impl messaging::Config for Runtime { + type CallbackExecutor = CallbackExecutor; + // Burn fees. + type FeeHandler = crate::DealWithFees; + type Fungibles = Balances; + type IsmpDispatcher = Ismp; + type IsmpRelayerFee = IsmpRelayerFee; + type Keccak256 = Ismp; + type MaxContextLen = ConstU32<64>; + type MaxDataLen = ConstU32<512>; + type MaxKeyLen = ConstU32<8>; + type MaxKeys = ConstU32<10>; + // TODO: size appropriately + type MaxRemovals = ConstU32<100>; + // TODO: ensure within the contract buffer bounds + type MaxResponseLen = ConstU32<512>; + type MaxXcmQueryTimeoutsPerBlock = MaxXcmQueryTimeoutsPerBlock; + type OffChainByteFee = TransactionByteFee; + type OnChainByteFee = TransactionByteFee; + type OriginConverter = LocalOriginToLocation; + type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; + type WeightInfo = weights::messaging_weights::WeightInfo; + type WeightToFee = ::WeightToFee; + type Xcm = QueryHandler; + type XcmResponseOrigin = EnsureResponse; +} + +pub struct EnsureResponse; +impl> + From> EnsureOrigin for EnsureResponse { + type Success = Location; + + fn try_origin(o: O) -> Result { + o.into().and_then(|o| match o { + Origin::Response(location) => Ok(location), + r => Err(O::from(r)), + }) + } + + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin() -> Result { + Ok(Origin::Response(Location { parents: 1, interior: Junctions::Here }).into()) + } +} + +#[cfg(feature = "runtime-benchmarks")] +pub struct CallbackExecutor; +#[cfg(feature = "runtime-benchmarks")] +impl messaging::CallbackExecutor for CallbackExecutor { + /// A successfull callback is the most expensive case. + fn execute( + _account: &AccountId, + _data: Vec, + weight: sp_runtime::Weight, + ) -> frame_support::dispatch::DispatchResultWithPostInfo { + DispatchResultWithPostInfo::Ok(PostDispatchInfo { + actual_weight: Some(weight / 2), + pays_fee: Pays::Yes, + }) + } + + fn execution_weight() -> sp_runtime::Weight { + Default::default() + } +} + +#[cfg(not(feature = "runtime-benchmarks"))] +pub struct CallbackExecutor; +#[cfg(not(feature = "runtime-benchmarks"))] +impl messaging::CallbackExecutor for CallbackExecutor { + fn execute(account: &AccountId, data: Vec, weight: Weight) -> DispatchResultWithPostInfo { + type AddressMapper = ::AddressMapper; + + // Default + #[cfg(not(feature = "std"))] + let debug = DebugInfo::Skip; + #[cfg(not(feature = "std"))] + let collect_events = CollectEvents::Skip; + // Testing + #[cfg(feature = "std")] + let debug = DebugInfo::UnsafeDebug; + #[cfg(feature = "std")] + let collect_events = CollectEvents::UnsafeCollect; + + let mut output = Revive::bare_call( + RuntimeOrigin::signed(account.clone()), + AddressMapper::to_address(&account), + Default::default(), + weight, + Default::default(), + data, + debug, + collect_events, + ); + + log::debug!(target: "pop-api::extension", "callback weight consumed={:?}, weight required={:?}", output.gas_consumed, output.gas_required); + if let Ok(return_value) = &output.result { + let pallet_revive::ExecReturnValue { flags, data } = return_value; + log::debug!(target: "pop-api::extension", "return data={:?}", data); + if return_value.did_revert() { + output.result = Err(pallet_revive::Error::::ContractReverted.into()); + } + } + + let post_info = + PostDispatchInfo { actual_weight: Some(output.gas_consumed), pays_fee: Pays::No }; + + output + .result + .map(|_| post_info) + .map_err(|e| DispatchErrorWithPostInfo { post_info, error: e }) + } + + fn execution_weight() -> Weight { + use pallet_revive::WeightInfo; + ::WeightInfo::call() + } +} + +pub struct QueryHandler; +impl pallet_api::messaging::NotifyQueryHandler for QueryHandler { + type WeightInfo = pallet_xcm::Pallet; + + fn new_notify_query( + responder: impl Into, + notify: messaging::Call, + timeout: BlockNumber, + match_querier: impl Into, + ) -> u64 { + crate::PolkadotXcm::new_notify_query(responder, notify, timeout, match_querier) + } +} + #[derive(Default)] pub struct Config; impl pallet_api::extension::Config for Config { @@ -395,4 +554,21 @@ mod tests { assert!(Filter::::contains(read)) } } + + mod callback_executor { + use pallet_api::messaging::CallbackExecutor; + + use super::*; + + #[test] + fn callback_executor_weight_is_more_than_zero() { + let rt_weight = + ::CallbackExecutor::execution_weight(); + let struct_weight = super::super::CallbackExecutor::execution_weight(); + + // assert that the right struct is being used. + assert_eq!(rt_weight, struct_weight); + assert!(!rt_weight.any_eq(Zero::zero())) + } + } } diff --git a/runtime/devnet/src/config/ismp.rs b/runtime/devnet/src/config/ismp.rs index 3b0693e8c..986fadedd 100644 --- a/runtime/devnet/src/config/ismp.rs +++ b/runtime/devnet/src/config/ismp.rs @@ -1,9 +1,8 @@ -use alloc::{boxed::Box, vec::Vec}; - use frame_support::traits::Get; use frame_system::EnsureRoot; -use ismp::{host::StateMachine, module::IsmpModule, router::IsmpRouter}; +use ismp::{error::Error, host::StateMachine, module::IsmpModule, router::IsmpRouter}; use ismp_parachain::ParachainConsensusClient; +use sp_std::prelude::*; use crate::{ AccountId, Balance, Balances, Ismp, IsmpParachain, ParachainInfo, Runtime, RuntimeEvent, @@ -47,6 +46,10 @@ impl Get for HostStateMachine { pub struct Router; impl IsmpRouter for Router { fn module_for_id(&self, id: Vec) -> Result, anyhow::Error> { - Err(anyhow::anyhow!("Module not found: {:?}", id)) + use pallet_api::messaging::transports::ismp::*; + if id == ID { + return Ok(Box::new(Handler::::new())); + } + Err(Error::ModuleNotFound(id).into()) } } diff --git a/runtime/devnet/src/config/mod.rs b/runtime/devnet/src/config/mod.rs index 61ae08273..184abe9ef 100644 --- a/runtime/devnet/src/config/mod.rs +++ b/runtime/devnet/src/config/mod.rs @@ -5,4 +5,5 @@ mod contracts; mod ismp; mod proxy; // Public due to integration tests crate. +mod revive; pub mod xcm; diff --git a/runtime/devnet/src/config/revive.rs b/runtime/devnet/src/config/revive.rs new file mode 100644 index 000000000..6f31eb2b6 --- /dev/null +++ b/runtime/devnet/src/config/revive.rs @@ -0,0 +1,45 @@ +use frame_support::{ + parameter_types, + traits::{ConstBool, ConstU32, ConstU64, Nothing}, +}; +use frame_system::EnsureSigned; + +use super::api::{self, Config}; +use crate::{ + deposit, Balance, Balances, Perbill, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason, + Timestamp, +}; + +parameter_types! { + pub const DepositPerItem: Balance = deposit(1, 0); + pub const DepositPerByte: Balance = deposit(0, 1); + pub const DefaultDepositLimit: Balance = deposit(1024, 1024 * 1024); + pub const CodeHashLockupDepositPercent: Perbill = Perbill::from_percent(0); +} + +impl pallet_revive::Config for Runtime { + type AddressMapper = pallet_revive::AccountId32Mapper; + type CallFilter = Nothing; + type ChainExtension = (); + // todo!("Call with peter, currently we are only implementing the extension for + // pallet-contracts"); + type ChainId = ConstU64<4001>; + type CodeHashLockupDepositPercent = CodeHashLockupDepositPercent; + type Currency = Balances; + type Debug = (); + type DepositPerByte = DepositPerByte; + type DepositPerItem = DepositPerItem; + type InstantiateOrigin = EnsureSigned; + type NativeToEthRatio = ConstU32<1_000_000>; + type PVFMemory = ConstU32<{ 512 * 1024 * 1024 }>; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; + type RuntimeMemory = ConstU32<{ 128 * 1024 * 1024 }>; + type Time = Timestamp; + type UnsafeUnstableInterface = ConstBool; + type UploadOrigin = EnsureSigned; + type WeightInfo = pallet_revive::weights::SubstrateWeight; + type WeightPrice = pallet_transaction_payment::Pallet; + type Xcm = pallet_xcm::Pallet; +} diff --git a/runtime/devnet/src/lib.rs b/runtime/devnet/src/lib.rs index 9dbf0ace1..1f2a3a3cd 100644 --- a/runtime/devnet/src/lib.rs +++ b/runtime/devnet/src/lib.rs @@ -31,9 +31,12 @@ use frame_support::{ genesis_builder_helper::{build_state, get_preset}, parameter_types, traits::{ - fungible::HoldConsideration, tokens::nonfungibles_v2::Inspect, ConstBool, ConstU32, - ConstU64, ConstU8, Contains, EitherOfDiverse, EqualPrivilegeOnly, EverythingBut, - LinearStoragePrice, TransformOrigin, VariantCountOf, + fungible, + fungible::HoldConsideration, + tokens::{imbalance::ResolveTo, nonfungibles_v2::Inspect}, + ConstBool, ConstU32, ConstU64, ConstU8, Contains, EitherOfDiverse, EqualPrivilegeOnly, + EverythingBut, Imbalance, LinearStoragePrice, OnUnbalanced, TransformOrigin, + VariantCountOf, }, weights::{ ConstantMultiplier, Weight, WeightToFeeCoefficient, WeightToFeeCoefficients, @@ -45,7 +48,7 @@ use frame_system::{ limits::{BlockLength, BlockWeights}, EnsureRoot, }; -use pallet_api::{fungibles, nonfungibles}; +use pallet_api::{fungibles, messaging, nonfungibles}; use pallet_balances::Call as BalancesCall; use pallet_ismp::offchain::{Leaf, Proof, ProofKeys}; use pallet_xcm::{EnsureXcm, IsVoiceOfBody}; @@ -61,7 +64,10 @@ pub use pop_runtime_common::{ }; use smallvec::smallvec; use sp_api::impl_runtime_apis; -use sp_core::{crypto::KeyTypeId, Get, OpaqueMetadata, H256}; +use sp_core::{ + crypto::{KeyTypeId, Ss58Codec}, + Get, OpaqueMetadata, H256, +}; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; use sp_runtime::{ @@ -341,12 +347,27 @@ impl pallet_balances::Config for Runtime { parameter_types! { /// Relay Chain `TransactionByteFee` / 10 pub const TransactionByteFee: Balance = 10 * MICRO_UNIT; + pub MaintenanceAccount: AccountId = AccountId::from_ss58check("1Y3M8pnn3rJcxQn46SbocHcUHYfs4j8W2zHX7XNK99LGSVe").expect("maintenance address is valid SS58"); +} + +pub struct DealWithFees; +impl OnUnbalanced> for DealWithFees { + fn on_unbalanceds( + mut fees_then_tips: impl Iterator>, + ) { + if let Some(mut fees) = fees_then_tips.next() { + if let Some(tips) = fees_then_tips.next() { + tips.merge_into(&mut fees); + } + ResolveTo::::on_unbalanced(fees); + } + } } impl pallet_transaction_payment::Config for Runtime { type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; type LengthToFee = ConstantMultiplier; - type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter; + type OnChargeTransaction = pallet_transaction_payment::FungibleAdapter; type OperationalFeeMultiplier = ConstU8<5>; type RuntimeEvent = RuntimeEvent; type WeightInfo = (); @@ -656,6 +677,12 @@ mod runtime { pub type Fungibles = fungibles::Pallet; #[runtime::pallet_index(151)] pub type NonFungibles = nonfungibles::Pallet; + #[runtime::pallet_index(152)] + pub type Messaging = messaging::Pallet; + + // Revive + #[runtime::pallet_index(255)] + pub type Revive = pallet_revive::Pallet; } #[cfg(feature = "runtime-benchmarks")] @@ -673,6 +700,7 @@ mod benches { [pallet_collator_selection, CollatorSelection] [cumulus_pallet_parachain_system, ParachainSystem] [cumulus_pallet_xcmp_queue, XcmpQueue] + [messaging, Messaging] ); } diff --git a/runtime/devnet/src/weights/messaging_weights.rs b/runtime/devnet/src/weights/messaging_weights.rs new file mode 100644 index 000000000..190698fcf --- /dev/null +++ b/runtime/devnet/src/weights/messaging_weights.rs @@ -0,0 +1,425 @@ + +//! Autogenerated weights for `messaging` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.0.0 +//! DATE: 2025-04-15, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `Felixs-MacBook-Pro.local`, CPU: `` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// pop +// bench +// pallet +// --pallet=messaging +// --extrinsic= +// --steps=50 +// --output=./test.rs +// --runtime=/Users/rmrf-2/code/pop-node/target/release/wbuild/pop-runtime-devnet/pop_runtime_devnet.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=pop-devnet-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 `messaging`. +pub struct WeightInfo(PhantomData); +impl pallet_api::messaging::WeightInfo for WeightInfo { + /// Storage: `Messaging::Messages` (r:100 w:100) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `Messaging::IsmpRequests` (r:0 w:100) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// The range of component `x` is `[1, 100]`. + fn remove(x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `376 + x * (105 ±0)` + // Estimated: `3676 + x * (15317 ±0)` + // Minimum execution time: 36_000_000 picoseconds. + Weight::from_parts(16_498_789, 0) + .saturating_add(Weight::from_parts(0, 3676)) + // Standard Error: 81_445 + .saturating_add(Weight::from_parts(23_207_141, 0).saturating_mul(x.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(x.into()))) + .saturating_add(Weight::from_parts(0, 15317).saturating_mul(x.into())) + } + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `Messaging::XcmQueryTimeouts` (r:1 w:1) + /// Proof: `Messaging::XcmQueryTimeouts` (`max_values`: None, `max_size`: Some(6406), added: 8881, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) + /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Messaging::XcmQueries` (r:0 w:1) + /// Proof: `Messaging::XcmQueries` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// Storage: `PolkadotXcm::Queries` (r:0 w:1) + /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `x` is `[0, 1]`. + fn xcm_new_query(x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `217` + // Estimated: `16307` + // Minimum execution time: 33_000_000 picoseconds. + Weight::from_parts(37_740_816, 0) + .saturating_add(Weight::from_parts(0, 16307)) + // Standard Error: 139_507 + .saturating_add(Weight::from_parts(15_159_183, 0).saturating_mul(x.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(7)) + } + /// Storage: `Messaging::XcmQueries` (r:1 w:1) + /// Proof: `Messaging::XcmQueries` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn xcm_response() -> Weight { + // Proof Size summary in bytes: + // Measured: `614` + // Estimated: `16307` + // Minimum execution time: 55_000_000 picoseconds. + Weight::from_parts(59_000_000, 0) + .saturating_add(Weight::from_parts(0, 16307)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Messaging::IsmpRequests` (r:1 w:0) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// The range of component `x` is `[0, 1]`. + fn ismp_on_response(x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `616` + // Estimated: `16307` + // Minimum execution time: 36_000_000 picoseconds. + Weight::from_parts(40_463_265, 0) + .saturating_add(Weight::from_parts(0, 16307)) + // Standard Error: 159_358 + .saturating_add(Weight::from_parts(19_236_734, 0).saturating_mul(x.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Messaging::IsmpRequests` (r:1 w:0) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// The range of component `x` is `[0, 2]`. + fn ismp_on_timeout(_x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `382` + // Estimated: `16307` + // Minimum execution time: 10_000_000 picoseconds. + Weight::from_parts(11_881_491, 0) + .saturating_add(Weight::from_parts(0, 16307)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Ismp::Nonce` (r:1 w:1) + /// Proof: `Ismp::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Messaging::IsmpRequests` (r:0 w:1) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebe4bf2b1e0d50a47a6026ff9f89` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebe4bf2b1e0d50a47a6026ff9f89` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b822d5f9e7430a9c13023708b6e8` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b822d5f9e7430a9c13023708b6e8` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d2b7f8adb5263695b748b50b35e7` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d2b7f8adb5263695b748b50b35e7` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b6d3b50d11d63f5a16223d0f6192` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b6d3b50d11d63f5a16223d0f6192` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcad1167844259b7475e67add0cf` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcad1167844259b7475e67add0cf` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737c0b35a703d5af186e16b0b8b26a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737c0b35a703d5af186e16b0b8b26a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737a9bb2e4cb5ef3f3b83e18ecd62c` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737a9bb2e4cb5ef3f3b83e18ecd62c` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bc04fe0f0a74ebff15d2d87fdbb1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bc04fe0f0a74ebff15d2d87fdbb1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737b5d150daa95d0c51137f28408ba` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737b5d150daa95d0c51137f28408ba` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ede597e3a5ee230597ae65009027` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ede597e3a5ee230597ae65009027` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473843abb5f01c6b8d278b95bab27d7` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473843abb5f01c6b8d278b95bab27d7` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738d3edf6cbffbd715d91df9544259` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738d3edf6cbffbd715d91df9544259` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fbbb0dd84b2c05ab7e6c2e912be2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fbbb0dd84b2c05ab7e6c2e912be2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473516ff665c874f7d80a3094a2766f` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473516ff665c874f7d80a3094a2766f` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473157e0cfb3591a4031670f0bd0b59` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473157e0cfb3591a4031670f0bd0b59` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2600acf6638dc572aba8bb7e17e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2600acf6638dc572aba8bb7e17e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747370d530e6e97b84f2b9f5f31f0f1e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747370d530e6e97b84f2b9f5f31f0f1e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2a55a808472cc90a56c9263e8c4` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2a55a808472cc90a56c9263e8c4` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcfa64038d41c7e5b13c56a3790e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcfa64038d41c7e5b13c56a3790e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302abe5edca3db5f3a60882617054` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302abe5edca3db5f3a60882617054` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f484690eb40af82a20f82dd43a40` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f484690eb40af82a20f82dd43a40` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739afaa33dccd1c2b5663a9fec3aa6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739afaa33dccd1c2b5663a9fec3aa6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473edb24a55dd96654731b01c5fa1ce` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473edb24a55dd96654731b01c5fa1ce` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473204326c0a899add1bb9a0e44017a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473204326c0a899add1bb9a0e44017a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738f97a59a48ba326530dcbb00fdb8` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738f97a59a48ba326530dcbb00fdb8` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc615e4d8f5e4c499a4ee16e7250` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc615e4d8f5e4c499a4ee16e7250` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747382ff59321a7eb8f0a981e8b30d45` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747382ff59321a7eb8f0a981e8b30d45` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ee1a18c63a6d8b4d22066227cfe9` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ee1a18c63a6d8b4d22066227cfe9` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b332273af6fa385aea8eabd929ff` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b332273af6fa385aea8eabd929ff` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747308d7352d7ef3b6c484dfc7ce4170` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747308d7352d7ef3b6c484dfc7ce4170` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736a3a8637e8e4441ed411038befc6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736a3a8637e8e4441ed411038befc6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314f08dae9f0fabe5e14b1ee5d47b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314f08dae9f0fabe5e14b1ee5d47b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302610adfd3510c9eab269a6ec1b5` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302610adfd3510c9eab269a6ec1b5` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d32f80b2876c566c3430e688efeb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d32f80b2876c566c3430e688efeb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735b92766ff94e59a786b6a9d0da86` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735b92766ff94e59a786b6a9d0da86` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4fc3ec43ba8dcf284f9a4c66f13` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4fc3ec43ba8dcf284f9a4c66f13` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5247a619d23a30bdf3ff78fd89b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5247a619d23a30bdf3ff78fd89b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747336e585a9e1ee1d17225dc509ae08` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747336e585a9e1ee1d17225dc509ae08` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f204de8a4423fc0f0768f6c44195` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f204de8a4423fc0f0768f6c44195` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739793d71a6b55c8409d727dcb6ea5` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739793d71a6b55c8409d727dcb6ea5` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736322c9c869ac42b212a820e89521` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736322c9c869ac42b212a820e89521` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aabcf2a6dd2f496aa860a00848eb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aabcf2a6dd2f496aa860a00848eb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747396da168082ed8d61a69d2dab4e34` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747396da168082ed8d61a69d2dab4e34` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aaaff2ef1ddb3cb4b95ef0add4eb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aaaff2ef1ddb3cb4b95ef0add4eb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733a095d2d68fed2e16a116323519e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733a095d2d68fed2e16a116323519e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c76bbd37cb335ea589d72db8524d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c76bbd37cb335ea589d72db8524d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473eeee49f922f8d8e3979af1c8309c` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473eeee49f922f8d8e3979af1c8309c` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735f3b12a201b21e36b7978712f54b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735f3b12a201b21e36b7978712f54b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314b2d52d980ecf84a512ec317eef` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314b2d52d980ecf84a512ec317eef` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e5819ce235d668ceb400b71b7540` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e5819ce235d668ceb400b71b7540` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ce5d8239372e6ade982bb6c1a08d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ce5d8239372e6ade982bb6c1a08d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747378d3ad24fa3dba23353cdddaebda` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747378d3ad24fa3dba23353cdddaebda` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a6f563c75970e55f0f579c663bc5` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a6f563c75970e55f0f579c663bc5` (r:1 w:1) + /// The range of component `x` is `[0, 64]`. + /// The range of component `y` is `[0, 10]`. + /// The range of component `a` is `[0, 1]`. + fn ismp_get(x: u32, y: u32, a: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `604` + // Estimated: `252485529539233056 + a * (221360928884514619392 ±340_282_366_920_938_463_463_374_607_431_768_211_455) + x * (18446744073709551616 ±1_656_260_326_287_731) + y * (885443715538058477568 ±13_250_082_610_301_856)` + // Minimum execution time: 70_000_000 picoseconds. + Weight::from_parts(77_313_015, 0) + .saturating_add(Weight::from_parts(0, 252485529539233056)) + // Standard Error: 10_108 + .saturating_add(Weight::from_parts(168_303, 0).saturating_mul(y.into())) + // Standard Error: 68_132 + .saturating_add(Weight::from_parts(14_701_619, 0).saturating_mul(a.into())) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(7)) + // Added manually from ismp_post + .saturating_add(Weight::from_parts(0, 816).saturating_mul(x.into())) + .saturating_add(Weight::from_parts(0, 8448).saturating_mul(y.into())) + } + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Ismp::Nonce` (r:1 w:1) + /// Proof: `Ismp::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Messaging::IsmpRequests` (r:0 w:1) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738bcc4d5639f6254cf5fb180c0f72` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738bcc4d5639f6254cf5fb180c0f72` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747329c14ef481742eefb7788386c681` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747329c14ef481742eefb7788386c681` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473287e74fac42e4ec79f5df44ce538` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473287e74fac42e4ec79f5df44ce538` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738855267813169e1a708e4e75f5a4` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738855267813169e1a708e4e75f5a4` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732701a1cee50c8d6a53d46cd5ec9c` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732701a1cee50c8d6a53d46cd5ec9c` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b9b3aa15a2889c21b7dba485c2c9` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b9b3aa15a2889c21b7dba485c2c9` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739b94cb38b0eeacc24002a991f884` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739b94cb38b0eeacc24002a991f884` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a751421a4bc2ed95713fe54770be` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a751421a4bc2ed95713fe54770be` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747360dac5301eeb275913f0ea8cd5e1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747360dac5301eeb275913f0ea8cd5e1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f862082677fea2554a85a022ac4e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f862082677fea2554a85a022ac4e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fd50b6c6ca4e895c83d52a34a78b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fd50b6c6ca4e895c83d52a34a78b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74734557713d9ab03e150f5de5ff31fe` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74734557713d9ab03e150f5de5ff31fe` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c384b875cbf15d88c72f7fcdf46d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c384b875cbf15d88c72f7fcdf46d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f86067141771d95fda435ce4c9ed` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f86067141771d95fda435ce4c9ed` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737bfab4afd6a9461416f2eef6c631` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737bfab4afd6a9461416f2eef6c631` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473162048f20318aed8443da4fc86a0` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473162048f20318aed8443da4fc86a0` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e9199a3f6daaa9e08bc80c4fb6d2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e9199a3f6daaa9e08bc80c4fb6d2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733e3906031411b8a73b2a37e10c30` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733e3906031411b8a73b2a37e10c30` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473db5b8c06d688e761d750e08ec388` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473db5b8c06d688e761d750e08ec388` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473cb972b1ef83734f649cf01a1cdf6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473cb972b1ef83734f649cf01a1cdf6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc363d873b7bf73b7a48ca0044e1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc363d873b7bf73b7a48ca0044e1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747388b3ef1033bdb656252f25d7242f` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747388b3ef1033bdb656252f25d7242f` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e0fa58cab7cb166c7874dbdfeb3f` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e0fa58cab7cb166c7874dbdfeb3f` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747315fce57276d5b85a9cbf010fd172` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747315fce57276d5b85a9cbf010fd172` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737211ea27eda948b27e13fd22254b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737211ea27eda948b27e13fd22254b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747380ae933955b131824193a62133fe` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747380ae933955b131824193a62133fe` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74730167e0cf40b01aac1362c3d671b3` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74730167e0cf40b01aac1362c3d671b3` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b1351345a92cbc925c15f3d9c0e1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b1351345a92cbc925c15f3d9c0e1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738b35c258e56421e62d5b5da9ea79` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738b35c258e56421e62d5b5da9ea79` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b3460961984ca24484abca1e6170` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b3460961984ca24484abca1e6170` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4c6c073b4aab4d52f90ee49a4a2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4c6c073b4aab4d52f90ee49a4a2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473190bc10ab9a111e6bcf0170239a6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473190bc10ab9a111e6bcf0170239a6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebaba6223bec6ba065297feb9203` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebaba6223bec6ba065297feb9203` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ac33d6918e95e1723cd1b37511cb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ac33d6918e95e1723cd1b37511cb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5c3e8ce0af22b7eaf23b1de6b08` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5c3e8ce0af22b7eaf23b1de6b08` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737ff8123cb53fa51a8eed8457602a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737ff8123cb53fa51a8eed8457602a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747326a44b9e2418ab22987b7899a8e3` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747326a44b9e2418ab22987b7899a8e3` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e248a1f77658a9204d311172361d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e248a1f77658a9204d311172361d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733d71d8db298f692188502bcb5578` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733d71d8db298f692188502bcb5578` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d829600de0d3559b0af886d46a62` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d829600de0d3559b0af886d46a62` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747372fee2e1674f54f62fbe87f8fc9e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747372fee2e1674f54f62fbe87f8fc9e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738657390e24e953d310f0c860266a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738657390e24e953d310f0c860266a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732d11743773c308577fb8136608b2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732d11743773c308577fb8136608b2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747340b23a454414e4ca08a0895b8a82` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747340b23a454414e4ca08a0895b8a82` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747330227a1128899a06563f785b26c4` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747330227a1128899a06563f785b26c4` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747339211de95404ccc298bf7270ec80` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747339211de95404ccc298bf7270ec80` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e52954120cc73dc4a175a41586f1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e52954120cc73dc4a175a41586f1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738fb69ed7a2cfe714ab54b62310a9` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738fb69ed7a2cfe714ab54b62310a9` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473278c2c4490fb7d4efd021217ce92` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473278c2c4490fb7d4efd021217ce92` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735e89703e0ce7cd3db3a41a7f8a37` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735e89703e0ce7cd3db3a41a7f8a37` (r:1 w:1) + /// The range of component `x` is `[0, 512]`. + /// The range of component `y` is `[0, 1]`. + fn ismp_post(x: u32, y: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `604` + // Estimated: `16307 + x * (816 ±715_192_122_278_388) + y * (8448 ±178_798_030_569_596_928)` + // Minimum execution time: 70_000_000 picoseconds. + Weight::from_parts(79_608_153, 0) + .saturating_add(Weight::from_parts(0, 16307)) + // Standard Error: 71_100 + .saturating_add(Weight::from_parts(13_407_822, 0).saturating_mul(y.into())) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(7)) + .saturating_add(Weight::from_parts(0, 816).saturating_mul(x.into())) + .saturating_add(Weight::from_parts(0, 8448).saturating_mul(y.into())) + } + + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + fn top_up_callback_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `366` + // Estimated: `16307` + // Minimum execution time: 31_000_000 picoseconds. + Weight::from_parts(34_000_000, 0) + .saturating_add(Weight::from_parts(0, 16307)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } +} diff --git a/runtime/devnet/src/weights/mod.rs b/runtime/devnet/src/weights/mod.rs index b473d49e2..75a5e9b00 100644 --- a/runtime/devnet/src/weights/mod.rs +++ b/runtime/devnet/src/weights/mod.rs @@ -19,6 +19,7 @@ pub mod block_weights; pub mod extrinsic_weights; +pub mod messaging_weights; pub mod paritydb_weights; pub mod rocksdb_weights; diff --git a/runtime/mainnet/src/apis.rs b/runtime/mainnet/src/apis.rs index 551d93384..37daa04fa 100644 --- a/runtime/mainnet/src/apis.rs +++ b/runtime/mainnet/src/apis.rs @@ -362,8 +362,8 @@ impl_runtime_apis! { } impl xcm_runtime_apis::dry_run::DryRunApi for Runtime { - fn dry_run_call(origin: OriginCaller, call: RuntimeCall) -> Result, XcmDryRunApiError> { - PolkadotXcm::dry_run_call::(origin, call) + fn dry_run_call(origin: OriginCaller, call: RuntimeCall, xcm_version: xcm::Version) -> Result, XcmDryRunApiError> { + PolkadotXcm::dry_run_call::(origin, call, xcm_version) } fn dry_run_xcm(origin_location: VersionedLocation, xcm: VersionedXcm) -> Result, XcmDryRunApiError> { diff --git a/runtime/mainnet/src/config/xcm_weights.rs b/runtime/mainnet/src/config/xcm_weights.rs index 20b863da9..418ec2678 100644 --- a/runtime/mainnet/src/config/xcm_weights.rs +++ b/runtime/mainnet/src/config/xcm_weights.rs @@ -277,7 +277,7 @@ impl XcmWeightInfo for PopXcmWeight { _destination: &Location, remote_fees: &Option, _preserve_origin: &bool, - assets: &Vec, + assets: &BoundedVec, _remote_xcm: &Xcm<()>, ) -> Weight { let mut weight = if let Some(remote_fees) = remote_fees { diff --git a/runtime/testnet/src/apis.rs b/runtime/testnet/src/apis.rs index 3974d380f..ca96a30b8 100644 --- a/runtime/testnet/src/apis.rs +++ b/runtime/testnet/src/apis.rs @@ -24,6 +24,7 @@ use super::{ RuntimeGenesisConfig, RuntimeOrigin, RuntimeVersion, SessionKeys, System, TransactionPayment, UncheckedExtrinsic, Weight, CONTRACTS_DEBUG_OUTPUT, CONTRACTS_EVENTS, VERSION, *, }; +use crate::messaging::ReadResult::*; impl_runtime_apis! { diff --git a/runtime/testnet/src/config/api/mod.rs b/runtime/testnet/src/config/api/mod.rs index 8bf971e02..5afd7054b 100644 --- a/runtime/testnet/src/config/api/mod.rs +++ b/runtime/testnet/src/config/api/mod.rs @@ -20,7 +20,9 @@ use crate::{ config::{ assets::TrustBackedAssetsInstance, monetary::TransactionByteFee, xcm::LocalOriginToLocation, }, - fungibles, AccountId, Balances, BlockNumber, Contracts, Ismp, PolkadotXcm, Runtime, + fungibles, + messaging::ReadResult::*, + parameter_types, AccountId, Balances, BlockNumber, Contracts, Ismp, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason, }; @@ -89,25 +91,36 @@ impl RuntimeResult { } } +parameter_types! { + pub const MaxXcmQueryTimeoutsPerBlock: u32 = 100; + //TODO: What is reasonable. + pub const IsmpRelayerFee: crate::Balance = 100_000; +} + impl messaging::Config for Runtime { - type ByteFee = TransactionByteFee; - type Callback = Callback; - type Deposit = Balances; - // TODO: ISMP state written to offchain indexing, require some protection but perhaps not as - // much as onchain cost. - type IsmpByteFee = (); + type CallbackExecutor = CallbackExecutor; + // Burn fees. + type FeeHandler = (); + type Fungibles = Balances; type IsmpDispatcher = Ismp; + type IsmpRelayerFee = IsmpRelayerFee; + type Keccak256 = Ismp; type MaxContextLen = ConstU32<64>; - type MaxDataLen = ConstU32<1024>; - type MaxKeyLen = ConstU32<32>; + type MaxDataLen = ConstU32<512>; + type MaxKeyLen = ConstU32<8>; type MaxKeys = ConstU32<10>; // TODO: size appropriately - type MaxRemovals = ConstU32<1024>; + type MaxRemovals = ConstU32<100>; // TODO: ensure within the contract buffer bounds - type MaxResponseLen = ConstU32<1024>; + type MaxResponseLen = ConstU32<512>; + type MaxXcmQueryTimeoutsPerBlock = MaxXcmQueryTimeoutsPerBlock; + type OffChainByteFee = TransactionByteFee; + type OnChainByteFee = TransactionByteFee; type OriginConverter = LocalOriginToLocation; type RuntimeEvent = RuntimeEvent; type RuntimeHoldReason = RuntimeHoldReason; + type WeightInfo = crate::weights::messaging_weights::WeightInfo; + type WeightToFee = ::WeightToFee; type Xcm = QueryHandler; type XcmResponseOrigin = EnsureResponse; } @@ -129,9 +142,9 @@ impl> + From> EnsureOrigin for EnsureRespon } } -pub struct Callback; -impl messaging::CallbackT for Callback { - fn execute(account: AccountId, data: Vec, weight: Weight) -> DispatchResultWithPostInfo { +pub struct CallbackExecutor; +impl messaging::CallbackExecutor for CallbackExecutor { + fn execute(account: &AccountId, data: Vec, weight: Weight) -> DispatchResultWithPostInfo { // Default #[cfg(not(feature = "std"))] let debug = DebugInfo::Skip; @@ -145,7 +158,7 @@ impl messaging::CallbackT for Callback { let mut output = Contracts::bare_call( account.clone(), - account, + account.clone(), Default::default(), weight, Default::default(), @@ -161,7 +174,7 @@ impl messaging::CallbackT for Callback { } let post_info = PostDispatchInfo { - actual_weight: Some(output.gas_consumed.saturating_add(Self::weight())), + actual_weight: Some(output.gas_consumed.saturating_add(Self::execution_weight())), pays_fee: Default::default(), }; @@ -171,7 +184,7 @@ impl messaging::CallbackT for Callback { .map_err(|e| DispatchErrorWithPostInfo { post_info, error: e }) } - fn weight() -> Weight { + fn execution_weight() -> Weight { use pallet_revive::WeightInfo; ::WeightInfo::call() } @@ -179,6 +192,8 @@ impl messaging::CallbackT for Callback { pub struct QueryHandler; impl NotifyQueryHandler for QueryHandler { + type WeightInfo = pallet_xcm::Pallet; + fn new_notify_query( responder: impl Into, notify: messaging::Call, @@ -270,10 +285,7 @@ impl> Contains f matches!( c, RuntimeCall::Messaging( - send { .. } | - ismp_get { .. } | ismp_post { .. } | - xcm_new_query { .. } | - remove { .. }, + ismp_get { .. } | ismp_post { .. } | xcm_new_query { .. } | remove { .. }, ) ) }; @@ -299,7 +311,7 @@ impl Contains for Filter { let contain_messaging: bool = { use messaging::Read::*; - matches!(r, RuntimeRead::Messaging(Poll(..) | Get(..) | QueryId(..))) + matches!(r, RuntimeRead::Messaging(PollStatus(..) | GetResponse(..) | QueryId(..))) }; contain_fungibles | contain_messaging diff --git a/runtime/testnet/src/weights/messaging_weights.rs b/runtime/testnet/src/weights/messaging_weights.rs new file mode 100644 index 000000000..190698fcf --- /dev/null +++ b/runtime/testnet/src/weights/messaging_weights.rs @@ -0,0 +1,425 @@ + +//! Autogenerated weights for `messaging` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 46.0.0 +//! DATE: 2025-04-15, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `Felixs-MacBook-Pro.local`, CPU: `` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// pop +// bench +// pallet +// --pallet=messaging +// --extrinsic= +// --steps=50 +// --output=./test.rs +// --runtime=/Users/rmrf-2/code/pop-node/target/release/wbuild/pop-runtime-devnet/pop_runtime_devnet.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=pop-devnet-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 `messaging`. +pub struct WeightInfo(PhantomData); +impl pallet_api::messaging::WeightInfo for WeightInfo { + /// Storage: `Messaging::Messages` (r:100 w:100) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `Messaging::IsmpRequests` (r:0 w:100) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// The range of component `x` is `[1, 100]`. + fn remove(x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `376 + x * (105 ±0)` + // Estimated: `3676 + x * (15317 ±0)` + // Minimum execution time: 36_000_000 picoseconds. + Weight::from_parts(16_498_789, 0) + .saturating_add(Weight::from_parts(0, 3676)) + // Standard Error: 81_445 + .saturating_add(Weight::from_parts(23_207_141, 0).saturating_mul(x.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(x.into()))) + .saturating_add(Weight::from_parts(0, 15317).saturating_mul(x.into())) + } + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `Messaging::XcmQueryTimeouts` (r:1 w:1) + /// Proof: `Messaging::XcmQueryTimeouts` (`max_values`: None, `max_size`: Some(6406), added: 8881, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1) + /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Messaging::XcmQueries` (r:0 w:1) + /// Proof: `Messaging::XcmQueries` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// Storage: `PolkadotXcm::Queries` (r:0 w:1) + /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `x` is `[0, 1]`. + fn xcm_new_query(x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `217` + // Estimated: `16307` + // Minimum execution time: 33_000_000 picoseconds. + Weight::from_parts(37_740_816, 0) + .saturating_add(Weight::from_parts(0, 16307)) + // Standard Error: 139_507 + .saturating_add(Weight::from_parts(15_159_183, 0).saturating_mul(x.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(7)) + } + /// Storage: `Messaging::XcmQueries` (r:1 w:1) + /// Proof: `Messaging::XcmQueries` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn xcm_response() -> Weight { + // Proof Size summary in bytes: + // Measured: `614` + // Estimated: `16307` + // Minimum execution time: 55_000_000 picoseconds. + Weight::from_parts(59_000_000, 0) + .saturating_add(Weight::from_parts(0, 16307)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Messaging::IsmpRequests` (r:1 w:0) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// The range of component `x` is `[0, 1]`. + fn ismp_on_response(x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `616` + // Estimated: `16307` + // Minimum execution time: 36_000_000 picoseconds. + Weight::from_parts(40_463_265, 0) + .saturating_add(Weight::from_parts(0, 16307)) + // Standard Error: 159_358 + .saturating_add(Weight::from_parts(19_236_734, 0).saturating_mul(x.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Messaging::IsmpRequests` (r:1 w:0) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// The range of component `x` is `[0, 2]`. + fn ismp_on_timeout(_x: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `382` + // Estimated: `16307` + // Minimum execution time: 10_000_000 picoseconds. + Weight::from_parts(11_881_491, 0) + .saturating_add(Weight::from_parts(0, 16307)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Ismp::Nonce` (r:1 w:1) + /// Proof: `Ismp::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Messaging::IsmpRequests` (r:0 w:1) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebe4bf2b1e0d50a47a6026ff9f89` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebe4bf2b1e0d50a47a6026ff9f89` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b822d5f9e7430a9c13023708b6e8` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b822d5f9e7430a9c13023708b6e8` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d2b7f8adb5263695b748b50b35e7` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d2b7f8adb5263695b748b50b35e7` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b6d3b50d11d63f5a16223d0f6192` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b6d3b50d11d63f5a16223d0f6192` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcad1167844259b7475e67add0cf` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcad1167844259b7475e67add0cf` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737c0b35a703d5af186e16b0b8b26a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737c0b35a703d5af186e16b0b8b26a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737a9bb2e4cb5ef3f3b83e18ecd62c` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737a9bb2e4cb5ef3f3b83e18ecd62c` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bc04fe0f0a74ebff15d2d87fdbb1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bc04fe0f0a74ebff15d2d87fdbb1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737b5d150daa95d0c51137f28408ba` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737b5d150daa95d0c51137f28408ba` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ede597e3a5ee230597ae65009027` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ede597e3a5ee230597ae65009027` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473843abb5f01c6b8d278b95bab27d7` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473843abb5f01c6b8d278b95bab27d7` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738d3edf6cbffbd715d91df9544259` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738d3edf6cbffbd715d91df9544259` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fbbb0dd84b2c05ab7e6c2e912be2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fbbb0dd84b2c05ab7e6c2e912be2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473516ff665c874f7d80a3094a2766f` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473516ff665c874f7d80a3094a2766f` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473157e0cfb3591a4031670f0bd0b59` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473157e0cfb3591a4031670f0bd0b59` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2600acf6638dc572aba8bb7e17e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2600acf6638dc572aba8bb7e17e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747370d530e6e97b84f2b9f5f31f0f1e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747370d530e6e97b84f2b9f5f31f0f1e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2a55a808472cc90a56c9263e8c4` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c2a55a808472cc90a56c9263e8c4` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcfa64038d41c7e5b13c56a3790e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473bcfa64038d41c7e5b13c56a3790e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302abe5edca3db5f3a60882617054` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302abe5edca3db5f3a60882617054` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f484690eb40af82a20f82dd43a40` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f484690eb40af82a20f82dd43a40` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739afaa33dccd1c2b5663a9fec3aa6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739afaa33dccd1c2b5663a9fec3aa6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473edb24a55dd96654731b01c5fa1ce` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473edb24a55dd96654731b01c5fa1ce` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473204326c0a899add1bb9a0e44017a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473204326c0a899add1bb9a0e44017a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738f97a59a48ba326530dcbb00fdb8` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738f97a59a48ba326530dcbb00fdb8` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc615e4d8f5e4c499a4ee16e7250` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc615e4d8f5e4c499a4ee16e7250` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747382ff59321a7eb8f0a981e8b30d45` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747382ff59321a7eb8f0a981e8b30d45` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ee1a18c63a6d8b4d22066227cfe9` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ee1a18c63a6d8b4d22066227cfe9` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b332273af6fa385aea8eabd929ff` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b332273af6fa385aea8eabd929ff` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747308d7352d7ef3b6c484dfc7ce4170` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747308d7352d7ef3b6c484dfc7ce4170` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736a3a8637e8e4441ed411038befc6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736a3a8637e8e4441ed411038befc6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314f08dae9f0fabe5e14b1ee5d47b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314f08dae9f0fabe5e14b1ee5d47b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302610adfd3510c9eab269a6ec1b5` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747302610adfd3510c9eab269a6ec1b5` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d32f80b2876c566c3430e688efeb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d32f80b2876c566c3430e688efeb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735b92766ff94e59a786b6a9d0da86` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735b92766ff94e59a786b6a9d0da86` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4fc3ec43ba8dcf284f9a4c66f13` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4fc3ec43ba8dcf284f9a4c66f13` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5247a619d23a30bdf3ff78fd89b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5247a619d23a30bdf3ff78fd89b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747336e585a9e1ee1d17225dc509ae08` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747336e585a9e1ee1d17225dc509ae08` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f204de8a4423fc0f0768f6c44195` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f204de8a4423fc0f0768f6c44195` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739793d71a6b55c8409d727dcb6ea5` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739793d71a6b55c8409d727dcb6ea5` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736322c9c869ac42b212a820e89521` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74736322c9c869ac42b212a820e89521` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aabcf2a6dd2f496aa860a00848eb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aabcf2a6dd2f496aa860a00848eb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747396da168082ed8d61a69d2dab4e34` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747396da168082ed8d61a69d2dab4e34` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aaaff2ef1ddb3cb4b95ef0add4eb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473aaaff2ef1ddb3cb4b95ef0add4eb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733a095d2d68fed2e16a116323519e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733a095d2d68fed2e16a116323519e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c76bbd37cb335ea589d72db8524d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c76bbd37cb335ea589d72db8524d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473eeee49f922f8d8e3979af1c8309c` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473eeee49f922f8d8e3979af1c8309c` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735f3b12a201b21e36b7978712f54b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735f3b12a201b21e36b7978712f54b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314b2d52d980ecf84a512ec317eef` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747314b2d52d980ecf84a512ec317eef` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e5819ce235d668ceb400b71b7540` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e5819ce235d668ceb400b71b7540` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ce5d8239372e6ade982bb6c1a08d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ce5d8239372e6ade982bb6c1a08d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747378d3ad24fa3dba23353cdddaebda` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747378d3ad24fa3dba23353cdddaebda` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a6f563c75970e55f0f579c663bc5` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a6f563c75970e55f0f579c663bc5` (r:1 w:1) + /// The range of component `x` is `[0, 64]`. + /// The range of component `y` is `[0, 10]`. + /// The range of component `a` is `[0, 1]`. + fn ismp_get(x: u32, y: u32, a: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `604` + // Estimated: `252485529539233056 + a * (221360928884514619392 ±340_282_366_920_938_463_463_374_607_431_768_211_455) + x * (18446744073709551616 ±1_656_260_326_287_731) + y * (885443715538058477568 ±13_250_082_610_301_856)` + // Minimum execution time: 70_000_000 picoseconds. + Weight::from_parts(77_313_015, 0) + .saturating_add(Weight::from_parts(0, 252485529539233056)) + // Standard Error: 10_108 + .saturating_add(Weight::from_parts(168_303, 0).saturating_mul(y.into())) + // Standard Error: 68_132 + .saturating_add(Weight::from_parts(14_701_619, 0).saturating_mul(a.into())) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(7)) + // Added manually from ismp_post + .saturating_add(Weight::from_parts(0, 816).saturating_mul(x.into())) + .saturating_add(Weight::from_parts(0, 8448).saturating_mul(y.into())) + } + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Ismp::Nonce` (r:1 w:1) + /// Proof: `Ismp::Nonce` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Messaging::IsmpRequests` (r:0 w:1) + /// Proof: `Messaging::IsmpRequests` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738bcc4d5639f6254cf5fb180c0f72` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738bcc4d5639f6254cf5fb180c0f72` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747329c14ef481742eefb7788386c681` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747329c14ef481742eefb7788386c681` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473287e74fac42e4ec79f5df44ce538` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473287e74fac42e4ec79f5df44ce538` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738855267813169e1a708e4e75f5a4` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738855267813169e1a708e4e75f5a4` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732701a1cee50c8d6a53d46cd5ec9c` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732701a1cee50c8d6a53d46cd5ec9c` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b9b3aa15a2889c21b7dba485c2c9` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b9b3aa15a2889c21b7dba485c2c9` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739b94cb38b0eeacc24002a991f884` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74739b94cb38b0eeacc24002a991f884` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a751421a4bc2ed95713fe54770be` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a751421a4bc2ed95713fe54770be` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747360dac5301eeb275913f0ea8cd5e1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747360dac5301eeb275913f0ea8cd5e1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f862082677fea2554a85a022ac4e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f862082677fea2554a85a022ac4e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fd50b6c6ca4e895c83d52a34a78b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473fd50b6c6ca4e895c83d52a34a78b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74734557713d9ab03e150f5de5ff31fe` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74734557713d9ab03e150f5de5ff31fe` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c384b875cbf15d88c72f7fcdf46d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473c384b875cbf15d88c72f7fcdf46d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f86067141771d95fda435ce4c9ed` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473f86067141771d95fda435ce4c9ed` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737bfab4afd6a9461416f2eef6c631` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737bfab4afd6a9461416f2eef6c631` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473162048f20318aed8443da4fc86a0` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473162048f20318aed8443da4fc86a0` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e9199a3f6daaa9e08bc80c4fb6d2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e9199a3f6daaa9e08bc80c4fb6d2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733e3906031411b8a73b2a37e10c30` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733e3906031411b8a73b2a37e10c30` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473db5b8c06d688e761d750e08ec388` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473db5b8c06d688e761d750e08ec388` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473cb972b1ef83734f649cf01a1cdf6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473cb972b1ef83734f649cf01a1cdf6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc363d873b7bf73b7a48ca0044e1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473dc363d873b7bf73b7a48ca0044e1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747388b3ef1033bdb656252f25d7242f` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747388b3ef1033bdb656252f25d7242f` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e0fa58cab7cb166c7874dbdfeb3f` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e0fa58cab7cb166c7874dbdfeb3f` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747315fce57276d5b85a9cbf010fd172` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747315fce57276d5b85a9cbf010fd172` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737211ea27eda948b27e13fd22254b` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737211ea27eda948b27e13fd22254b` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747380ae933955b131824193a62133fe` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747380ae933955b131824193a62133fe` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74730167e0cf40b01aac1362c3d671b3` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74730167e0cf40b01aac1362c3d671b3` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b1351345a92cbc925c15f3d9c0e1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b1351345a92cbc925c15f3d9c0e1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738b35c258e56421e62d5b5da9ea79` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738b35c258e56421e62d5b5da9ea79` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b3460961984ca24484abca1e6170` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b3460961984ca24484abca1e6170` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4c6c073b4aab4d52f90ee49a4a2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473a4c6c073b4aab4d52f90ee49a4a2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473190bc10ab9a111e6bcf0170239a6` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473190bc10ab9a111e6bcf0170239a6` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebaba6223bec6ba065297feb9203` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ebaba6223bec6ba065297feb9203` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ac33d6918e95e1723cd1b37511cb` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473ac33d6918e95e1723cd1b37511cb` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5c3e8ce0af22b7eaf23b1de6b08` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473b5c3e8ce0af22b7eaf23b1de6b08` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737ff8123cb53fa51a8eed8457602a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74737ff8123cb53fa51a8eed8457602a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747326a44b9e2418ab22987b7899a8e3` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747326a44b9e2418ab22987b7899a8e3` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e248a1f77658a9204d311172361d` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e248a1f77658a9204d311172361d` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733d71d8db298f692188502bcb5578` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74733d71d8db298f692188502bcb5578` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d829600de0d3559b0af886d46a62` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473d829600de0d3559b0af886d46a62` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747372fee2e1674f54f62fbe87f8fc9e` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747372fee2e1674f54f62fbe87f8fc9e` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738657390e24e953d310f0c860266a` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738657390e24e953d310f0c860266a` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732d11743773c308577fb8136608b2` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74732d11743773c308577fb8136608b2` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747340b23a454414e4ca08a0895b8a82` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747340b23a454414e4ca08a0895b8a82` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747330227a1128899a06563f785b26c4` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747330227a1128899a06563f785b26c4` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747339211de95404ccc298bf7270ec80` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e747339211de95404ccc298bf7270ec80` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e52954120cc73dc4a175a41586f1` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473e52954120cc73dc4a175a41586f1` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738fb69ed7a2cfe714ab54b62310a9` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74738fb69ed7a2cfe714ab54b62310a9` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473278c2c4490fb7d4efd021217ce92` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e7473278c2c4490fb7d4efd021217ce92` (r:1 w:1) + /// Storage: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735e89703e0ce7cd3db3a41a7f8a37` (r:1 w:1) + /// Proof: UNKNOWN KEY `0x52657175657374436f6d6d69746d656e74735e89703e0ce7cd3db3a41a7f8a37` (r:1 w:1) + /// The range of component `x` is `[0, 512]`. + /// The range of component `y` is `[0, 1]`. + fn ismp_post(x: u32, y: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `604` + // Estimated: `16307 + x * (816 ±715_192_122_278_388) + y * (8448 ±178_798_030_569_596_928)` + // Minimum execution time: 70_000_000 picoseconds. + Weight::from_parts(79_608_153, 0) + .saturating_add(Weight::from_parts(0, 16307)) + // Standard Error: 71_100 + .saturating_add(Weight::from_parts(13_407_822, 0).saturating_mul(y.into())) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(7)) + .saturating_add(Weight::from_parts(0, 816).saturating_mul(x.into())) + .saturating_add(Weight::from_parts(0, 8448).saturating_mul(y.into())) + } + + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `Messaging::Messages` (r:1 w:1) + /// Proof: `Messaging::Messages` (`max_values`: None, `max_size`: Some(12842), added: 15317, mode: `MaxEncodedLen`) + fn top_up_callback_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `366` + // Estimated: `16307` + // Minimum execution time: 31_000_000 picoseconds. + Weight::from_parts(34_000_000, 0) + .saturating_add(Weight::from_parts(0, 16307)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } +} diff --git a/runtime/testnet/src/weights/mod.rs b/runtime/testnet/src/weights/mod.rs index b473d49e2..75a5e9b00 100644 --- a/runtime/testnet/src/weights/mod.rs +++ b/runtime/testnet/src/weights/mod.rs @@ -19,6 +19,7 @@ pub mod block_weights; pub mod extrinsic_weights; +pub mod messaging_weights; pub mod paritydb_weights; pub mod rocksdb_weights;