diff --git a/Cargo.lock b/Cargo.lock index deb50ff83..a368bcf91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -343,6 +343,12 @@ 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" @@ -1045,9 +1051,9 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd dependencies = [ "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "staging-xcm", + "staging-xcm 15.0.2", ] [[package]] @@ -1517,6 +1523,26 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "const_env" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e9e4f72c6e3398ca6da372abd9affd8f89781fe728869bbf986206e9af9627e" +dependencies = [ + "const_env_impl", +] + +[[package]] +name = "const_env_impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a4f51209740b5e1589e702b3044cdd4562cef41b6da404904192ffffb852d62" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "const_format" version = "0.2.34" @@ -1915,7 +1941,7 @@ dependencies = [ "sc-client-api", "sc-service", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "url", ] @@ -1938,7 +1964,7 @@ dependencies = [ "sc-client-api", "sp-api", "sp-consensus", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "tracing", ] @@ -1978,11 +2004,11 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-aura", - "sp-core", + "sp-core 35.0.0", "sp-inherents", - "sp-keystore", + "sp-keystore 0.41.0", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", "sp-timestamp", "substrate-prometheus-endpoint", "tokio", @@ -2010,10 +2036,10 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "sp-timestamp", - "sp-trie", + "sp-trie 38.0.0", "sp-version", "substrate-prometheus-endpoint", "tracing", @@ -2030,7 +2056,7 @@ dependencies = [ "sp-consensus", "sp-inherents", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", "thiserror 1.0.69", ] @@ -2053,9 +2079,9 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", "sp-version", "tracing", ] @@ -2076,9 +2102,9 @@ dependencies = [ "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-inherents", "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-trie", + "sp-state-machine 0.44.0", + "sp-storage 22.0.0", + "sp-trie 38.0.0", "tracing", ] @@ -2139,8 +2165,8 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "sp-transaction-pool", ] @@ -2184,16 +2210,16 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core", - "sp-externalities", + "sp-core 35.0.0", + "sp-externalities 0.30.0", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", + "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", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "trie-db", ] @@ -2232,9 +2258,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", - "staging-xcm", + "staging-xcm 15.0.2", ] [[package]] @@ -2254,10 +2280,10 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", ] @@ -2283,8 +2309,8 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-trie", - "staging-xcm", + "sp-trie 38.0.0", + "staging-xcm 15.0.2", ] [[package]] @@ -2296,9 +2322,9 @@ dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-inherents", - "sp-trie", + "sp-trie 38.0.0", ] [[package]] @@ -2306,9 +2332,9 @@ name = "cumulus-primitives-proof-size-hostfunction" version = "0.11.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "sp-externalities", - "sp-runtime-interface", - "sp-trie", + "sp-externalities 0.30.0", + "sp-runtime-interface 29.0.0", + "sp-trie 38.0.0", ] [[package]] @@ -2340,7 +2366,7 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-common", "sp-runtime", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", ] @@ -2364,9 +2390,9 @@ dependencies = [ "sc-tracing", "sp-api", "sp-consensus", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", ] [[package]] @@ -2383,7 +2409,7 @@ dependencies = [ "sc-client-api", "sp-api", "sp-blockchain", - "sp-state-machine", + "sp-state-machine 0.44.0", "sp-version", "thiserror 1.0.69", ] @@ -2451,10 +2477,10 @@ dependencies = [ "sp-api", "sp-authority-discovery", "sp-consensus-babe", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-state-machine", - "sp-storage", + "sp-state-machine 0.44.0", + "sp-storage 22.0.0", "sp-version", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -2473,8 +2499,8 @@ dependencies = [ "parity-scale-codec", "polkadot-primitives", "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.44.0", + "sp-trie 38.0.0", ] [[package]] @@ -3553,11 +3579,11 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-runtime-interface", - "sp-storage", + "sp-runtime-interface 29.0.0", + "sp-storage 22.0.0", "static_assertions", ] @@ -3601,22 +3627,22 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-database", - "sp-externalities", + "sp-externalities 0.30.0", "sp-genesis-builder", "sp-inherents", - "sp-io", - "sp-keystore", + "sp-io 39.0.0", + "sp-keystore 0.41.0", "sp-runtime", - "sp-state-machine", - "sp-storage", + "sp-state-machine 0.44.0", + "sp-storage 22.0.0", "sp-timestamp", "sp-transaction-pool", - "sp-trie", + "sp-trie 38.0.0", "sp-version", - "sp-wasm-interface", + "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "subxt", "subxt-signer", "thiserror 1.0.69", @@ -3644,8 +3670,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", "sp-npos-elections", "sp-runtime", ] @@ -3662,10 +3688,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-tracing", + "sp-tracing 17.0.1", ] [[package]] @@ -3743,21 +3769,21 @@ dependencies = [ "serde_json", "smallvec", "sp-api", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", "sp-crypto-hashing-proc-macro", - "sp-debug-derive", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-metadata-ir", "sp-runtime", "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-weights", + "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", + "sp-trie 38.0.0", + "sp-weights 31.0.0", "static_assertions", "tt-call", ] @@ -3816,12 +3842,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-version", - "sp-weights", + "sp-weights 31.0.0", ] [[package]] @@ -3834,7 +3860,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -5054,6 +5080,208 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" +[[package]] +name = "ink" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15d7438a13d38fa8f4eebea8d1e7c2931058eafd0336c79f4141d4ed0162a412" +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", +] + +[[package]] +name = "ink_allocator" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ec348ce75d284bc2e698187dc01da416a52dfa2d685e2a57d04e9e580447df0" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_codegen" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2238f147295746f1fee4cf7dcdee6378c94e61fbf7b9f9f4bb2a7f918530801b" +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.100", +] + +[[package]] +name = "ink_engine" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273f2aa983d04a6476d3c5ac76ddbef07555664b88f923996e7465e261dda48" +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", +] + +[[package]] +name = "ink_env" +version = "5.1.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", +] + +[[package]] +name = "ink_ir" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e201688fb27ff97496a4231a393dd4befcc5a9c092d6bf231f0f5d409ef44f34" +dependencies = [ + "blake2 0.10.6", + "either", + "impl-serde 0.4.0", + "ink_prelude", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "ink_macro" +version = "5.1.1" +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.100", + "synstructure 0.13.1", +] + +[[package]] +name = "ink_metadata" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27135c651274087ba0578d2c07866c31d8dd481ae8de5bb7295fe3931491aa80" +dependencies = [ + "derive_more 1.0.0", + "impl-serde 0.4.0", + "ink_prelude", + "ink_primitives", + "linkme", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", +] + +[[package]] +name = "ink_prelude" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b29c9b7f686f4305f523bca5e2ae6f22a09531ec2bf0a9498cdc877959f70ad0" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_primitives" +version = "5.1.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", +] + +[[package]] +name = "ink_storage" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bed602a974481b194084b93957917f27e724c7561fd0de9b6f3c171590c839b" +dependencies = [ + "array-init", + "cfg-if", + "derive_more 1.0.0", + "ink_env", + "ink_metadata", + "ink_prelude", + "ink_primitives", + "ink_storage_traits", + "pallet-contracts-uapi 9.0.0", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "ink_storage_traits" +version = "5.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fde9b3f4a1e355682e5d13fd5639e5da4d0a2029537292e05a4255ea1169663e" +dependencies = [ + "ink_metadata", + "ink_prelude", + "ink_primitives", + "parity-scale-codec", + "scale-info", +] + [[package]] name = "inout" version = "0.1.4" @@ -5178,9 +5406,9 @@ dependencies = [ "serde", "sp-consensus-aura", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-runtime", - "sp-trie", + "sp-trie 38.0.0", "substrate-state-machine", ] @@ -6344,6 +6572,26 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "linkme" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22d227772b5999ddc0690e733f734f95ca05387e329c4084fe65678c51198ffe" +dependencies = [ + "linkme-impl", +] + +[[package]] +name = "linkme-impl" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71a98813fa0073a317ed6a8055dcd4722a49d9b862af828ee68449adb799b6be" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "linregress" version = "0.5.4" @@ -6648,7 +6896,7 @@ dependencies = [ "blake3", "frame-metadata 18.0.0", "parity-scale-codec", - "scale-decode", + "scale-decode 0.13.1", "scale-info", ] @@ -6730,7 +6978,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-beefy", - "sp-core", + "sp-core 35.0.0", "sp-mmr-primitives", "sp-runtime", ] @@ -6745,7 +6993,7 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-mmr-primitives", "sp-runtime", ] @@ -7359,12 +7607,12 @@ dependencies = [ "parity-scale-codec", "pop-chain-extension", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-std", - "sp-weights", - "staging-xcm", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "staging-xcm-builder", ] @@ -7380,9 +7628,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -7396,7 +7644,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -7412,8 +7660,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -7429,7 +7677,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -7493,8 +7741,8 @@ dependencies = [ "scale-info", "sp-application-crypto", "sp-consensus-babe", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "sp-session", "sp-staking", @@ -7515,10 +7763,10 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-tracing", + "sp-tracing 17.0.1", ] [[package]] @@ -7574,10 +7822,10 @@ dependencies = [ "serde", "sp-api", "sp-consensus-beefy", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", ] [[package]] @@ -7592,8 +7840,8 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -7610,8 +7858,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", "sp-runtime", ] @@ -7628,8 +7876,8 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -7664,8 +7912,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -7683,7 +7931,7 @@ dependencies = [ "log", "pallet-balances", "pallet-contracts-proc-macro", - "pallet-contracts-uapi", + "pallet-contracts-uapi 12.0.1", "parity-scale-codec", "paste", "rand 0.8.5", @@ -7692,11 +7940,11 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-std", - "staging-xcm", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "staging-xcm 15.0.2", "staging-xcm-builder", "wasm-instrument", "wasmi 0.32.3", @@ -7712,6 +7960,17 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "pallet-contracts-uapi" +version = "9.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d7a51646d9ff1d91abd0186d2c074f0dfd3b1a2d55f08a229a2f2e4bc6d1e49" +dependencies = [ + "bitflags 1.3.2", + "paste", + "polkavm-derive 0.9.1", +] + [[package]] name = "pallet-contracts-uapi" version = "12.0.1" @@ -7735,7 +7994,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io", + "sp-io 39.0.0", "sp-runtime", ] @@ -7749,7 +8008,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", "sp-staking", ] @@ -7766,8 +8025,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -7785,9 +8044,9 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-npos-elections", "sp-runtime", "strum 0.26.3", @@ -7817,8 +8076,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-npos-elections", "sp-runtime", "sp-staking", @@ -7837,7 +8096,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", "sp-staking", ] @@ -7857,8 +8116,8 @@ dependencies = [ "scale-info", "sp-application-crypto", "sp-consensus-grandpa", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "sp-session", "sp-staking", @@ -7876,7 +8135,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", ] @@ -7893,8 +8152,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-application-crypto", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "sp-staking", ] @@ -7909,8 +8168,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-keyring", "sp-runtime", ] @@ -7931,11 +8190,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-mmr-primitives", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", ] [[package]] @@ -7959,11 +8218,11 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-mmr-primitives", "sp-runtime", - "sp-storage", - "sp-trie", + "sp-storage 22.0.0", + "sp-trie 38.0.0", "tower", "trie-db", ] @@ -7993,8 +8252,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8010,11 +8269,11 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-weights", + "sp-weights 31.0.0", ] [[package]] @@ -8031,7 +8290,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -8046,8 +8305,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-mmr-primitives", "sp-runtime", ] @@ -8064,8 +8323,8 @@ dependencies = [ "pallet-collective", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8108,9 +8367,9 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-keystore", + "sp-core 35.0.0", + "sp-io 39.0.0", + "sp-keystore 0.41.0", "sp-runtime", ] @@ -8126,8 +8385,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8151,8 +8410,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", "sp-runtime", ] @@ -8167,11 +8426,11 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "sp-staking", - "sp-tracing", + "sp-tracing 17.0.1", ] [[package]] @@ -8190,7 +8449,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-runtime-interface", + "sp-runtime-interface 29.0.0", "sp-staking", ] @@ -8256,7 +8515,7 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -8271,8 +8530,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8298,9 +8557,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8314,7 +8573,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", ] @@ -8331,8 +8590,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8364,13 +8623,13 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-std", - "sp-weights", - "staging-xcm", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "staging-xcm-builder", "subxt-signer", ] @@ -8385,8 +8644,8 @@ dependencies = [ "log", "parity-wasm", "polkavm-linker 0.14.0", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "tempfile", "toml 0.8.20", @@ -8423,8 +8682,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8440,9 +8699,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", - "sp-weights", + "sp-weights 31.0.0", ] [[package]] @@ -8457,13 +8716,13 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "sp-session", "sp-staking", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.44.0", + "sp-trie 38.0.0", ] [[package]] @@ -8494,8 +8753,8 @@ dependencies = [ "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8516,7 +8775,7 @@ dependencies = [ "scale-info", "serde", "sp-application-crypto", - "sp-io", + "sp-io 39.0.0", "sp-runtime", "sp-staking", ] @@ -8527,7 +8786,7 @@ version = "22.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "log", - "sp-arithmetic", + "sp-arithmetic 26.0.0", ] [[package]] @@ -8551,8 +8810,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8567,7 +8826,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", ] @@ -8584,9 +8843,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-runtime", - "sp-storage", + "sp-storage 22.0.0", "sp-timestamp", ] @@ -8603,8 +8862,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8619,8 +8878,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8634,10 +8893,10 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-rpc", "sp-runtime", - "sp-weights", + "sp-weights 31.0.0", ] [[package]] @@ -8649,7 +8908,7 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-runtime", - "sp-weights", + "sp-weights 31.0.0", ] [[package]] @@ -8667,7 +8926,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -8681,8 +8940,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", ] @@ -8727,10 +8986,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", "tracing", @@ -8748,9 +9007,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", + "sp-io 39.0.0", "sp-runtime", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", ] @@ -8776,11 +9035,11 @@ dependencies = [ "polkadot-primitives", "scale-info", "sp-consensus-aura", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", "staging-parachain-info", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-executor", "substrate-wasm-builder", ] @@ -9139,8 +9398,8 @@ dependencies = [ "rand 0.8.5", "sc-network", "schnellru", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "thiserror 1.0.69", "tracing-gum", ] @@ -9197,8 +9456,8 @@ dependencies = [ "sc-storage-monitor", "sc-sysinfo", "sc-tracing", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-keyring", "sp-maybe-compressed-blob", "sp-runtime", @@ -9221,8 +9480,8 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "schnellru", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-runtime", "thiserror 1.0.69", "tokio-util", @@ -9236,7 +9495,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd dependencies = [ "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -9260,7 +9519,7 @@ dependencies = [ "sc-network", "schnellru", "sp-application-crypto", - "sp-keystore", + "sp-keystore 0.41.0", "thiserror 1.0.69", "tracing-gum", ] @@ -9274,8 +9533,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-primitives", "reed-solomon-novelpoly", - "sp-core", - "sp-trie", + "sp-core 35.0.0", + "sp-trie 38.0.0", "thiserror 1.0.69", ] @@ -9295,9 +9554,9 @@ dependencies = [ "sc-network", "sc-network-common", "sp-application-crypto", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-keystore", + "sp-keystore 0.41.0", "tracing-gum", ] @@ -9337,7 +9596,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-primitives", "schnellru", - "sp-core", + "sp-core 35.0.0", "sp-maybe-compressed-blob", "thiserror 1.0.69", "tracing-gum", @@ -9443,7 +9702,7 @@ dependencies = [ "polkadot-primitives", "polkadot-statement-table", "schnellru", - "sp-keystore", + "sp-keystore 0.41.0", "thiserror 1.0.69", "tracing-gum", ] @@ -9457,7 +9716,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-keystore", + "sp-keystore 0.41.0", "thiserror 1.0.69", "tracing-gum", "wasm-timer", @@ -9481,7 +9740,7 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "sp-application-crypto", - "sp-keystore", + "sp-keystore 0.41.0", "tracing-gum", ] @@ -9606,7 +9865,7 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "slotmap", - "sp-core", + "sp-core 35.0.0", "strum 0.26.3", "tempfile", "thiserror 1.0.69", @@ -9625,7 +9884,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", - "sp-keystore", + "sp-keystore 0.41.0", "thiserror 1.0.69", "tracing-gum", ] @@ -9647,11 +9906,11 @@ dependencies = [ "sc-executor-common", "sc-executor-wasmtime", "seccompiler", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-externalities", - "sp-io", - "sp-tracing", + "sp-externalities 0.30.0", + "sp-io 39.0.0", + "sp-tracing 17.0.1", "thiserror 1.0.69", "tracing-gum", ] @@ -9733,8 +9992,8 @@ dependencies = [ "sp-application-crypto", "sp-consensus-babe", "sp-consensus-slots", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-maybe-compressed-blob", "sp-runtime", "thiserror 1.0.69", @@ -9808,8 +10067,8 @@ dependencies = [ "sc-client-api", "schnellru", "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "thiserror 1.0.69", "tracing-gum", ] @@ -9831,7 +10090,7 @@ dependencies = [ "polkadot-primitives", "sc-client-api", "sp-api", - "sp-core", + "sp-core 35.0.0", "tikv-jemalloc-ctl", "tracing-gum", ] @@ -9847,9 +10106,9 @@ dependencies = [ "polkadot-core-primitives", "scale-info", "serde", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-weights", + "sp-weights 31.0.0", ] [[package]] @@ -9867,16 +10126,16 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-authority-discovery", "sp-consensus-slots", - "sp-core", + "sp-core 35.0.0", "sp-inherents", - "sp-io", - "sp-keystore", + "sp-io 39.0.0", + "sp-keystore 0.41.0", "sp-runtime", "sp-staking", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "thiserror 1.0.69", ] @@ -9909,7 +10168,7 @@ dependencies = [ "sp-consensus", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore", + "sp-keystore 0.41.0", "sp-runtime", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", @@ -9952,15 +10211,15 @@ dependencies = [ "serde_derive", "slot-range-helper", "sp-api", - "sp-core", + "sp-core 35.0.0", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-keyring", "sp-npos-elections", "sp-runtime", "sp-session", "sp-staking", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", "static_assertions", @@ -9975,7 +10234,7 @@ dependencies = [ "frame-benchmarking", "parity-scale-codec", "polkadot-primitives", - "sp-tracing", + "sp-tracing 17.0.1", ] [[package]] @@ -10013,16 +10272,16 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", "sp-inherents", - "sp-io", - "sp-keystore", + "sp-io 39.0.0", + "sp-keystore 0.41.0", "sp-runtime", "sp-session", "sp-staking", - "sp-std", - "staging-xcm", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", + "staging-xcm 15.0.2", "staging-xcm-executor", "static_assertions", ] @@ -10044,19 +10303,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-keyring", "sp-offchain", "sp-runtime", "sp-session", - "sp-storage", + "sp-storage 22.0.0", "sp-transaction-pool", "sp-version", ] @@ -10148,10 +10407,10 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-keyring", "sp-mmr-primitives", "sp-offchain", @@ -10160,8 +10419,8 @@ dependencies = [ "sp-timestamp", "sp-transaction-pool", "sp-version", - "sp-weights", - "staging-xcm", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "substrate-prometheus-endpoint", "thiserror 1.0.69", "tracing-gum", @@ -10186,7 +10445,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-keystore", + "sp-keystore 0.41.0", "sp-staking", "thiserror 1.0.69", "tracing-gum", @@ -10199,7 +10458,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd dependencies = [ "parity-scale-codec", "polkadot-primitives", - "sp-core", + "sp-core 35.0.0", "tracing-gum", ] @@ -10430,6 +10689,47 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "pop-api" +version = "0.0.0" +dependencies = [ + "bitflags 1.3.2", + "enumflags2", + "ink", + "pop-primitives", + "sp-io 38.0.2", +] + +[[package]] +name = "pop-api-integration-tests" +version = "0.1.0" +dependencies = [ + "contract-build", + "env_logger 0.11.8", + "frame-support", + "frame-system", + "ismp", + "log", + "pallet-api", + "pallet-assets", + "pallet-balances", + "pallet-contracts", + "pallet-ismp", + "pallet-nfts 31.0.0", + "pallet-revive", + "pallet-timestamp", + "pallet-xcm", + "parity-scale-codec", + "pop-api", + "pop-primitives", + "pop-runtime-devnet", + "pop-runtime-testnet", + "sp-io 39.0.0", + "sp-runtime", + "staging-xcm 15.0.2", + "staging-xcm-executor", +] + [[package]] name = "pop-chain-extension" version = "0.1.0" @@ -10446,10 +10746,10 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", ] [[package]] @@ -10510,17 +10810,17 @@ dependencies = [ "sp-block-builder", "sp-blockchain", "sp-consensus-aura", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", - "sp-io", + "sp-io 39.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.41.0", "sp-offchain", "sp-runtime", "sp-session", "sp-timestamp", "sp-transaction-pool", - "staging-xcm", + "staging-xcm 15.0.2", "substrate-build-script-utils", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", @@ -10575,7 +10875,7 @@ dependencies = [ "serde_json", "sp-keyring", "sp-runtime", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", ] @@ -10648,19 +10948,19 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-mmr-primitives", "sp-offchain", "sp-runtime", "sp-session", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-transaction-pool", "sp-version", "staging-parachain-info", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -10727,10 +11027,10 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-keyring", "sp-offchain", "sp-runtime", @@ -10738,7 +11038,7 @@ dependencies = [ "sp-transaction-pool", "sp-version", "staging-parachain-info", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -10816,10 +11116,10 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-mmr-primitives", "sp-offchain", "sp-runtime", @@ -10827,7 +11127,7 @@ dependencies = [ "sp-transaction-pool", "sp-version", "staging-parachain-info", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -11612,6 +11912,12 @@ 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.6.1" @@ -11707,26 +12013,26 @@ dependencies = [ "serde_json", "smallvec", "sp-api", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-keyring", "sp-mmr-primitives", "sp-offchain", "sp-runtime", "sp-session", "sp-staking", - "sp-storage", + "sp-storage 22.0.0", "sp-transaction-pool", "sp-version", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", "static_assertions", @@ -11743,10 +12049,10 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "staging-xcm-builder", ] @@ -12153,8 +12459,8 @@ version = "30.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "log", - "sp-core", - "sp-wasm-interface", + "sp-core 35.0.0", + "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "thiserror 1.0.69", ] @@ -12181,8 +12487,8 @@ dependencies = [ "sp-api", "sp-authority-discovery", "sp-blockchain", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -12204,7 +12510,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 35.0.0", "sp-inherents", "sp-runtime", "substrate-prometheus-endpoint", @@ -12219,10 +12525,10 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-inherents", "sp-runtime", - "sp-trie", + "sp-trie 38.0.0", ] [[package]] @@ -12243,13 +12549,13 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-genesis-builder", - "sp-io", + "sp-io 39.0.0", "sp-runtime", - "sp-state-machine", - "sp-tracing", + "sp-state-machine 0.44.0", + "sp-tracing 17.0.1", ] [[package]] @@ -12295,10 +12601,10 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-keyring", - "sp-keystore", - "sp-panic-handler", + "sp-keystore 0.41.0", + "sp-panic-handler 13.0.1", "sp-runtime", "sp-version", "thiserror 1.0.69", @@ -12321,14 +12627,14 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 35.0.0", "sp-database", - "sp-externalities", + "sp-externalities 0.30.0", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", "sp-statement-store", - "sp-storage", - "sp-trie", + "sp-storage 22.0.0", + "sp-trie 38.0.0", "substrate-prometheus-endpoint", ] @@ -12349,13 +12655,13 @@ dependencies = [ "sc-client-api", "sc-state-db", "schnellru", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-database", "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.44.0", + "sp-trie 38.0.0", ] [[package]] @@ -12375,9 +12681,9 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -12403,9 +12709,9 @@ dependencies = [ "sp-consensus", "sp-consensus-aura", "sp-consensus-slots", - "sp-core", + "sp-core 35.0.0", "sp-inherents", - "sp-keystore", + "sp-keystore 0.41.0", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -12438,10 +12744,10 @@ dependencies = [ "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-inherents", - "sp-keystore", + "sp-keystore 0.41.0", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -12463,8 +12769,8 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-runtime", "thiserror 1.0.69", ] @@ -12491,13 +12797,13 @@ dependencies = [ "sc-utils", "sp-api", "sp-application-crypto", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-beefy", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-keystore", + "sp-keystore 0.41.0", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -12520,7 +12826,7 @@ dependencies = [ "serde", "sp-application-crypto", "sp-consensus-beefy", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "thiserror 1.0.69", ] @@ -12570,13 +12876,13 @@ dependencies = [ "serde_json", "sp-api", "sp-application-crypto", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-keystore", + "sp-keystore 0.41.0", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -12597,7 +12903,7 @@ dependencies = [ "sc-rpc", "serde", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "thiserror 1.0.69", ] @@ -12615,14 +12921,14 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core", + "sp-core 35.0.0", "sp-inherents", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", ] [[package]] @@ -12637,14 +12943,14 @@ dependencies = [ "sc-executor-wasmtime", "schnellru", "sp-api", - "sp-core", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", - "sp-trie", + "sp-core 35.0.0", + "sp-externalities 0.30.0", + "sp-io 39.0.0", + "sp-panic-handler 13.0.1", + "sp-runtime-interface 29.0.0", + "sp-trie 38.0.0", "sp-version", - "sp-wasm-interface", + "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "tracing", ] @@ -12656,7 +12962,7 @@ dependencies = [ "polkavm 0.9.3", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface", + "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "thiserror 1.0.69", "wasm-instrument", ] @@ -12669,7 +12975,7 @@ dependencies = [ "log", "polkavm 0.9.3", "sc-executor-common", - "sp-wasm-interface", + "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", ] [[package]] @@ -12685,8 +12991,8 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface", - "sp-wasm-interface", + "sp-runtime-interface 29.0.0", + "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "wasmtime", ] @@ -12716,8 +13022,8 @@ dependencies = [ "parking_lot 0.12.3", "serde_json", "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "thiserror 1.0.69", ] @@ -12743,8 +13049,8 @@ dependencies = [ "sc-transaction-pool-api", "sp-api", "sp-consensus", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-mixnet", "sp-runtime", "thiserror 1.0.69", @@ -12787,9 +13093,9 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -12854,7 +13160,7 @@ dependencies = [ "sc-network", "sc-network-types", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "thiserror 1.0.69", ] @@ -12883,11 +13189,11 @@ dependencies = [ "sc-utils", "schnellru", "smallvec", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -12959,9 +13265,9 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "sp-api", - "sp-core", - "sp-externalities", - "sp-keystore", + "sp-core 35.0.0", + "sp-externalities 0.30.0", + "sp-keystore 0.41.0", "sp-offchain", "sp-runtime", "threadpool", @@ -12998,8 +13304,8 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-offchain", "sp-rpc", "sp-runtime", @@ -13022,7 +13328,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core", + "sp-core 35.0.0", "sp-rpc", "sp-runtime", "sp-version", @@ -13076,7 +13382,7 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-rpc", "sp-runtime", "sp-version", @@ -13129,16 +13435,16 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", - "sp-externalities", - "sp-keystore", + "sp-core 35.0.0", + "sp-externalities 0.30.0", + "sp-keystore 0.41.0", "sp-runtime", "sp-session", - "sp-state-machine", - "sp-storage", + "sp-state-machine 0.44.0", + "sp-storage 22.0.0", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", + "sp-trie 38.0.0", "sp-version", "static_init", "substrate-prometheus-endpoint", @@ -13157,7 +13463,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sp-core", + "sp-core 35.0.0", ] [[package]] @@ -13168,7 +13474,7 @@ dependencies = [ "clap", "fs4", "log", - "sp-core", + "sp-core 35.0.0", "thiserror 1.0.69", "tokio", ] @@ -13207,10 +13513,10 @@ dependencies = [ "sc-telemetry", "serde", "serde_json", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io", - "sp-std", + "sp-io 39.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", ] [[package]] @@ -13251,10 +13557,10 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-rpc", "sp-runtime", - "sp-tracing", + "sp-tracing 17.0.1", "thiserror 1.0.69", "tracing", "tracing-log", @@ -13292,10 +13598,10 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-runtime", - "sp-tracing", + "sp-tracing 17.0.1", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror 1.0.69", @@ -13314,7 +13620,7 @@ dependencies = [ "parity-scale-codec", "serde", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-runtime", "thiserror 1.0.69", ] @@ -13330,7 +13636,17 @@ dependencies = [ "log", "parking_lot 0.12.3", "prometheus", - "sp-arithmetic", + "sp-arithmetic 26.0.0", +] + +[[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", ] [[package]] @@ -13341,10 +13657,24 @@ checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" dependencies = [ "parity-scale-codec", "scale-info", - "scale-type-resolver", + "scale-type-resolver 0.2.0", "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" @@ -13354,12 +13684,24 @@ dependencies = [ "derive_more 0.99.19", "parity-scale-codec", "primitive-types 0.12.2", - "scale-bits", - "scale-decode-derive", - "scale-type-resolver", + "scale-bits 0.6.0", + "scale-decode-derive 0.13.1", + "scale-type-resolver 0.2.0", "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" @@ -13372,6 +13714,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" @@ -13381,12 +13736,25 @@ dependencies = [ "derive_more 0.99.19", "parity-scale-codec", "primitive-types 0.12.2", - "scale-bits", - "scale-encode-derive", - "scale-type-resolver", + "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" +dependencies = [ + "darling 0.14.4", + "proc-macro-crate 1.1.3", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "scale-encode-derive" version = "0.7.2" @@ -13411,6 +13779,7 @@ dependencies = [ "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", + "schemars", "serde", ] @@ -13428,9 +13797,18 @@ dependencies = [ [[package]] name = "scale-type-resolver" -version = "0.2.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" +checksum = "10b800069bfd43374e0f96f653e0d46882a2cb16d6d961ac43bea80f26c76843" +dependencies = [ + "smallvec", +] + +[[package]] +name = "scale-type-resolver" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" dependencies = [ "scale-info", "smallvec", @@ -13461,11 +13839,11 @@ dependencies = [ "either", "frame-metadata 15.1.0", "parity-scale-codec", - "scale-bits", - "scale-decode", - "scale-encode", + "scale-bits 0.6.0", + "scale-decode 0.13.1", + "scale-encode 0.7.2", "scale-info", - "scale-type-resolver", + "scale-type-resolver 0.2.0", "serde", "yap", ] @@ -13479,6 +13857,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.100", +] + [[package]] name = "schnellru" version = "0.2.4" @@ -13728,6 +14130,17 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "serde_json" version = "1.0.140" @@ -14303,13 +14716,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api-proc-macro", - "sp-core", - "sp-externalities", + "sp-core 35.0.0", + "sp-externalities 0.30.0", "sp-metadata-ir", "sp-runtime", - "sp-runtime-interface", - "sp-state-machine", - "sp-trie", + "sp-runtime-interface 29.0.0", + "sp-state-machine 0.44.0", + "sp-trie 38.0.0", "sp-version", "thiserror 1.0.69", ] @@ -14336,8 +14749,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", ] [[package]] @@ -14354,6 +14767,21 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-arithmetic" +version = "26.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9971b30935cea3858664965039dabd80f67aca74cc6cc6dd42ff1ab14547bc53" +dependencies = [ + "docify", + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "static_assertions", +] + [[package]] name = "sp-authority-discovery" version = "35.0.0" @@ -14387,10 +14815,10 @@ dependencies = [ "schnellru", "sp-api", "sp-consensus", - "sp-core", + "sp-core 35.0.0", "sp-database", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", "thiserror 1.0.69", "tracing", ] @@ -14403,10 +14831,10 @@ dependencies = [ "async-trait", "futures", "log", - "sp-core", + "sp-core 35.0.0", "sp-inherents", "sp-runtime", - "sp-state-machine", + "sp-state-machine 0.44.0", "thiserror 1.0.69", ] @@ -14438,7 +14866,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-consensus-slots", - "sp-core", + "sp-core 35.0.0", "sp-inherents", "sp-runtime", "sp-timestamp", @@ -14454,13 +14882,13 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-io", - "sp-keystore", + "sp-io 39.0.0", + "sp-keystore 0.41.0", "sp-mmr-primitives", "sp-runtime", - "sp-weights", + "sp-weights 31.0.0", "strum 0.26.3", ] @@ -14476,8 +14904,8 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-runtime", ] @@ -14492,6 +14920,53 @@ dependencies = [ "sp-timestamp", ] +[[package]] +name = "sp-core" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c961a5e33fb2962fa775c044ceba43df9c6f917e2c35d63bfe23738468fa76a7" +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 0.8.5", + "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", +] + [[package]] name = "sp-core" version = "35.0.0" @@ -14525,13 +15000,13 @@ dependencies = [ "secrecy", "serde", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", + "sp-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", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.6.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "thiserror 1.0.69", "tracing", "w3f-bls", @@ -14584,6 +15059,17 @@ dependencies = [ "parking_lot 0.12.3", ] +[[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.100", +] + [[package]] name = "sp-debug-derive" version = "14.0.0" @@ -14594,6 +15080,17 @@ dependencies = [ "syn 2.0.100", ] +[[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", +] + [[package]] name = "sp-externalities" version = "0.30.0" @@ -14601,7 +15098,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd dependencies = [ "environmental", "parity-scale-codec", - "sp-storage", + "sp-storage 22.0.0", ] [[package]] @@ -14629,6 +15126,33 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "sp-io" +version = "38.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e20e9d9fe236466c1e38add64b591237c58540a07408407869d52d0e79fd18" +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.1.0", + "sp-trie 37.0.0", + "tracing", + "tracing-core", +] + [[package]] name = "sp-io" version = "39.0.0" @@ -14643,14 +15167,14 @@ dependencies = [ "polkavm-derive 0.9.1", "rustversion", "secp256k1 0.28.2", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-externalities", - "sp-keystore", - "sp-runtime-interface", - "sp-state-machine", - "sp-tracing", - "sp-trie", + "sp-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", + "sp-trie 38.0.0", "tracing", "tracing-core", ] @@ -14660,11 +15184,23 @@ name = "sp-keyring" version = "40.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ - "sp-core", + "sp-core 35.0.0", "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" @@ -14672,8 +15208,8 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sp-core", - "sp-externalities", + "sp-core 35.0.0", + "sp-externalities 0.30.0", ] [[package]] @@ -14717,8 +15253,8 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-core", - "sp-debug-derive", + "sp-core 35.0.0", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-runtime", "thiserror 1.0.69", ] @@ -14731,8 +15267,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", "sp-runtime", ] @@ -14742,7 +15278,7 @@ version = "35.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" dependencies = [ "sp-api", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -14755,6 +15291,16 @@ dependencies = [ "regex", ] +[[package]] +name = "sp-panic-handler" +version = "13.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8b52e69a577cbfdea62bfaf16f59eb884422ce98f78b5cd8d9bf668776bced1" +dependencies = [ + "backtrace", + "regex", +] + [[package]] name = "sp-rpc" version = "33.0.0" @@ -14762,7 +15308,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2412#010fd dependencies = [ "rustc-hash 1.1.0", "serde", - "sp-core", + "sp-core 35.0.0", ] [[package]] @@ -14784,16 +15330,36 @@ dependencies = [ "serde", "simple-mermaid", "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", - "sp-trie", - "sp-weights", + "sp-arithmetic 26.0.0", + "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", "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.1.0", + "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" @@ -14804,15 +15370,29 @@ dependencies = [ "parity-scale-codec", "polkavm-derive 0.9.1", "primitive-types 0.13.1", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", + "sp-externalities 0.30.0", + "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", + "sp-wasm-interface 21.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "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.3.0", + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "sp-runtime-interface-proc-macro" version = "18.0.0" @@ -14834,8 +15414,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core", - "sp-keystore", + "sp-core 35.0.0", + "sp-keystore 0.41.0", "sp-runtime", "sp-staking", ] @@ -14849,10 +15429,31 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] +[[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 0.8.5", + "smallvec", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "sp-panic-handler 13.0.2", + "sp-trie 37.0.0", + "thiserror 1.0.69", + "tracing", + "trie-db", +] + [[package]] name = "sp-state-machine" version = "0.44.0" @@ -14864,10 +15465,10 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "smallvec", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-trie", + "sp-core 35.0.0", + "sp-externalities 0.30.0", + "sp-panic-handler 13.0.1", + "sp-trie 38.0.0", "thiserror 1.0.69", "tracing", "trie-db", @@ -14888,20 +15489,39 @@ dependencies = [ "sha2 0.10.8", "sp-api", "sp-application-crypto", - "sp-core", + "sp-core 35.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", - "sp-externalities", + "sp-externalities 0.30.0", "sp-runtime", - "sp-runtime-interface", + "sp-runtime-interface 29.0.0", "thiserror 1.0.69", "x25519-dalek", ] +[[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#010fd7bd1cd586bbbe4a4c48cd631e2ec263af5e" +[[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)", +] + [[package]] name = "sp-storage" version = "22.0.0" @@ -14911,7 +15531,7 @@ dependencies = [ "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", ] [[package]] @@ -14937,6 +15557,18 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "sp-tracing" +version = "17.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6147a5b8c98b9ed4bf99dc033fab97a468b4645515460974c8784daeb7c35433" +dependencies = [ + "parity-scale-codec", + "tracing", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "sp-transaction-pool" version = "35.0.0" @@ -14954,10 +15586,34 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 35.0.0", "sp-inherents", "sp-runtime", - "sp-trie", + "sp-trie 38.0.0", +] + +[[package]] +name = "sp-trie" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd" +dependencies = [ + "ahash", + "hash-db", + "lazy_static", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core 34.0.0", + "sp-externalities 0.29.0", + "thiserror 1.0.69", + "tracing", + "trie-db", + "trie-root", ] [[package]] @@ -14974,8 +15630,8 @@ dependencies = [ "rand 0.8.5", "scale-info", "schnellru", - "sp-core", - "sp-externalities", + "sp-core 35.0.0", + "sp-externalities 0.30.0", "thiserror 1.0.69", "tracing", "trie-db", @@ -14994,7 +15650,7 @@ dependencies = [ "serde", "sp-crypto-hashing-proc-macro", "sp-runtime", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", "sp-version-proc-macro", "thiserror 1.0.69", ] @@ -15011,6 +15667,18 @@ dependencies = [ "syn 2.0.100", ] +[[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", +] + [[package]] name = "sp-wasm-interface" version = "21.0.1" @@ -15033,8 +15701,23 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic", - "sp-debug-derive", + "sp-arithmetic 26.0.0", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2412)", +] + +[[package]] +name = "sp-weights" +version = "31.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "515aa194eabac059041df2dbee75b059b99981213ec680e9de85b45b6988346a" +dependencies = [ + "bounded-collections", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 26.1.0", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -15102,6 +15785,25 @@ dependencies = [ "sp-runtime", ] +[[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.1.0", + "xcm-procedural 8.0.0", +] + [[package]] name = "staging-xcm" version = "15.0.2" @@ -15119,8 +15821,8 @@ dependencies = [ "scale-info", "serde", "sp-runtime", - "sp-weights", - "xcm-procedural", + "sp-weights 31.0.0", + "xcm-procedural 11.0.1", ] [[package]] @@ -15137,11 +15839,11 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "staging-xcm-executor", ] @@ -15156,12 +15858,12 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 26.0.0", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "tracing", ] @@ -15263,6 +15965,19 @@ dependencies = [ "syn 2.0.100", ] +[[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", +] + [[package]] name = "substrate-bip39" version = "0.6.0" @@ -15296,7 +16011,7 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core", + "sp-core 35.0.0", "sp-runtime", ] @@ -15330,7 +16045,7 @@ dependencies = [ "sp-consensus-aura", "sp-consensus-babe", "sp-runtime", - "sp-trie", + "sp-trie 38.0.0", ] [[package]] @@ -15343,10 +16058,10 @@ dependencies = [ "sc-client-api", "sc-rpc-api", "serde", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-state-machine 0.44.0", + "sp-trie 38.0.0", "trie-db", ] @@ -15368,10 +16083,10 @@ dependencies = [ "polkavm-linker 0.9.2", "sc-executor", "shlex", - "sp-core", - "sp-io", + "sp-core 35.0.0", + "sp-io 39.0.0", "sp-maybe-compressed-blob", - "sp-tracing", + "sp-tracing 17.0.1", "sp-version", "strum 0.26.3", "tempfile", @@ -15416,9 +16131,9 @@ dependencies = [ "parity-scale-codec", "primitive-types 0.12.2", "reconnecting-jsonrpsee-ws-client", - "scale-bits", - "scale-decode", - "scale-encode", + "scale-bits 0.6.0", + "scale-decode 0.13.1", + "scale-encode 0.7.2", "scale-info", "scale-value", "serde", @@ -15470,9 +16185,9 @@ dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "primitive-types 0.12.2", - "scale-bits", - "scale-decode", - "scale-encode", + "scale-bits 0.6.0", + "scale-decode 0.13.1", + "scale-encode 0.7.2", "scale-info", "scale-value", "serde", @@ -17124,16 +17839,16 @@ dependencies = [ "smallvec", "sp-api", "sp-application-crypto", - "sp-arithmetic", + "sp-arithmetic 26.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core", + "sp-core 35.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 39.0.0", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", @@ -17141,10 +17856,10 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-storage", + "sp-storage 22.0.0", "sp-transaction-pool", "sp-version", - "staging-xcm", + "staging-xcm 15.0.2", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -17161,10 +17876,10 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core", + "sp-core 35.0.0", "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "staging-xcm-builder", ] @@ -17649,6 +18364,18 @@ dependencies = [ "time", ] +[[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.100", +] + [[package]] name = "xcm-procedural" version = "11.0.1" @@ -17669,8 +18396,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-weights", - "staging-xcm", + "sp-weights 31.0.0", + "staging-xcm 15.0.2", "staging-xcm-executor", ] @@ -17689,6 +18416,12 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "xxhash-rust" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" + [[package]] name = "yamux" version = "0.12.1" diff --git a/Cargo.toml b/Cargo.toml index c1a605826..b848aff62 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,14 +17,14 @@ repository = "https://github.com/r0gue-io/pop-node/" [workspace] exclude = [ "extension/contract", + "integration-tests", "pop-api", "tests/contracts", - "integration-tests", ] members = [ "node", "pallets/*", - #"pop-api/integration-tests", + "pop-api/integration-tests", "primitives", "runtime/devnet", "runtime/mainnet", @@ -148,8 +148,8 @@ 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 } +sp-weights = { 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" } # Polkadot diff --git a/pallets/api/Cargo.toml b/pallets/api/Cargo.toml index 7668fd43d..a5de328c4 100644 --- a/pallets/api/Cargo.toml +++ b/pallets/api/Cargo.toml @@ -24,8 +24,8 @@ frame-support.workspace = true frame-system.workspace = true pallet-assets.workspace = true pallet-balances.workspace = true -pallet-timestamp.workspace = true pallet-nfts.workspace = true +pallet-timestamp.workspace = true sp-core.workspace = true sp-io.workspace = true sp-runtime.workspace = true @@ -75,7 +75,7 @@ std = [ "sp-io/std", "sp-runtime/std", "sp-std/std", - "xcm-builder/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 index df2885208..5c4b50ec9 100644 --- a/pallets/api/src/messaging/benchmarking.rs +++ b/pallets/api/src/messaging/benchmarking.rs @@ -329,6 +329,7 @@ mod messaging_benchmarks { let id_data = (x, y, a, "ismp_get"); let encoded = id_data.encode(); let message_id = H256::from(blake2_256(&encoded)); + let ismp_relayer_fee: BalanceOf = u32::MAX.into(); let inner_keys: BoundedVec = vec![1u8].repeat(T::MaxKeyLen::get() as usize).try_into().unwrap(); @@ -362,7 +363,13 @@ mod messaging_benchmarks { ); #[extrinsic_call] - Pallet::::ismp_get(RawOrigin::Signed(origin.clone()), message_id.into(), get, callback); + Pallet::::ismp_get( + RawOrigin::Signed(origin.clone()), + message_id.into(), + get, + ismp_relayer_fee, + callback, + ); } /// Sends a `Post` request using ISMP with a variable-sized data payload. @@ -380,6 +387,7 @@ mod messaging_benchmarks { let id_data = (x, y, b"ismp_post"); let encoded = id_data.encode(); let message_id = H256::from(blake2_256(&encoded)); + let ismp_relayer_fee: BalanceOf = u32::MAX.into(); let data = vec![1u8].repeat(x as usize).try_into().unwrap(); @@ -402,7 +410,13 @@ mod messaging_benchmarks { ); #[extrinsic_call] - Pallet::::ismp_post(RawOrigin::Signed(origin.clone()), message_id.into(), get, callback); + Pallet::::ismp_post( + RawOrigin::Signed(origin.clone()), + message_id.into(), + get, + ismp_relayer_fee, + callback, + ); } /// Tops up callback weight for callback execution of pending messages. @@ -416,7 +430,7 @@ mod messaging_benchmarks { let message: Message = Message::Ismp { commitment: [10u8; 32].into(), - deposit: 100_000u32.into(), + message_deposit: 100_000u32.into(), callback: Some(callback), }; diff --git a/pallets/api/src/messaging/mod.rs b/pallets/api/src/messaging/mod.rs index 49a5fd89f..5c1193545 100644 --- a/pallets/api/src/messaging/mod.rs +++ b/pallets/api/src/messaging/mod.rs @@ -139,9 +139,6 @@ pub mod pallet { /// 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; @@ -383,6 +380,7 @@ pub mod pallet { origin: OriginFor, id: MessageId, message: ismp::Get, + ismp_relayer_fee: BalanceOf, callback: Option, ) -> DispatchResult { let origin = ensure_signed(origin)?; @@ -408,7 +406,7 @@ pub mod pallet { // 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() }, + FeeMetadata { payer: origin.clone(), fee: ismp_relayer_fee }, ) { Ok(commitment) => Ok::(commitment), Err(e) => { @@ -454,6 +452,7 @@ pub mod pallet { origin: OriginFor, id: MessageId, message: ismp::Post, + ismp_relayer_fee: BalanceOf, callback: Option, ) -> DispatchResult { let origin = ensure_signed(origin)?; @@ -480,7 +479,7 @@ pub mod pallet { let commitment = T::IsmpDispatcher::default() .dispatch_request( message.into(), - FeeMetadata { payer: origin.clone(), fee: T::IsmpRelayerFee::get() }, + FeeMetadata { payer: origin.clone(), fee: ismp_relayer_fee }, ) .map_err(|_| Error::::IsmpDispatchFailed)?; diff --git a/pallets/api/src/messaging/tests.rs b/pallets/api/src/messaging/tests.rs index 056a91c9b..50551fa1d 100644 --- a/pallets/api/src/messaging/tests.rs +++ b/pallets/api/src/messaging/tests.rs @@ -894,7 +894,8 @@ mod xcm_hooks { fn xcm_queries_expire_on_expiry_block() { new_test_ext().execute_with(|| { let message_id = [0; 32]; - let timeout = System::block_number() + 10; + // timeout in 100 blocks time. + let timeout = 100; assert_ok!(Messaging::xcm_new_query( signed(ALICE), message_id, @@ -912,7 +913,22 @@ mod xcm_hooks { None, )); - run_to(timeout + 1); + // assert that the block before is not timed out. + + run_to(timeout + System::block_number() - 1); + let Some(Message::XcmQuery { .. }): Option> = + Messages::get(ALICE, message_id) + else { + panic!("Message should be a query!") + }; + + let Some(Message::XcmQuery { .. }): Option> = + Messages::get(ALICE, message_id_2) + else { + panic!("Message should be query!") + }; + + run_to(System::block_number() + 1); let Some(Message::XcmTimeout { .. }): Option> = Messages::get(ALICE, message_id) @@ -1178,10 +1194,17 @@ mod ismp_get { keys: bounded_vec!(), }; let callback = None; + let ismp_relayer_fee: Balance = u32::MAX.into(); - assert_ok!(Messaging::ismp_get(signed(ALICE), message_id, message.clone(), callback)); + assert_ok!(Messaging::ismp_get( + signed(ALICE), + message_id, + message.clone(), + ismp_relayer_fee, + callback + )); assert_noop!( - Messaging::ismp_get(signed(ALICE), message_id, message, callback), + Messaging::ismp_get(signed(ALICE), message_id, message, ismp_relayer_fee, callback), Error::::MessageExists ); }) @@ -1202,6 +1225,7 @@ mod ismp_get { let callback = Callback { selector: [1; 4], weight, abi: Abi::Scale }; let callback_deposit = ::WeightToFee::weight_to_fee(&weight); + let ismp_relayer_fee: Balance = u32::MAX.into(); let expected_deposit = calculate_protocol_deposit::< Test, @@ -1215,7 +1239,13 @@ mod ismp_get { assert_eq!(alice_hold_balance_pre_hold, 0); assert!(expected_deposit != 0); - assert_ok!(Messaging::ismp_get(signed(ALICE), message_id, message, Some(callback))); + assert_ok!(Messaging::ismp_get( + signed(ALICE), + message_id, + message, + ismp_relayer_fee, + Some(callback) + )); let alice_hold_balance_post_hold = Balances::total_balance_on_hold(&ALICE); @@ -1235,7 +1265,15 @@ mod ismp_get { keys: bounded_vec!(), }; let callback = None; - assert_ok!(Messaging::ismp_get(signed(ALICE), message_id, message, callback)); + let ismp_relayer_fee: Balance = u32::MAX.into(); + + assert_ok!(Messaging::ismp_get( + signed(ALICE), + message_id, + message, + ismp_relayer_fee, + callback + )); let events = events(); let Some(Event::::IsmpGetDispatched { origin, id, commitment, callback }) = events.first() @@ -1262,10 +1300,23 @@ mod ismp_post { let message_id = [0u8; 32]; let message = ismp::Post { dest: 2000, timeout: 100, data: bounded_vec![] }; let callback = None; + let ismp_relayer_fee: Balance = u32::MAX.into(); - assert_ok!(Messaging::ismp_post(signed(ALICE), message_id, message.clone(), callback)); + assert_ok!(Messaging::ismp_post( + signed(ALICE), + message_id, + message.clone(), + ismp_relayer_fee, + callback + )); assert_noop!( - Messaging::ismp_post(signed(ALICE), message_id, message, callback), + Messaging::ismp_post( + signed(ALICE), + message_id, + message, + ismp_relayer_fee, + callback + ), Error::::MessageExists ); }) @@ -1277,6 +1328,7 @@ mod ismp_post { 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 ismp_relayer_fee: Balance = u32::MAX.into(); let callback = Callback { selector: [1; 4], weight, abi: Abi::Scale }; let callback_deposit = ::WeightToFee::weight_to_fee(&weight); let expected_deposit = calculate_protocol_deposit::< @@ -1297,6 +1349,7 @@ mod ismp_post { signed(ALICE), message_id, message.clone(), + ismp_relayer_fee, Some(callback) )); @@ -1312,8 +1365,15 @@ mod ismp_post { let message_id = [0u8; 32]; let message = ismp::Post { dest: 2000, timeout: 100, data: bounded_vec![] }; let callback = None; + let ismp_relayer_fee: Balance = u32::MAX.into(); - assert_ok!(Messaging::ismp_post(signed(ALICE), message_id, message.clone(), callback)); + assert_ok!(Messaging::ismp_post( + signed(ALICE), + message_id, + message.clone(), + ismp_relayer_fee, + callback + )); let events = events(); let Some(Event::::IsmpPostDispatched { origin, id, commitment, callback }) = diff --git a/pallets/api/src/mock.rs b/pallets/api/src/mock.rs index 30d8e94c7..050378a9d 100644 --- a/pallets/api/src/mock.rs +++ b/pallets/api/src/mock.rs @@ -242,7 +242,6 @@ parameter_types! { 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); @@ -270,7 +269,6 @@ impl crate::messaging::Config for Test { 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>; diff --git a/pop-api/Cargo.toml b/pop-api/Cargo.toml index 1f20df3ae..51ef10a70 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/lib.rs b/pop-api/examples/messaging/lib.rs index c2ff52c7c..a4988281b 100755 --- a/pop-api/examples/messaging/lib.rs +++ b/pop-api/examples/messaging/lib.rs @@ -49,7 +49,7 @@ mod messaging { self.id, Get::new(self.para, height, 0, Vec::default(), Vec::from([key.clone()])), 0, - Some(Callback::to(0x57ad942b, Weight::from_parts(800_000_000, 500_000))), + Some(Callback::new(0x57ad942b, Weight::from_parts(800_000_000, 500_000))), )?; self.env().emit_event(IsmpRequested { id: self.id, key, height }); Ok(()) @@ -95,7 +95,7 @@ mod messaging { self.id, dest.clone(), self.env().block_number().saturating_add(100), - Some(Callback::to(0x641b0b03, Weight::from_parts(800_000_000, 500_000))), + Some(Callback::new(0x641b0b03, Weight::from_parts(800_000_000, 500_000), Abi::Scale)), )? .unwrap(); // TODO: handle error diff --git a/pop-api/integration-tests/Cargo.toml b/pop-api/integration-tests/Cargo.toml index 61e15ae76..8074da190 100644 --- a/pop-api/integration-tests/Cargo.toml +++ b/pop-api/integration-tests/Cargo.toml @@ -20,6 +20,8 @@ pallet-balances = { workspace = true, default-features = false } pallet-contracts = { workspace = true, default-features = false } pallet-ismp = { workspace = true, default-features = false } pallet-nfts = { workspace = true, default-features = false } +pallet-revive = { workspace = true, default-features = false } +pallet-timestamp = { workspace = true, default-features = false } pallet-xcm = { workspace = true, default-features = false } pop-api = { path = "../../pop-api", default-features = false, features = [ "fungibles", @@ -37,6 +39,7 @@ xcm-executor.workspace = true [features] default = [ "std" ] devnet = [ "pop-runtime-devnet/default" ] + std = [ "codec/std", "frame-support/std", @@ -46,6 +49,7 @@ std = [ "pallet-balances/std", "pallet-contracts/std", "pallet-nfts/std", + "pallet-timestamp/std", "pop-api/std", "pop-primitives/std", "pop-runtime-devnet/std", diff --git a/pop-api/integration-tests/build.rs b/pop-api/integration-tests/build.rs index 21334ac20..8781c7da7 100644 --- a/pop-api/integration-tests/build.rs +++ b/pop-api/integration-tests/build.rs @@ -1,5 +1,5 @@ use std::{ - fs, + env, fs, path::{Path, PathBuf}, process, }; @@ -10,7 +10,10 @@ use contract_build::{ }; fn main() { - let contracts_dir = PathBuf::from("./contracts/"); + println!("cargo:warning=🔨 build.rs is running"); + + let contracts_dir = PathBuf::from("contracts"); + let contract_dirs = match get_subcontract_directories(&contracts_dir) { Ok(dirs) => dirs, Err(e) => { @@ -19,15 +22,17 @@ fn main() { }, }; - for contract in contract_dirs { - if let Err(e) = build_contract(&contract) { + for contract in &contract_dirs { + if let Err(e) = build_contract(contract) { eprintln!("Failed to build contract {}: {}", contract.display(), e); process::exit(1); } } + + println!("cargo:warning=✅ build.rs built {} contracts", contract_dirs.len()); } -// Function to retrieve all subdirectories in a given directory. +// Get subdirectories in the contracts/ folder fn get_subcontract_directories(contracts_dir: &Path) -> Result, String> { fs::read_dir(contracts_dir) .map_err(|e| format!("Could not read directory '{}': {}", contracts_dir.display(), e))? @@ -39,8 +44,10 @@ fn get_subcontract_directories(contracts_dir: &Path) -> Result, Str .collect() } -// Function to build a contract given its directory. +// Compile the contract using contract-build fn build_contract(contract_dir: &Path) -> Result { + println!("cargo:warning=📦 Building contract at {}", contract_dir.display()); + let manifest_path = ManifestPath::new(contract_dir.join("Cargo.toml")).map_err(|e| { format!("Could not retrieve manifest path for {}: {}", contract_dir.display(), e) })?; @@ -50,7 +57,7 @@ fn build_contract(contract_dir: &Path) -> Result { build_mode: BuildMode::Debug, manifest_path, output_type: OutputType::HumanReadable, - verbosity: Verbosity::Default, + verbosity: Verbosity::Verbose, ..Default::default() }; diff --git a/pop-api/integration-tests/contracts/messaging/lib.rs b/pop-api/integration-tests/contracts/messaging/lib.rs index 10615dc1a..e71d949a3 100755 --- a/pop-api/integration-tests/contracts/messaging/lib.rs +++ b/pop-api/integration-tests/contracts/messaging/lib.rs @@ -6,7 +6,7 @@ use pop_api::{ self as api, ismp::{Get, Post}, xcm::{Location, QueryId, Response}, - Callback, MessageId, Status, + Callback, MessageId, MessageStatus, Abi }, StatusCode, }; @@ -39,7 +39,7 @@ mod messaging { callback: bool, ) -> Result<()> { debug_println!( - "messaging::ismp_get id={id}, dest={}, height={}, timeout={}, fee={fee}, \ + "messaging::ismp_get id={id:?}, dest={}, height={}, timeout={}, fee={fee}, \ callback={callback}", request.dest, request.height, @@ -51,7 +51,7 @@ mod messaging { fee, callback.then_some( // See `api::ismp::OnGetResponse` impl below - Callback::to(0x57ad942b, Weight::from_parts(900_000_000, 150_000)), + Callback::new(0x57ad942b, Weight::from_parts(900_000_000, 150_000), Abi::Scale), ), )?; Ok(()) @@ -66,7 +66,7 @@ mod messaging { callback: bool, ) -> Result<()> { debug_println!( - "messaging::ismp_post id={id}, dest={}, timeout={}, fee={fee}, callback={callback}", + "messaging::ismp_post id={id:?}, dest={}, timeout={}, fee={fee}, callback={callback}", request.dest, request.timeout ); @@ -76,7 +76,7 @@ mod messaging { fee, callback.then_some( // See `api::ismp::OnPostResponse` impl below - Callback::to(0xcfb0a1d2, Weight::from_parts(800_000_000, 150_000)), + Callback::new(0xcfb0a1d2, Weight::from_parts(800_000_000_000, 150_000_000), Abi::Scale), ), )?; Ok(()) @@ -91,8 +91,8 @@ mod messaging { callback: bool, ) -> Result> { debug_println!( - "messaging::xcm_new_query id={id}, responder={responder:?}, timeout={timeout}, \ - callback={callback}" + "messaging::xcm_new_query id={id:?}, responder={responder:?}, timeout={timeout}, \ + callback={callback}", ); api::xcm::new_query( id, @@ -100,26 +100,26 @@ mod messaging { timeout, callback.then_some( // See api::xcm::OnResponse impl below - Callback::to(0x641b0b03, Weight::from_parts(800_000_000, 200_000)), + Callback::new(0x641b0b03, Weight::from_parts(800_000_000_000, 200_000_000), Abi::Scale), ), ) } #[ink(message)] - pub fn poll(&self, id: MessageId) -> Result> { - debug_println!("messaging::poll id={id}"); - api::poll((self.env().account_id(), id)) + pub fn poll(&self, id: MessageId) -> Result> { + debug_println!("messaging::poll id={id:?}"); + api::poll_status((self.env().account_id(), id)) } #[ink(message)] pub fn get(&self, id: MessageId) -> Result>> { - debug_println!("messaging::get id={id}"); - api::get((self.env().account_id(), id)) + debug_println!("messaging::get id={id:?}"); + api::get_response((self.env().account_id(), id)) } #[ink(message)] pub fn remove(&mut self, id: MessageId) -> Result<()> { - debug_println!("messaging::remove id={id}"); + debug_println!("messaging::remove id={id:?}"); api::remove([id].to_vec())?; Ok(()) } @@ -128,7 +128,7 @@ mod messaging { impl api::ismp::OnGetResponse for Contract { #[ink(message)] fn on_response(&mut self, id: MessageId, values: Vec) -> Result<()> { - debug_println!("messaging::ismp::get::on_response id={id}, values={values:?});"); + debug_println!("messaging::ismp::get::on_response id={id:?}, values={values:?});"); self.env().emit_event(IsmpGetCompleted { id, values }); Ok(()) } @@ -137,7 +137,7 @@ mod messaging { impl api::ismp::OnPostResponse for Contract { #[ink(message)] fn on_response(&mut self, id: MessageId, response: Vec) -> Result<()> { - debug_println!("messaging::ismp::post::on_response id={id}, response={response:?});"); + debug_println!("messaging::ismp::post::on_response id={id:?}, response={response:?});"); self.env().emit_event(IsmpPostCompleted { id, response }); Ok(()) } @@ -146,7 +146,7 @@ mod messaging { impl api::xcm::OnResponse for Contract { #[ink(message)] fn on_response(&mut self, id: MessageId, response: Response) -> Result<()> { - debug_println!("messaging::xcm::on_response id={id}, response={response:?}"); + debug_println!("messaging::xcm::on_response id={id:?}, response={response:?}"); match response { Response::Null => {}, Response::Assets(_) => {}, @@ -159,6 +159,7 @@ mod messaging { Ok(()) } } + #[ink::event] pub struct IsmpGetCompleted { diff --git a/pop-api/integration-tests/src/lib.rs b/pop-api/integration-tests/src/lib.rs index 910aaf048..e79825ee4 100644 --- a/pop-api/integration-tests/src/lib.rs +++ b/pop-api/integration-tests/src/lib.rs @@ -10,14 +10,20 @@ use frame_support::{ }; use pallet_contracts::{Code, CollectEvents, Determinism, ExecReturnValue}; #[cfg(feature = "devnet")] -use pop_runtime_devnet::{Assets, Contracts, Nfts, Runtime, RuntimeOrigin, System, UNIT}; +use pop_runtime_devnet::{ + config::ismp::Router, Assets, Contracts, Messaging, Nfts, Runtime, RuntimeEvent, RuntimeOrigin, + System, UNIT, +}; #[cfg(feature = "testnet")] -use pop_runtime_testnet::{Assets, Contracts, Nfts, Runtime, RuntimeOrigin, System, UNIT}; +use pop_runtime_testnet::{ + config::ismp::Router, Assets, Contracts, Messaging, Nfts, Runtime, RuntimeEvent, RuntimeOrigin, + System, UNIT, +}; use sp_runtime::{AccountId32, BuildStorage, DispatchError}; use utils::*; mod fungibles; -#[cfg(feature = "testnet")] +#[cfg(any(feature = "testnet", feature = "devnet"))] mod messaging; #[cfg(feature = "devnet")] mod nonfungibles; @@ -29,7 +35,7 @@ const ALICE: AccountId32 = AccountId32::new([1_u8; 32]); const BOB: AccountId32 = AccountId32::new([2_u8; 32]); const DEBUG_OUTPUT: pallet_contracts::DebugInfo = pallet_contracts::DebugInfo::UnsafeDebug; const FERDIE: AccountId32 = AccountId32::new([3_u8; 32]); -const GAS_LIMIT: Weight = Weight::from_parts(500_000_000_000, 3 * 1024 * 1024); +const GAS_LIMIT: Weight = Weight::from_parts(500_000_000_000_000, 100 * 1024 * 1024); const INIT_AMOUNT: Balance = 100_000_000 * UNIT; const INIT_VALUE: Balance = 100 * UNIT; @@ -48,7 +54,12 @@ fn new_test_ext() -> sp_io::TestExternalities { .expect("Pallet balances storage can be assimilated"); let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); + ext.execute_with(|| { + // Required for calls to ismp dispatcher to function normally re timestamps. + #[cfg(any(feature = "testnet", feature = "devnet"))] + pallet_timestamp::Pallet::::set_timestamp(1u64); + System::set_block_number(1) + }); ext } diff --git a/pop-api/integration-tests/src/messaging.rs b/pop-api/integration-tests/src/messaging.rs index e7d212fd6..87d4cda03 100644 --- a/pop-api/integration-tests/src/messaging.rs +++ b/pop-api/integration-tests/src/messaging.rs @@ -6,11 +6,10 @@ use pop_api::{ messaging::{ ismp::{Get, Post}, xcm::{self, Junction, Location, MaybeErrorCode, NetworkId, QueryId}, - MessageId, Status, + MessageId, MessageStatus, }, primitives::{BlockNumber, Error}, }; -use pop_runtime_testnet::{config::ismp::Router, Messaging, RuntimeEvent}; use sp_io::{hashing::keccak_256, TestExternalities}; use sp_runtime::{offchain::OffchainOverlayedChange, testing::H256}; use xcm_executor::traits::OnResponse; @@ -24,10 +23,13 @@ const ISMP_MODULE_ID: [u8; 3] = *b"pop"; #[test] fn ismp_get_request_works() { - let id = 42; + let id = [0u8; 32]; let key = "some_key".as_bytes().to_vec(); - let request = Get::new(ASSET_HUB, 0, 0, "some_context".as_bytes().to_vec(), vec![key.clone()]); - let response = vec![StorageValue { key, value: Some("some_value".as_bytes().to_vec()) }]; + let timeout = 100_000u64; + let height = 0u32; + let request = + Get::new(ASSET_HUB, height, timeout, "some_context".as_bytes().to_vec(), vec![key.clone()]); + let response = vec![StorageValue { key, value: Some(b"some_value".to_vec()) }]; // Create a get request. let mut ext = new_test_ext(); @@ -35,7 +37,7 @@ fn ismp_get_request_works() { let contract = Contract::new(); assert_ok!(contract.ismp_get(id, request, 0, false)); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Pending)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Pending)); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(IsmpGetDispatched { origin, id: message_id, ..}) @@ -72,20 +74,20 @@ fn ismp_get_request_works() { IsmpGetResponseReceived { dest: contract.id.clone(), id, commitment }.into(), ); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Complete)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Complete)); assert_eq!(contract.get(id).unwrap(), Some(response.encode())); assert_ok!(contract.remove(id)); - System::assert_has_event( - Removed { origin: contract.id.clone(), messages: vec![id] }.into(), - ); }); } #[test] fn ismp_get_request_with_callback_works() { - let id = 42; + let id = [1u8; 32]; let key = "some_key".as_bytes().to_vec(); - let request = Get::new(ASSET_HUB, 0, 0, "some_context".as_bytes().to_vec(), vec![key.clone()]); + let timeout = 100_000u64; + let height = 0u32; + let request = + Get::new(ASSET_HUB, height, timeout, "some_context".as_bytes().to_vec(), vec![key.clone()]); let response = vec![StorageValue { key, value: Some("some_value".as_bytes().to_vec()) }]; // Create a get request with callback. @@ -94,7 +96,7 @@ fn ismp_get_request_with_callback_works() { let contract = Contract::new(); assert_ok!(contract.ismp_get(id, request, 0, true)); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Pending)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Pending)); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(IsmpGetDispatched { origin, id: message_id, ..}) @@ -125,7 +127,7 @@ fn ismp_get_request_with_callback_works() { IsmpGetResponseReceived { dest: contract.id.clone(), id, commitment }.into(), ); - assert_eq!(contract.last_event(), IsmpGetCompleted { id, values: response }.encode()); + assert_eq!(contract.last_event(), Some(IsmpGetCompleted { id, values: response }.encode())); assert_eq!(contract.poll(id).unwrap(), None); assert!(System::events().iter().any(|e| { matches!(&e.event, @@ -133,17 +135,15 @@ fn ismp_get_request_with_callback_works() { if origin == &contract.id && *message_id == id ) })); - System::assert_has_event( - Removed { origin: contract.id.clone(), messages: vec![id] }.into(), - ); }); } #[test] fn ismp_post_request_works() { - let id = 42; - let request = Post::new(HYPERBRIDGE, 0, "some_data".as_bytes().to_vec()); - let response = "some_value".as_bytes().to_vec(); + let id = [3u8; 32]; + let timeout = 100_000u64; + let request = Post::new(HYPERBRIDGE, timeout, "some_data".as_bytes().to_vec()); + let response = b"some_value".to_vec(); // Create a post request. let mut ext = new_test_ext(); @@ -151,7 +151,7 @@ fn ismp_post_request_works() { let contract = Contract::new(); assert_ok!(contract.ismp_post(id, request, 0, false)); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Pending)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Pending)); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(IsmpPostDispatched { origin, id: message_id, ..}) @@ -180,26 +180,24 @@ fn ismp_post_request_works() { .on_response(Response::Post(PostResponse { post, response: response.clone(), - timeout_timestamp: 0, + timeout_timestamp: timeout, })) .unwrap(); System::assert_has_event( IsmpPostResponseReceived { dest: contract.id.clone(), id, commitment }.into(), ); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Complete)); - assert_eq!(contract.get(id).unwrap(), Some(response)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Complete)); + assert_eq!(contract.get(id).unwrap(), Some(response.encode())); assert_ok!(contract.remove(id)); - System::assert_has_event( - Removed { origin: contract.id.clone(), messages: vec![id] }.into(), - ); }); } #[test] fn ismp_post_request_with_callback_works() { - let id = 42; - let request = Post::new(HYPERBRIDGE, 0, "some_data".as_bytes().to_vec()); + let id = [4u8; 32]; + let timeout = 100_000u64; + let request = Post::new(HYPERBRIDGE, timeout, "some_data".as_bytes().to_vec()); let response = "some_value".as_bytes().to_vec(); // Create a post request with callback. @@ -208,7 +206,7 @@ fn ismp_post_request_with_callback_works() { let contract = Contract::new(); assert_ok!(contract.ismp_post(id, request, 0, true)); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Pending)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Pending)); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(IsmpPostDispatched { origin, id: message_id, ..}) @@ -237,30 +235,27 @@ fn ismp_post_request_with_callback_works() { .on_response(Response::Post(PostResponse { post, response: response.clone(), - timeout_timestamp: 0, + timeout_timestamp: timeout, })) .unwrap(); System::assert_has_event( IsmpPostResponseReceived { dest: contract.id.clone(), id, commitment }.into(), ); - - assert_eq!(contract.last_event(), IsmpPostCompleted { id, response }.encode()); - assert_eq!(contract.poll(id).unwrap(), None); + let events = System::events(); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(CallbackExecuted { origin, id: message_id, ..}) if origin == &contract.id && *message_id == id ) })); - System::assert_has_event( - Removed { origin: contract.id.clone(), messages: vec![id] }.into(), - ); + assert_eq!(contract.last_event(), Some(IsmpPostCompleted { id, response }.encode())); + assert_eq!(contract.poll(id).unwrap(), None); }); } #[test] fn xcm_query_works() { - let id = 42u64; + let id: [u8; 32] = [5u8; 32]; let origin = Location::new(1, [Junction::Parachain(ASSET_HUB)]); let responder = origin.clone(); let timeout = 100; @@ -271,7 +266,7 @@ fn xcm_query_works() { // Create a new query and check its status let query_id = contract.xcm_new_query(id, responder, timeout, false).unwrap().unwrap(); assert_eq!(query_id, 0); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Pending)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Pending)); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(XcmQueryCreated { origin, id: message_id, query_id, ..}) @@ -297,18 +292,15 @@ fn xcm_query_works() { translate(&response) )); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Complete)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Complete)); assert_eq!(contract.get(id).unwrap(), Some(response.encode())); assert_ok!(contract.remove(id)); - System::assert_has_event( - Removed { origin: contract.id.clone(), messages: vec![id] }.into(), - ); }); } #[test] fn xcm_query_with_callback_works() { - let id = 42u64; + let id = [6u8; 32]; let origin = Location::new(1, [Junction::Parachain(ASSET_HUB)]); let responder = origin.clone(); let timeout = 100; @@ -319,7 +311,7 @@ fn xcm_query_with_callback_works() { // Create a new query and check its status let query_id = contract.xcm_new_query(id, responder, timeout, true).unwrap().unwrap(); assert_eq!(query_id, 0); - assert_eq!(contract.poll(id).unwrap(), Some(Status::Pending)); + assert_eq!(contract.poll(id).unwrap(), Some(MessageStatus::Pending)); assert!(System::events().iter().any(|e| { matches!(&e.event, RuntimeEvent::Messaging(XcmQueryCreated { origin, id: message_id, query_id, ..}) @@ -345,7 +337,7 @@ fn xcm_query_with_callback_works() { translate(&response) )); - assert_eq!(contract.last_event(), XcmCompleted { id, result: response }.encode()); + assert_eq!(contract.last_event(), Some(XcmCompleted { id, result: response }.encode())); assert_eq!(contract.poll(id).unwrap(), None); assert!(System::events().iter().any(|e| { matches!(&e.event, @@ -353,9 +345,6 @@ fn xcm_query_with_callback_works() { if origin == &contract.id && *message_id == id ) })); - System::assert_has_event( - Removed { origin: contract.id.clone(), messages: vec![id] }.into(), - ); }); } @@ -411,9 +400,6 @@ 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 } } @@ -454,9 +440,9 @@ impl Contract { .unwrap_or_else(|_| panic!("Contract reverted: {:?}", result)) } - fn poll(&self, request: MessageId) -> Result, Error> { + fn poll(&self, request: MessageId) -> Result, Error> { let result = self.call("poll", request.encode(), 0); - Result::, Error>::decode(&mut &result.data[1..]) + Result::, Error>::decode(&mut &result.data[1..]) .unwrap_or_else(|_| panic!("Contract reverted: {:?}", result)) } @@ -478,12 +464,7 @@ impl Contract { bare_call(self.address.clone(), params, value).expect("should work") } - 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, .. } + fn last_event(&self) -> Option> { let events = System::read_events_for_pallet::>(); let contract_events = events .iter() @@ -494,7 +475,7 @@ impl Contract { _ => None, }) .collect::>(); - contract_events.last().unwrap().to_vec() + contract_events.last().map(|e| e.to_vec()) } } diff --git a/pop-api/src/v0/messaging/mod.rs b/pop-api/src/v0/messaging/mod.rs index 5e208f538..9593f7e35 100644 --- a/pop-api/src/v0/messaging/mod.rs +++ b/pop-api/src/v0/messaging/mod.rs @@ -24,7 +24,7 @@ pub(super) const POLL: u8 = 0; pub(super) const GET: u8 = 1; pub(super) const QUERY_ID: u8 = 2; -pub type MessageId = u64; +pub type MessageId = [u8; 32]; fn build_dispatch(dispatchable: u8) -> ChainExtensionMethodApi { crate::v0::build_dispatch(MESSAGING, dispatchable) @@ -35,16 +35,16 @@ fn build_read_state(state_query: u8) -> ChainExtensionMethodApi { } #[inline] -pub fn poll(id: (AccountId, MessageId)) -> Result> { +pub fn poll_status(id: (AccountId, MessageId)) -> Result> { build_read_state(POLL) .input::<(AccountId, MessageId)>() - .output::>, true>() + .output::>, true>() .handle_error_code::() .call(&id) } #[inline] -pub fn get(id: (AccountId, MessageId)) -> Result>> { +pub fn get_response(id: (AccountId, MessageId)) -> Result>> { build_read_state(GET) .input::<(AccountId, MessageId)>() .output::>>, true>() @@ -63,21 +63,28 @@ pub fn remove(requests: Vec) -> Result<()> { #[ink::scale_derive(Decode, Encode, TypeInfo)] pub struct Callback { + abi: Abi, selector: [u8; 4], weight: Weight, } +/// The encoding used for the data going to the contract. +#[ink::scale_derive(Decode, Encode, TypeInfo)] +pub enum Abi { + Scale, +} + impl Callback { - pub fn to(selector: u32, weight: Weight) -> Self { - Self { selector: selector.to_be_bytes(), weight } + pub fn new(selector: u32, weight: Weight, abi: Abi) -> Self { + Self { selector: selector.to_be_bytes(), weight, abi } } } #[derive(PartialEq)] #[ink::scale_derive(Decode, Encode, TypeInfo)] #[cfg_attr(feature = "std", derive(Debug))] -pub enum Status { +pub enum MessageStatus { Pending, - TimedOut, Complete, + TimedOut, } diff --git a/runtime/devnet/Cargo.toml b/runtime/devnet/Cargo.toml index 730d431c8..0ca731ca5 100644 --- a/runtime/devnet/Cargo.toml +++ b/runtime/devnet/Cargo.toml @@ -100,7 +100,7 @@ ismp.workspace = true ismp-parachain.workspace = true ismp-parachain-runtime-api.workspace = true # TODO: use signed -pallet-ismp = { workspace = true, features = [ "unsigned" ] } +pallet-ismp.workspace = true pallet-ismp-runtime-api.workspace = true [dev-dependencies] diff --git a/runtime/devnet/src/config/api/mod.rs b/runtime/devnet/src/config/api/mod.rs index 6c916d127..080640525 100644 --- a/runtime/devnet/src/config/api/mod.rs +++ b/runtime/devnet/src/config/api/mod.rs @@ -10,7 +10,7 @@ use frame_support::{ }; pub(crate) use pallet_api::Extension; use pallet_api::{extension::*, Read}; -use pallet_revive::{AddressMapper, CollectEvents, DebugInfo}; +use pallet_contracts::{CollectEvents, DebugInfo}; use pallet_xcm::Origin; use sp_core::ConstU8; use sp_runtime::{traits::AccountIdConversion, DispatchError}; @@ -114,18 +114,13 @@ impl nonfungibles::Config for Runtime { 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>; @@ -190,8 +185,6 @@ 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; @@ -203,28 +196,30 @@ impl messaging::CallbackExecutor for CallbackExecutor { #[cfg(feature = "std")] let collect_events = CollectEvents::UnsafeCollect; - let mut output = Revive::bare_call( - RuntimeOrigin::signed(account.clone()), - AddressMapper::to_address(&account), + // Using pallet_contracts for now due to a UnsupportedPrecompileAddress. + // Since both messaging and revive are experimental, lets get messaging running with + // contracts only for now. + let mut output = crate::Contracts::bare_call( + account.clone(), + account.clone(), Default::default(), weight, Default::default(), data, debug, collect_events, + pallet_contracts::Determinism::Enforced, ); - - 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 }; + let post_info = PostDispatchInfo { + actual_weight: Some(output.gas_consumed.saturating_add(Self::execution_weight())), + pays_fee: Default::default(), + }; output .result @@ -342,7 +337,18 @@ impl> Contains f ) }; - T::BaseCallFilter::contains(c) && (contain_fungibles | contain_nonfungibles) + let contain_messaging: bool = { + use messaging::Call::*; + matches!( + c, + RuntimeCall::Messaging( + xcm_new_query { .. } | ismp_get { .. } | ismp_post { .. } | remove { .. }, + ) + ) + }; + + T::BaseCallFilter::contains(c) && + (contain_fungibles | contain_nonfungibles | contain_messaging) } } @@ -375,7 +381,12 @@ impl Contains for Filter { ) }; - contain_fungibles | contain_nonfungibles + let contain_messaging: bool = { + use messaging::Read::*; + matches!(r, RuntimeRead::Messaging(PollStatus(..) | GetResponse(..) | QueryId(..))) + }; + + contain_fungibles | contain_nonfungibles | contain_messaging } } diff --git a/runtime/devnet/src/config/mod.rs b/runtime/devnet/src/config/mod.rs index 184abe9ef..9e4502da8 100644 --- a/runtime/devnet/src/config/mod.rs +++ b/runtime/devnet/src/config/mod.rs @@ -1,8 +1,9 @@ mod api; -// Public due to pop api integration tests crate. +// Public due to pop-api-integration-tests" crate. pub mod assets; mod contracts; -mod ismp; +// Public due to pop-api-integration-tests crate. +pub mod ismp; mod proxy; // Public due to integration tests crate. mod revive; diff --git a/runtime/devnet/src/lib.rs b/runtime/devnet/src/lib.rs index 1f2a3a3cd..b068a6263 100644 --- a/runtime/devnet/src/lib.rs +++ b/runtime/devnet/src/lib.rs @@ -645,7 +645,9 @@ mod runtime { pub type CumulusXcm = cumulus_pallet_xcm::Pallet; #[runtime::pallet_index(33)] pub type MessageQueue = pallet_message_queue::Pallet; + #[runtime::pallet_index(38)] + #[runtime::disable_unsigned] pub type Ismp = pallet_ismp::Pallet; #[runtime::pallet_index(39)] pub type IsmpParachain = ismp_parachain::Pallet; diff --git a/runtime/devnet/src/weights/messaging_weights.rs b/runtime/devnet/src/weights/messaging_weights.rs index 190698fcf..8221fe637 100644 --- a/runtime/devnet/src/weights/messaging_weights.rs +++ b/runtime/devnet/src/weights/messaging_weights.rs @@ -264,7 +264,6 @@ impl pallet_api::messaging::WeightInfo for WeightInfo; type MaxDataLen = ConstU32<512>; @@ -142,7 +138,30 @@ impl> + From> EnsureOrigin for EnsureRespon } } +#[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: frame_support::dispatch::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 { // Default diff --git a/runtime/testnet/src/config/ismp.rs b/runtime/testnet/src/config/ismp.rs index dfe9146ea..3ad0271bf 100644 --- a/runtime/testnet/src/config/ismp.rs +++ b/runtime/testnet/src/config/ismp.rs @@ -4,6 +4,12 @@ use frame_support::traits::Get; use frame_system::EnsureRoot; use ismp::{error::Error, host::StateMachine, module::IsmpModule, router::IsmpRouter}; use ismp_parachain::ParachainConsensusClient; +use sp_runtime::{ + traits::ValidateUnsigned, + transaction_validity::{ + InvalidTransaction, TransactionSource, TransactionValidity, TransactionValidityError, + }, +}; use crate::{ AccountId, Balance, Balances, Ismp, IsmpParachain, ParachainInfo, Runtime, RuntimeEvent, @@ -54,3 +60,14 @@ impl IsmpRouter for Router { Err(Error::ModuleNotFound(id))? } } + +// impl ValidateUnsigned for Runtime { +// type Call = (); +// Dont allow unsigned calls. +// fn pre_dispatch(_call: &Self::Call) -> Result<(), TransactionValidityError> { +// Err(InvalidTransaction::BadSigner.into()) +// } +// fn validate_unsigned(_source: TransactionSource, call: &Self::Call) -> TransactionValidity { +// Err(InvalidTransaction::BadSigner.into()) +// } +// } diff --git a/runtime/testnet/src/config/mod.rs b/runtime/testnet/src/config/mod.rs index 8b8f1af9f..1eb0782d8 100644 --- a/runtime/testnet/src/config/mod.rs +++ b/runtime/testnet/src/config/mod.rs @@ -1,5 +1,5 @@ mod api; -// Public due to pop api integration tests crate. +// Public due to pop-api-integration-tests crate. pub mod assets; // Collation. pub(crate) mod collation; @@ -7,8 +7,7 @@ pub(crate) mod collation; mod contracts; /// Governance. pub mod governance; -// Public due to pop api integration tests crate. -/// Ismp. +// Public due to pop-api-integration-tests crate. pub mod ismp; /// Monetary matters. pub(crate) mod monetary; diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index 469c9f084..d588f4557 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -61,7 +61,7 @@ use smallvec::smallvec; pub use sp_runtime::BuildStorage; use sp_runtime::{ generic, impl_opaque_keys, - traits::{BlakeTwo256, Block as BlockT, IdentifyAccount, Verify}, + traits::{BlakeTwo256, Block as BlockT, IdentifyAccount, ValidateUnsigned, Verify}, }; pub use sp_runtime::{ExtrinsicInclusionMode, MultiAddress, Perbill, Permill}; #[cfg(feature = "std")] @@ -330,6 +330,7 @@ mod runtime { // ISMP #[runtime::pallet_index(38)] + #[runtime::disable_unsigned] pub type Ismp = pallet_ismp::Pallet; #[runtime::pallet_index(39)] pub type IsmpParachain = ismp_parachain::Pallet; diff --git a/runtime/testnet/src/weights/messaging_weights.rs b/runtime/testnet/src/weights/messaging_weights.rs index 190698fcf..8221fe637 100644 --- a/runtime/testnet/src/weights/messaging_weights.rs +++ b/runtime/testnet/src/weights/messaging_weights.rs @@ -264,7 +264,6 @@ impl pallet_api::messaging::WeightInfo for WeightInfo