diff --git a/.vscode/settings.json b/.vscode/settings.json index 02b56871b..04a750baf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "rust-analyzer.rustfmt.extraArgs": ["+nightly"], + "rust-analyzer.checkOnSave": false, "coverage-gutters.coverageBaseDir": "coverage", "coverage-gutters.coverageFileNames": [ "pallet-storage-provider.lcov.info", diff --git a/Cargo.lock b/Cargo.lock index 1b82d16c2..d378687fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -71,6 +71,17 @@ dependencies = [ "subtle 2.6.0", ] +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.11" @@ -1217,8 +1228,8 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5 dependencies = [ "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -1585,10 +1596,6 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" -[[package]] -name = "cli-primitives" -version = "0.1.0" - [[package]] name = "coarsetime" version = "0.1.34" @@ -2069,8 +2076,8 @@ dependencies = [ "sc-client-api", "sc-service", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "url", ] @@ -2092,8 +2099,8 @@ dependencies = [ "sc-client-api", "sp-api", "sp-consensus", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "tracing", ] @@ -2124,16 +2131,16 @@ dependencies = [ "sc-telemetry", "schnellru", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-state-machine", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-timestamp", "substrate-prometheus-endpoint", "tracing", @@ -2160,10 +2167,10 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-timestamp", - "sp-trie", + "sp-trie 29.0.0", "substrate-prometheus-endpoint", "tracing", ] @@ -2178,8 +2185,8 @@ dependencies = [ "cumulus-primitives-parachain-inherent", "sp-consensus", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "thiserror", ] @@ -2200,9 +2207,9 @@ dependencies = [ "sc-client-api", "sp-blockchain", "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "tracing", ] @@ -2222,11 +2229,11 @@ dependencies = [ "sp-api", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", "tracing", ] @@ -2250,7 +2257,7 @@ dependencies = [ "sc-consensus", "sp-consensus", "sp-maybe-compressed-blob", - "sp-runtime", + "sp-runtime 31.0.1", "tracing", ] @@ -2285,9 +2292,9 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-transaction-pool", ] @@ -2303,9 +2310,9 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-aura", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -2331,18 +2338,18 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-inherents", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", "sp-version", "staging-xcm", "staging-xcm-builder", - "trie-db", + "trie-db 0.29.1", ] [[package]] @@ -2366,7 +2373,7 @@ dependencies = [ "frame-system", "pallet-session", "parity-scale-codec", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -2380,8 +2387,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "staging-xcm", ] @@ -2403,9 +2410,9 @@ dependencies = [ "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", @@ -2422,7 +2429,7 @@ dependencies = [ "polkadot-primitives", "sp-api", "sp-consensus-aura", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -2437,9 +2444,9 @@ dependencies = [ "polkadot-primitives", "scale-info", "sp-api", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", "staging-xcm", ] @@ -2452,12 +2459,12 @@ dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -2467,7 +2474,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5 dependencies = [ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -2483,7 +2490,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -2499,8 +2506,8 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-common", "polkadot-runtime-parachains", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", @@ -2526,9 +2533,9 @@ dependencies = [ "sc-tracing", "sp-api", "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", ] [[package]] @@ -2545,7 +2552,7 @@ dependencies = [ "sc-client-api", "sp-api", "sp-blockchain", - "sp-state-machine", + "sp-state-machine 0.35.0", "thiserror", ] @@ -2585,7 +2592,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "tokio", "tracing", @@ -2618,9 +2625,9 @@ dependencies = [ "sp-api", "sp-authority-discovery", "sp-consensus-babe", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-version", "thiserror", @@ -2638,10 +2645,10 @@ dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -3180,6 +3187,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown 0.12.3", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "4.0.3" @@ -3676,10 +3697,10 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -3720,17 +3741,17 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-database", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-genesis-builder", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "thiserror", "thousands", @@ -3757,10 +3778,10 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -3776,9 +3797,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -3818,7 +3839,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -3844,20 +3865,20 @@ dependencies = [ "serde_json", "smallvec", "sp-api", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", "sp-crypto-hashing-proc-macro", "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-metadata-ir", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", "static_assertions", "tt-call", ] @@ -3915,12 +3936,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-version", - "sp-weights", + "sp-weights 27.0.0", ] [[package]] @@ -3933,8 +3954,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -3955,7 +3976,7 @@ dependencies = [ "frame-support", "parity-scale-codec", "sp-api", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -4337,6 +4358,9 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] [[package]] name = "hashbrown" @@ -4344,7 +4368,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.11", ] [[package]] @@ -4353,7 +4377,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash", + "ahash 0.8.11", "allocator-api2", "serde", ] @@ -5946,6 +5970,15 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matchers" version = "0.1.0" @@ -6149,9 +6182,9 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-beefy", - "sp-core", + "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -6164,9 +6197,9 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -6858,10 +6891,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -6875,8 +6908,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -6892,9 +6925,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -6909,8 +6942,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -6925,9 +6958,9 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-aura", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -6941,9 +6974,9 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-authority-discovery", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -6957,7 +6990,7 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -6975,11 +7008,11 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-babe", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -7000,9 +7033,9 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7019,7 +7052,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7037,7 +7070,7 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -7061,10 +7094,10 @@ dependencies = [ "serde", "sp-api", "sp-consensus-beefy", - "sp-core", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7080,9 +7113,9 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7099,9 +7132,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-arithmetic", - "sp-core", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7118,9 +7151,9 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7139,7 +7172,7 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7155,9 +7188,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7173,8 +7206,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7187,7 +7220,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7204,9 +7237,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7224,11 +7257,11 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "strum 0.26.2", ] @@ -7243,7 +7276,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7258,10 +7291,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 28.0.0", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7279,8 +7312,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7298,11 +7331,11 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-grandpa", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -7320,8 +7353,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7337,10 +7370,10 @@ dependencies = [ "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7355,10 +7388,10 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 28.0.0", + "sp-io 30.0.0", "sp-keyring", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7378,10 +7411,10 @@ dependencies = [ "parity-scale-codec", "primitives-proofs", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7396,9 +7429,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7414,12 +7447,12 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", ] [[package]] @@ -7433,10 +7466,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 28.0.0", + "sp-io 30.0.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7451,8 +7484,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7466,9 +7499,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7483,9 +7516,9 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -7506,7 +7539,7 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -7535,7 +7568,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7559,7 +7592,7 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7577,8 +7610,8 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7593,9 +7626,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7609,8 +7642,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7626,10 +7659,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7643,8 +7676,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7661,9 +7694,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7676,9 +7709,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7694,10 +7727,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", ] [[package]] @@ -7712,14 +7745,14 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", ] [[package]] @@ -7734,7 +7767,7 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "rand 0.8.5", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7751,9 +7784,9 @@ dependencies = [ "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7773,9 +7806,9 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto", - "sp-io", - "sp-runtime", + "sp-application-crypto 30.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7797,7 +7830,7 @@ version = "19.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ "log", - "sp-arithmetic", + "sp-arithmetic 23.0.0", ] [[package]] @@ -7821,9 +7854,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7843,10 +7876,10 @@ dependencies = [ "parity-scale-codec", "primitives-proofs", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -7860,8 +7893,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7878,8 +7911,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-timestamp", @@ -7898,9 +7931,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7914,9 +7947,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7930,10 +7963,10 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-rpc", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -7944,8 +7977,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "sp-api", - "sp-runtime", - "sp-weights", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", ] [[package]] @@ -7962,8 +7995,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7977,9 +8010,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -7994,7 +8027,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -8009,7 +8042,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -8027,9 +8060,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", @@ -8048,8 +8081,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", @@ -8077,9 +8110,9 @@ dependencies = [ "polkadot-primitives", "scale-info", "sp-consensus-aura", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "staging-parachain-info", "staging-xcm", @@ -8435,7 +8468,7 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-subscriber", + "tracing-subscriber 0.3.18", "uuid", ] @@ -8486,10 +8519,10 @@ dependencies = [ "sp-block-builder", "sp-blockchain", "sp-consensus-aura", - "sp-core", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-timestamp", "staging-xcm", "substrate-build-script-utils", @@ -8520,7 +8553,7 @@ dependencies = [ "tokio-util", "tower-http 0.5.2", "tracing", - "tracing-subscriber", + "tracing-subscriber 0.3.18", "url", "uuid", ] @@ -8568,11 +8601,11 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-consensus-aura", - "sp-core", + "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-transaction-pool", @@ -8638,8 +8671,8 @@ dependencies = [ "rand 0.8.5", "sc-network", "schnellru", - "sp-core", - "sp-keystore", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "thiserror", "tracing-gum", ] @@ -8696,11 +8729,11 @@ dependencies = [ "sc-storage-monitor", "sc-sysinfo", "sc-tracing", - "sp-core", - "sp-io", + "sp-core 28.0.0", + "sp-io 30.0.0", "sp-keyring", "sp-maybe-compressed-blob", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-build-script-utils", "thiserror", ] @@ -8719,9 +8752,9 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "thiserror", "tokio-util", "tracing-gum", @@ -8734,8 +8767,8 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5 dependencies = [ "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -8758,8 +8791,8 @@ dependencies = [ "polkadot-primitives", "sc-network", "schnellru", - "sp-application-crypto", - "sp-keystore", + "sp-application-crypto 30.0.0", + "sp-keystore 0.34.0", "thiserror", "tracing-gum", ] @@ -8773,8 +8806,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-primitives", "reed-solomon-novelpoly", - "sp-core", - "sp-trie", + "sp-core 28.0.0", + "sp-trie 29.0.0", "thiserror", ] @@ -8793,10 +8826,10 @@ dependencies = [ "rand_chacha 0.3.1", "sc-network", "sc-network-common", - "sp-application-crypto", - "sp-core", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-keystore", + "sp-keystore 0.34.0", "tracing-gum", ] @@ -8835,7 +8868,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-core", + "sp-core 28.0.0", "sp-maybe-compressed-blob", "thiserror", "tracing-gum", @@ -8866,10 +8899,10 @@ dependencies = [ "sc-keystore", "schnellru", "schnorrkel 0.11.4", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus", "sp-consensus-slots", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror", "tracing-gum", ] @@ -8911,7 +8944,7 @@ dependencies = [ "polkadot-primitives", "polkadot-statement-table", "schnellru", - "sp-keystore", + "sp-keystore 0.34.0", "thiserror", "tracing-gum", ] @@ -8925,7 +8958,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-keystore", + "sp-keystore 0.34.0", "thiserror", "tracing-gum", "wasm-timer", @@ -9076,7 +9109,7 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "slotmap", - "sp-core", + "sp-core 28.0.0", "tempfile", "thiserror", "tokio", @@ -9094,7 +9127,7 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", - "sp-keystore", + "sp-keystore 0.34.0", "thiserror", "tracing-gum", ] @@ -9116,10 +9149,10 @@ dependencies = [ "sc-executor-common", "sc-executor-wasmtime", "seccompiler", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-io", + "sp-io 30.0.0", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "thiserror", "tracing-gum", @@ -9154,7 +9187,7 @@ dependencies = [ "polkadot-primitives", "sc-network", "sc-network-types", - "sp-core", + "sp-core 28.0.0", "thiserror", "tokio", ] @@ -9198,7 +9231,7 @@ dependencies = [ "sc-authority-discovery", "sc-network", "sc-network-types", - "sp-runtime", + "sp-runtime 31.0.1", "strum 0.26.2", "thiserror", "tracing-gum", @@ -9217,12 +9250,12 @@ dependencies = [ "polkadot-primitives", "schnorrkel 0.11.4", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-babe", - "sp-core", - "sp-keystore", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "sp-maybe-compressed-blob", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror", "zstd 0.12.4", ] @@ -9262,7 +9295,7 @@ dependencies = [ "sp-authority-discovery", "sp-blockchain", "sp-consensus-babe", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", ] @@ -9296,9 +9329,9 @@ dependencies = [ "rand 0.8.5", "sc-client-api", "schnellru", - "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "thiserror", "tracing-gum", ] @@ -9320,7 +9353,7 @@ dependencies = [ "polkadot-primitives", "sc-client-api", "sp-api", - "sp-core", + "sp-core 28.0.0", "tikv-jemalloc-ctl", "tracing-gum", ] @@ -9336,10 +9369,10 @@ dependencies = [ "polkadot-core-primitives", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", ] [[package]] @@ -9356,15 +9389,15 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-consensus-slots", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -9392,14 +9425,14 @@ dependencies = [ "sc-sync-state-rpc", "sc-transaction-pool-api", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -9441,11 +9474,11 @@ dependencies = [ "serde_derive", "slot-range-helper", "sp-api", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-npos-elections", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -9502,13 +9535,13 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 30.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -9615,21 +9648,21 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-keyring", - "sp-keystore", + "sp-keystore 0.34.0", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-timestamp", "sp-transaction-pool", "sp-version", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", "substrate-prometheus-endpoint", "thiserror", @@ -9655,7 +9688,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "sp-keystore", + "sp-keystore 0.34.0", "sp-staking", "thiserror", "tracing-gum", @@ -9668,7 +9701,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5 dependencies = [ "parity-scale-codec", "polkadot-primitives", - "sp-core", + "sp-core 28.0.0", "tracing-gum", ] @@ -9681,7 +9714,7 @@ dependencies = [ "libc", "log", "polkavm-assembler", - "polkavm-common", + "polkavm-common 0.9.0", "polkavm-linux-raw", ] @@ -9694,6 +9727,12 @@ dependencies = [ "log", ] +[[package]] +name = "polkavm-common" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c99f7eee94e7be43ba37eef65ad0ee8cbaf89b7c00001c3f6d2be985cb1817" + [[package]] name = "polkavm-common" version = "0.9.0" @@ -9703,13 +9742,34 @@ dependencies = [ "log", ] +[[package]] +name = "polkavm-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79fa916f7962348bd1bb1a65a83401675e6fc86c51a0fdbcf92a3108e58e6125" +dependencies = [ + "polkavm-derive-impl-macro 0.8.0", +] + [[package]] name = "polkavm-derive" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" dependencies = [ - "polkavm-derive-impl-macro", + "polkavm-derive-impl-macro 0.9.0", +] + +[[package]] +name = "polkavm-derive-impl" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c10b2654a8a10a83c260bfb93e97b262cf0017494ab94a65d389e0eda6de6c9c" +dependencies = [ + "polkavm-common 0.8.0", + "proc-macro2", + "quote", + "syn 2.0.66", ] [[package]] @@ -9718,19 +9778,29 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" dependencies = [ - "polkavm-common", + "polkavm-common 0.9.0", "proc-macro2", "quote", "syn 2.0.66", ] +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66" +dependencies = [ + "polkavm-derive-impl 0.8.0", + "syn 2.0.66", +] + [[package]] name = "polkavm-derive-impl-macro" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ - "polkavm-derive-impl", + "polkavm-derive-impl 0.9.0", "syn 2.0.66", ] @@ -9744,7 +9814,7 @@ dependencies = [ "hashbrown 0.14.5", "log", "object 0.32.2", - "polkavm-common", + "polkavm-common 0.9.0", "regalloc2 0.9.3", "rustc-demangle", ] @@ -9907,8 +9977,8 @@ dependencies = [ "cid 0.11.1", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -10721,19 +10791,19 @@ dependencies = [ "serde_json", "smallvec", "sp-api", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", - "sp-core", + "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-mmr-primitives", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -10757,9 +10827,9 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core", - "sp-runtime", - "sp-weights", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -11061,7 +11131,7 @@ version = "23.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ "log", - "sp-core", + "sp-core 28.0.0", "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "thiserror", ] @@ -11090,9 +11160,9 @@ dependencies = [ "sp-api", "sp-authority-discovery", "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", ] @@ -11113,9 +11183,9 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", ] @@ -11128,10 +11198,10 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -11152,12 +11222,12 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-genesis-builder", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-io 30.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -11203,11 +11273,11 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-keyring", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", + "sp-runtime 31.0.1", "sp-version", "thiserror", "tokio", @@ -11229,14 +11299,14 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 28.0.0", "sp-database", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "sp-statement-store", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", "substrate-prometheus-endpoint", ] @@ -11257,13 +11327,13 @@ dependencies = [ "sc-client-api", "sc-state-db", "schnellru", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", ] [[package]] @@ -11284,9 +11354,9 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "substrate-prometheus-endpoint", "thiserror", ] @@ -11306,16 +11376,16 @@ dependencies = [ "sc-consensus-slots", "sc-telemetry", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", "sp-consensus-slots", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", ] @@ -11341,17 +11411,17 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool-api", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-inherents", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", ] @@ -11368,13 +11438,13 @@ dependencies = [ "sc-rpc-api", "serde", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "thiserror", ] @@ -11399,15 +11469,15 @@ dependencies = [ "sc-network-types", "sc-utils", "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-beefy", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", "tokio", @@ -11427,10 +11497,10 @@ dependencies = [ "sc-consensus-beefy", "sc-rpc", "serde", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-beefy", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "thiserror", ] @@ -11444,7 +11514,7 @@ dependencies = [ "sc-client-api", "sc-consensus", "sp-blockchain", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -11452,7 +11522,7 @@ name = "sc-consensus-grandpa" version = "0.19.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ - "ahash", + "ahash 0.8.11", "array-bytes", "async-trait", "dyn-clone", @@ -11478,15 +11548,15 @@ dependencies = [ "sc-utils", "serde_json", "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", ] @@ -11506,8 +11576,8 @@ dependencies = [ "sc-rpc", "serde", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "thiserror", ] @@ -11524,14 +11594,14 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", ] [[package]] @@ -11546,12 +11616,12 @@ dependencies = [ "sc-executor-wasmtime", "schnellru", "sp-api", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-io", - "sp-panic-handler", + "sp-io 30.0.0", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", "sp-version", "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "tracing", @@ -11613,7 +11683,7 @@ dependencies = [ "sc-network-common", "sc-network-sync", "sp-blockchain", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -11624,9 +11694,9 @@ dependencies = [ "array-bytes", "parking_lot 0.12.3", "serde_json", - "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "thiserror", ] @@ -11652,10 +11722,10 @@ dependencies = [ "sc-transaction-pool-api", "sp-api", "sp-consensus", - "sp-core", - "sp-keystore", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "sp-mixnet", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror", ] @@ -11696,10 +11766,10 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", "tokio", @@ -11725,7 +11795,7 @@ dependencies = [ "sc-network-types", "sp-consensus", "sp-consensus-grandpa", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -11733,7 +11803,7 @@ name = "sc-network-gossip" version = "0.34.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ - "ahash", + "ahash 0.8.11", "futures", "futures-timer", "libp2p", @@ -11743,7 +11813,7 @@ dependencies = [ "sc-network-sync", "sc-network-types", "schnellru", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "tracing", ] @@ -11764,8 +11834,8 @@ dependencies = [ "sc-network", "sc-network-types", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "thiserror", ] @@ -11794,12 +11864,12 @@ dependencies = [ "sc-utils", "schnellru", "smallvec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", "thiserror", "tokio", @@ -11822,7 +11892,7 @@ dependencies = [ "sc-network-types", "sc-utils", "sp-consensus", - "sp-runtime", + "sp-runtime 31.0.1", "substrate-prometheus-endpoint", ] @@ -11868,11 +11938,11 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "sp-api", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-keystore", + "sp-keystore 0.34.0", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "threadpool", "tracing", ] @@ -11907,11 +11977,11 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core", - "sp-keystore", + "sp-core 28.0.0", + "sp-keystore 0.34.0", "sp-offchain", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-statement-store", "sp-version", @@ -11931,9 +12001,9 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core", + "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-version", "thiserror", ] @@ -11981,9 +12051,9 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-version", "thiserror", "tokio", @@ -12034,16 +12104,16 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-session", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", + "sp-trie 29.0.0", "sp-version", "static_init", "substrate-prometheus-endpoint", @@ -12062,7 +12132,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "sp-core", + "sp-core 28.0.0", ] [[package]] @@ -12073,7 +12143,7 @@ dependencies = [ "clap", "fs4", "log", - "sp-core", + "sp-core 28.0.0", "thiserror", "tokio", ] @@ -12093,7 +12163,7 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror", ] @@ -12112,9 +12182,9 @@ dependencies = [ "sc-telemetry", "serde", "serde_json", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-io", + "sp-io 30.0.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -12158,14 +12228,14 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-rpc", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "thiserror", "tracing", - "tracing-log", - "tracing-subscriber", + "tracing-log 0.2.0", + "tracing-subscriber 0.3.18", ] [[package]] @@ -12197,9 +12267,9 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-runtime", + "sp-runtime 31.0.1", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-transaction-pool", "substrate-prometheus-endpoint", @@ -12217,8 +12287,8 @@ dependencies = [ "parity-scale-codec", "serde", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "thiserror", ] @@ -12234,7 +12304,7 @@ dependencies = [ "log", "parking_lot 0.12.3", "prometheus", - "sp-arithmetic", + "sp-arithmetic 23.0.0", ] [[package]] @@ -12389,7 +12459,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ - "ahash", + "ahash 0.8.11", "cfg-if", "hashbrown 0.13.2", ] @@ -12851,7 +12921,7 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -12920,7 +12990,7 @@ dependencies = [ "chacha20", "crossbeam-queue", "derive_more", - "ed25519-zebra", + "ed25519-zebra 4.0.3", "either", "event-listener 2.5.3", "fnv", @@ -12974,7 +13044,7 @@ dependencies = [ "chacha20", "crossbeam-queue", "derive_more", - "ed25519-zebra", + "ed25519-zebra 4.0.3", "either", "event-listener 4.0.3", "fnv", @@ -13155,14 +13225,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api-proc-macro", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-metadata-ir", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", "sp-version", "thiserror", ] @@ -13189,11 +13259,25 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 28.0.0", + "sp-io 30.0.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] +[[package]] +name = "sp-application-crypto" +version = "33.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13ca6121c22c8bd3d1dce1f05c479101fd0d7b159bef2a3e8c834138d839c75c" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 31.0.0", + "sp-io 33.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "sp-arithmetic" version = "23.0.0" @@ -13209,6 +13293,21 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-arithmetic" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "910c07fa263b20bf7271fdd4adcb5d3217dfdac14270592e0780223542e7e114" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", +] + [[package]] name = "sp-ark-bls12-381" version = "0.4.2" @@ -13235,8 +13334,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto", - "sp-runtime", + "sp-application-crypto 30.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13246,7 +13345,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5 dependencies = [ "sp-api", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -13262,8 +13361,8 @@ dependencies = [ "sp-api", "sp-consensus", "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "thiserror", ] @@ -13275,10 +13374,10 @@ dependencies = [ "async-trait", "futures", "log", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", "thiserror", ] @@ -13291,10 +13390,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-slots", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", ] @@ -13308,11 +13407,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", "sp-consensus-slots", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "sp-timestamp", ] @@ -13326,13 +13425,13 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-core", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-io", - "sp-keystore", + "sp-io 30.0.0", + "sp-keystore 0.34.0", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 31.0.1", "strum 0.26.2", ] @@ -13347,10 +13446,10 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13376,7 +13475,7 @@ dependencies = [ "bounded-collections", "bs58 0.5.1", "dyn-clonable", - "ed25519-zebra", + "ed25519-zebra 4.0.3", "futures", "hash-db", "hash256-std-hasher", @@ -13404,7 +13503,54 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.4.7", + "thiserror", + "tracing", + "w3f-bls", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d7a0fd8f16dcc3761198fc83be12872f823b37b749bc72a3a6a1f702509366" +dependencies = [ + "array-bytes", + "bitflags 1.3.2", + "blake2 0.10.6", + "bounded-collections", + "bs58 0.5.1", + "dyn-clonable", + "ed25519-zebra 3.1.0", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "itertools 0.10.5", + "k256", + "libsecp256k1", + "log", + "merlin", + "parity-bip39", + "parity-scale-codec", + "parking_lot 0.12.3", + "paste", + "primitive-types", + "rand 0.8.5", + "scale-info", + "schnorrkel 0.11.4", + "secp256k1", + "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.27.0", + "sp-runtime-interface 26.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 20.0.0", + "ss58-registry", + "substrate-bip39 0.5.0", "thiserror", "tracing", "w3f-bls", @@ -13477,6 +13623,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.66", +] + [[package]] name = "sp-debug-derive" version = "14.0.0" @@ -13517,6 +13674,18 @@ dependencies = [ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", ] +[[package]] +name = "sp-externalities" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d6a4572eadd4a63cff92509a210bf425501a0c5e76574b30a366ac77653787" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 20.0.0", +] + [[package]] name = "sp-genesis-builder" version = "0.8.0" @@ -13526,7 +13695,7 @@ dependencies = [ "scale-info", "serde_json", "sp-api", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -13538,7 +13707,7 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror", ] @@ -13552,18 +13721,45 @@ dependencies = [ "libsecp256k1", "log", "parity-scale-codec", - "polkavm-derive", + "polkavm-derive 0.9.1", "rustversion", "secp256k1", - "sp-core", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-keystore", + "sp-keystore 0.34.0", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-state-machine", + "sp-state-machine 0.35.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-trie", + "sp-trie 29.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "33.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e09bba780b55bd9e67979cd8f654a31e4a6cf45426ff371394a65953d2177f2" +dependencies = [ + "bytes", + "ed25519-dalek 2.1.1", + "libsecp256k1", + "log", + "parity-scale-codec", + "polkavm-derive 0.9.1", + "rustversion", + "secp256k1", + "sp-core 31.0.0", + "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.27.0", + "sp-keystore 0.37.0", + "sp-runtime-interface 26.0.0", + "sp-state-machine 0.38.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 16.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 32.0.0", "tracing", "tracing-core", ] @@ -13573,8 +13769,8 @@ name = "sp-keyring" version = "31.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", "strum 0.26.2", ] @@ -13585,10 +13781,22 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5 dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] +[[package]] +name = "sp-keystore" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdbab8b61bd61d5f8625a0c75753b5d5a23be55d3445419acd42caf59cf6236b" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.3", + "sp-core 31.0.0", + "sp-externalities 0.27.0", +] + [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" @@ -13616,7 +13824,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto", + "sp-application-crypto 30.0.0", ] [[package]] @@ -13630,9 +13838,9 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-core", + "sp-core 28.0.0", "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror", ] @@ -13644,9 +13852,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-core", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13655,8 +13863,19 @@ version = "26.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ "sp-api", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", +] + +[[package]] +name = "sp-panic-handler" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416" +dependencies = [ + "backtrace", + "lazy_static", + "regex", ] [[package]] @@ -13676,7 +13895,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5 dependencies = [ "rustc-hash", "serde", - "sp-core", + "sp-core 28.0.0", ] [[package]] @@ -13696,12 +13915,37 @@ dependencies = [ "scale-info", "serde", "simple-mermaid", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", +] + +[[package]] +name = "sp-runtime" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3cb126971e7db2f0fcf8053dce740684c438c7180cfca1959598230f342c58" +dependencies = [ + "docify", + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "simple-mermaid", + "sp-application-crypto 33.0.0", + "sp-arithmetic 25.0.0", + "sp-core 31.0.0", + "sp-io 33.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 30.0.0", ] [[package]] @@ -13712,7 +13956,7 @@ dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "polkavm-derive", + "polkavm-derive 0.9.1", "primitive-types", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -13731,7 +13975,7 @@ dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "polkavm-derive", + "polkavm-derive 0.9.1", "primitive-types", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)", "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)", @@ -13742,6 +13986,26 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-runtime-interface" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a675ea4858333d4d755899ed5ed780174aa34fec15953428d516af5452295" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkavm-derive 0.8.0", + "primitive-types", + "sp-externalities 0.27.0", + "sp-runtime-interface-proc-macro 18.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 20.0.0", + "sp-tracing 16.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 20.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", +] + [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" @@ -13768,6 +14032,20 @@ dependencies = [ "syn 2.0.66", ] +[[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.1.0", + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "sp-session" version = "27.0.0" @@ -13776,9 +14054,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-core 28.0.0", + "sp-keystore 0.34.0", + "sp-runtime 31.0.1", "sp-staking", ] @@ -13791,8 +14069,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -13806,13 +14084,35 @@ dependencies = [ "parking_lot 0.12.3", "rand 0.8.5", "smallvec", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-panic-handler", - "sp-trie", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", + "sp-trie 29.0.0", + "thiserror", + "tracing", + "trie-db 0.29.1", +] + +[[package]] +name = "sp-state-machine" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1eae0eac8034ba14437e772366336f579398a46d101de13dbb781ab1e35e67c5" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "smallvec", + "sp-core 31.0.0", + "sp-externalities 0.27.0", + "sp-panic-handler 13.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-trie 32.0.0", "thiserror", "tracing", - "trie-db", + "trie-db 0.28.0", ] [[package]] @@ -13829,16 +14129,22 @@ dependencies = [ "scale-info", "sha2 0.10.8", "sp-api", - "sp-application-crypto", - "sp-core", + "sp-application-crypto 30.0.0", + "sp-core 28.0.0", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-runtime", + "sp-runtime 31.0.1", "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "thiserror", "x25519-dalek 2.0.1", ] +[[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" @@ -13873,6 +14179,20 @@ dependencies = [ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", ] +[[package]] +name = "sp-storage" +version = "20.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dba5791cb3978e95daf99dad919ecb3ec35565604e88cd38d805d9d4981e8bd" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 14.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)", +] + [[package]] name = "sp-timestamp" version = "26.0.0" @@ -13881,10 +14201,23 @@ dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime", + "sp-runtime 31.0.1", "thiserror", ] +[[package]] +name = "sp-tracing" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0351810b9d074df71c4514c5228ed05c250607cba131c1c9d1526760ab69c05c" +dependencies = [ + "parity-scale-codec", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing", + "tracing-core", + "tracing-subscriber 0.2.25", +] + [[package]] name = "sp-tracing" version = "16.0.0" @@ -13893,7 +14226,7 @@ dependencies = [ "parity-scale-codec", "tracing", "tracing-core", - "tracing-subscriber", + "tracing-subscriber 0.3.18", ] [[package]] @@ -13904,7 +14237,7 @@ dependencies = [ "parity-scale-codec", "tracing", "tracing-core", - "tracing-subscriber", + "tracing-subscriber 0.3.18", ] [[package]] @@ -13913,7 +14246,7 @@ version = "26.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ "sp-api", - "sp-runtime", + "sp-runtime 31.0.1", ] [[package]] @@ -13924,10 +14257,10 @@ dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 28.0.0", "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-runtime 31.0.1", + "sp-trie 29.0.0", ] [[package]] @@ -13935,7 +14268,7 @@ name = "sp-trie" version = "29.0.0" source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" dependencies = [ - "ahash", + "ahash 0.8.11", "hash-db", "lazy_static", "memory-db", @@ -13945,11 +14278,36 @@ dependencies = [ "rand 0.8.5", "scale-info", "schnellru", - "sp-core", + "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "thiserror", "tracing", - "trie-db", + "trie-db 0.29.1", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "32.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1aa91ad26c62b93d73e65f9ce7ebd04459c4bad086599348846a81988d6faa4" +dependencies = [ + "ahash 0.8.11", + "hash-db", + "lazy_static", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.3", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core 31.0.0", + "sp-externalities 0.27.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror", + "tracing", + "trie-db 0.28.0", "trie-root", ] @@ -13964,7 +14322,7 @@ dependencies = [ "scale-info", "serde", "sp-crypto-hashing-proc-macro", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", "sp-version-proc-macro", "thiserror", @@ -13981,6 +14339,20 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "sp-wasm-interface" +version = "20.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ef97172c42eb4c6c26506f325f48463e9bc29b2034a587f1b9e48c751229bee" +dependencies = [ + "anyhow", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmtime", +] + [[package]] name = "sp-wasm-interface" version = "20.0.0" @@ -14013,10 +14385,26 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic", + "sp-arithmetic 23.0.0", "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] +[[package]] +name = "sp-weights" +version = "30.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9af6c661fe3066b29f9e1d258000f402ff5cc2529a9191972d214e5871d0ba87" +dependencies = [ + "bounded-collections", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 25.0.0", + "sp-debug-derive 14.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)", +] + [[package]] name = "spin" version = "0.5.2" @@ -14079,7 +14467,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", ] @@ -14097,7 +14485,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-weights", + "sp-weights 27.0.0", "xcm-procedural", ] @@ -14114,11 +14502,11 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-executor", ] @@ -14135,12 +14523,12 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 23.0.0", + "sp-core 28.0.0", + "sp-io 30.0.0", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", ] @@ -14178,6 +14566,51 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "storagext" +version = "0.1.0" +dependencies = [ + "anyhow", + "cid 0.11.1", + "clap", + "frame-support", + "hex", + "parity-scale-codec", + "primitives-proofs", + "serde", + "serde_json", + "subxt", + "subxt-signer", + "thiserror", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", + "url", +] + +[[package]] +name = "storagext-cli" +version = "0.1.0" +dependencies = [ + "anyhow", + "cid 0.11.1", + "clap", + "frame-support", + "hex", + "parity-scale-codec", + "primitives-proofs", + "serde", + "serde_json", + "storagext", + "subxt", + "subxt-signer", + "thiserror", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", + "url", +] + [[package]] name = "str0m" version = "0.5.1" @@ -14276,6 +14709,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "substrate-bip39" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b564c293e6194e8b222e52436bcb99f60de72043c7f845cf6c4406db4df121" +dependencies = [ + "hmac 0.12.1", + "pbkdf2", + "schnorrkel 0.11.4", + "sha2 0.10.8", + "zeroize", +] + [[package]] name = "substrate-build-script-utils" version = "11.0.0" @@ -14296,8 +14742,8 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 28.0.0", + "sp-runtime 31.0.1", ] [[package]] @@ -14322,11 +14768,11 @@ dependencies = [ "sc-client-api", "sc-rpc-api", "serde", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "trie-db", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-state-machine 0.35.0", + "sp-trie 29.0.0", + "trie-db 0.29.1", ] [[package]] @@ -14445,7 +14891,9 @@ dependencies = [ "scale-value", "serde", "serde_json", + "sp-core 31.0.0", "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 34.0.0", "subxt-metadata", "tracing", ] @@ -15094,6 +15542,17 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "tracing-log" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + [[package]] name = "tracing-log" version = "0.2.0" @@ -15105,13 +15564,45 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "ansi_term", + "chrono", + "lazy_static", + "matchers 0.0.1", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log 0.1.4", + "tracing-serde", +] + [[package]] name = "tracing-subscriber" version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ - "matchers", + "matchers 0.1.0", "nu-ansi-term", "once_cell", "parking_lot 0.12.3", @@ -15121,7 +15612,20 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log", + "tracing-log 0.2.0", +] + +[[package]] +name = "trie-db" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff28e0f815c2fea41ebddf148e008b077d2faddb026c9555b29696114d602642" +dependencies = [ + "hash-db", + "hashbrown 0.13.2", + "log", + "rustc-hex", + "smallvec", ] [[package]] @@ -15990,20 +16494,20 @@ dependencies = [ "serde_derive", "smallvec", "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-application-crypto 30.0.0", + "sp-arithmetic 23.0.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", "sp-consensus-beefy", - "sp-core", + "sp-core 28.0.0", "sp-genesis-builder", "sp-inherents", - "sp-io", + "sp-io 30.0.0", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 31.0.1", "sp-session", "sp-staking", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", @@ -16027,9 +16531,9 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core", - "sp-runtime", - "sp-weights", + "sp-core 28.0.0", + "sp-runtime 31.0.1", + "sp-weights 27.0.0", "staging-xcm", "staging-xcm-builder", ] @@ -16445,9 +16949,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-runtime", + "sp-runtime 31.0.1", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.13.0)", - "sp-weights", + "sp-weights 27.0.0", "staging-xcm", ] diff --git a/Cargo.toml b/Cargo.toml index 1967152d3..fb8f2c6ae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,10 +8,11 @@ repository = "https://github.com/eigerco/polka-storage" [workspace] members = [ "cli/polka-storage-provider", + "cli/polka-storage/storagext", + "cli/polka-storage/storagext-cli", "node", "pallets/market", "pallets/storage-provider", - "primitives/cli", "primitives/proofs", "runtime", "storage/mater", @@ -34,6 +35,7 @@ panic = 'abort' # Use abort on panic to reduce binary size substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-v1.13.0" } substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-v1.13.0" } +anyhow = "1.0.86" async-channel = "2.3.1" async-stream = "0.3.5" async-trait = "0.1.80" @@ -53,6 +55,7 @@ criterion = "0.5.1" digest = "0.10.7" env_logger = "0.11.2" futures = "0.3.28" +hex = "0.4.3" hex-literal = { version = "0.4.1" } indexmap = "2.2.6" integer-encoding = "4.0.0" @@ -101,6 +104,7 @@ pallet-market = { path = "pallets/market", default-features = false } pallet-storage-provider = { path = "pallets/storage-provider", default-features = false } polka-storage-runtime = { path = "runtime" } primitives-proofs = { path = "primitives/proofs", default-features = false } +storagext = { path = "cli/polka-storage/storagext" } # Substrate pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-v1.13.0" } diff --git a/PARACHAIN.md b/PARACHAIN.md index 1b1c38e09..003b69d07 100644 --- a/PARACHAIN.md +++ b/PARACHAIN.md @@ -72,5 +72,9 @@ you won't have access to the parachain extrinsics when calling them. Charlie however, is running a parachain node, and as such, he will be your contact point to the parachain. +> [!INFO] +> Charlie will always open port 42069 as per the [Zombienet configuration](zombienet/local-kube-testnet.toml). + +> [!INFO] > Check you Kubernetes cluster status by using `kubectl get pods --all-namespaces`. > It should show all pods from all namespaces along with their status. diff --git a/cli/artifacts/metadata.scale b/cli/artifacts/metadata.scale new file mode 100644 index 000000000..599139ec1 Binary files /dev/null and b/cli/artifacts/metadata.scale differ diff --git a/cli/polka-storage-provider/artifacts/metadata.scale b/cli/polka-storage-provider/artifacts/metadata.scale deleted file mode 100644 index edbf451d5..000000000 Binary files a/cli/polka-storage-provider/artifacts/metadata.scale and /dev/null differ diff --git a/cli/polka-storage-provider/src/substrate.rs b/cli/polka-storage-provider/src/substrate.rs index 97c73fcdc..447a98293 100644 --- a/cli/polka-storage-provider/src/substrate.rs +++ b/cli/polka-storage-provider/src/substrate.rs @@ -2,7 +2,7 @@ use polkadot::runtime_types::{frame_system::AccountInfo, pallet_balances::types: use subxt::{utils::AccountId32, Error, OnlineClient, PolkadotConfig}; use tracing::info; -#[subxt::subxt(runtime_metadata_path = "artifacts/metadata.scale")] +#[subxt::subxt(runtime_metadata_path = "../artifacts/metadata.scale")] pub mod polkadot {} // PolkadotConfig or SubstrateConfig will suffice for this example at the moment, diff --git a/cli/polka-storage/storagext-cli/Cargo.toml b/cli/polka-storage/storagext-cli/Cargo.toml new file mode 100644 index 000000000..1a83c41a1 --- /dev/null +++ b/cli/polka-storage/storagext-cli/Cargo.toml @@ -0,0 +1,34 @@ +[package] +authors.workspace = true +edition.workspace = true +homepage.workspace = true +license-file.workspace = true +name = "storagext-cli" +repository.workspace = true +version = "0.1.0" + +[features] +insecure_url = ["storagext/insecure_url"] + +[dependencies] +storagext.workspace = true + +anyhow.workspace = true +cid = { workspace = true, features = ["scale-codec"] } +clap = { workspace = true, features = ["derive"] } +codec.workspace = true +frame-support = { workspace = true, features = ["std"] } +hex.workspace = true +primitives-proofs = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +subxt = { workspace = true, features = ["jsonrpsee", "substrate-compat"] } +subxt-signer = { workspace = true, features = ["subxt"] } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["rt-multi-thread"] } +tracing = { workspace = true } +tracing-subscriber = { workspace = true, features = ["env-filter"] } +url = { workspace = true } + +[lints] +workspace = true diff --git a/cli/polka-storage/storagext-cli/README.md b/cli/polka-storage/storagext-cli/README.md new file mode 100644 index 000000000..c1b501d92 --- /dev/null +++ b/cli/polka-storage/storagext-cli/README.md @@ -0,0 +1,136 @@ +# storagext-cli + +CLI wrapper around `storagext`, it aims to provide an ergonomic way to execute the extrinsics made available by the Polka Storage Parachain. + +The CLI commands are namespaced according to the pallet you will be interacting with, +as such, if you want to interact with the `market` pallet, you can find it's functions under `storagext-cli market`. + +## Global Flags + +### Keypair — `--X-key` + +Extrinsics are *required* to be signed, as such you need to pass your key. + +You can pass it as an hex encoded string, seed key (BIP-39) or use the dev phrases available +(e.g. `//Alice` — remember that these are configured as Sr25519 keypairs by default). + +Depending on the type of key you use, you should use a different flag as well: + +* `--sr25519-key` for Sr25519 keypairs +* `--ecdsa-key` for ECDSA keypairs +* `--ed25519-key` for Ed25519 keypairs + +Example: + +``` +storagext-cli --sr25519-key "//Alice" ... +``` + +### RPC Address — `--node-rpc` + +If you so wish, you can also change the node RPC address, this is achieved through the `--node-rpc` flag. The address can be secure or not (i.e. use TLS). + +Secure if, for example, you are running the node behind a reverse proxy (like Nginx) which enables TLS for your connections: + +``` +storagext-cli --node-rpc wss://172.16.10.10:9944 ... +``` + +Or insecure if, for example, you are running the node locally, using just the standard setup. + +``` +storagext-cli --node-rpc ws://127.0.0.1:7331 ... +``` + + +## `market` + +The `market` subcommand enables you to interact with the `market` pallet, +this is one of the entrypoints for the parachain as you need to add some balance before you can make use of the parachain features. + +### `add-balance` + +Add a given amount of [Plancks](https://wiki.polkadot.network/docs/learn-DOT#the-planck-unit) to your free balance, +this will enable you to store your files in providers or provide space to others. + +``` +storagext-cli --sr25519-key market add-balance +``` + +### `withdraw-balance` + +The dual to `add-balance`, `withdraw-balance` allows you to reclaim back DOT from your free balance. +You cannot reclaim DOT from the locked balance, as it is necessary to pay out for faults, etc. + +``` +storagext-cli --sr25519-key market withdraw-balance +``` + +### `publish-storage-deals` + +As a storage provider, you are able to publish storage deals you have done off-chain. + +``` +storagext-cli --sr25519-key market publish-storage-deals +``` + +The command takes `deals` as a JSON array, containing one or more storage deals. + +
+Example Storage Deals JSON +

+ +```json +[ + { + "piece_cid": "bafkreibme22gw2h7y2h7tg2fhqotaqjucnbc24deqo72b6mkl2egezxhvy", + "piece_size": 47000000000, + "client": "5GvHnpY1433RytXW66r77iL4CyewAAErDU6fAouoaPKvcvLU", + "provider": "5DJiX75PZjvntUMeq7XP8qqJ3Tdg6F2Nybk9So1Z5mWArnG2", + "label": "737-800 schematics", + "start_block": 1580889600, + "end_block": 1721747575, + "storage_price_per_block": 17144352, + "provider_collateral": 3735928559, + "state": "Published" + }, + { + "piece_cid": "bafybeih5zgcgqor3dv6kfdtv3lshv3yfkfewtx73lhedgihlmvpcmywmua", + "piece_size": 269490583, + "client": "5GvHnpY1433RytXW66r77iL4CyewAAErDU6fAouoaPKvcvLU", + "provider": "5DJiX75PZjvntUMeq7XP8qqJ3Tdg6F2Nybk9So1Z5mWArnG2", + "label": "Falcon C-00000291", + "start_block": 1721410062, + "end_block": 1721747843, + "storage_price_per_block": 46349, + "provider_collateral": 3735928559, + "state": "Published" + } +] +``` + +

+
+ +However, writing a full JSON file in a single command is cumbersome, to solve that, +you prefix a file path with `@` and use the JSON file location instead: + +``` +storagext-cli --sr25519-key market publish-storage-deals @important-deals.json +``` + +### `settle-deal-payments` + +As a storage provider, you are entitled to your payment (when you are well behaved), +you can claim your payment by calling`settle-deal-payments`. The command takes a +list of IDs for the deals to be processed. + +> [!NOTE] +> The deal ID list is separated by spaces, for example: +> ``` +> settle_deal_payments 1203 1243 1254 +> ``` + +``` +storagext-cli --sr25519-key market settle-deal-payments +``` diff --git a/cli/polka-storage/storagext-cli/src/cmd/market.rs b/cli/polka-storage/storagext-cli/src/cmd/market.rs new file mode 100644 index 000000000..159387204 --- /dev/null +++ b/cli/polka-storage/storagext-cli/src/cmd/market.rs @@ -0,0 +1,115 @@ +use std::{path::PathBuf, str::FromStr}; + +use clap::Subcommand; +use primitives_proofs::DealId; +use storagext::{market::MarketClient, PolkaStorageConfig}; +use subxt::ext::sp_core::crypto::Ss58Codec; +use url::Url; + +use crate::DealProposal; + +/// List of [`DealProposal`]s to publish. +#[derive(Debug, Clone, serde::Deserialize)] +pub struct DealProposals(Vec); + +impl DealProposals { + /// Attempt to parse a command-line argument into [`DealProposals`]. + /// + /// The command-line argument may be a valid JSON object, or a file path starting with @. + fn parse(src: &str) -> Result { + Ok(if let Some(stripped) = src.strip_prefix('@') { + let path = PathBuf::from_str(stripped)?.canonicalize()?; + let mut file = std::fs::File::open(path)?; + serde_json::from_reader(&mut file) + } else { + serde_json::from_str(src) + }?) + } +} + +#[derive(Debug, Subcommand)] +#[command(name = "market", about = "CLI Client to the Market Pallet", version)] +pub enum MarketCommand { + /// Add balance to an account. + AddBalance { + /// Amount to add to the account. + amount: storagext::Currency, + }, + + /// Publish storage deals. + PublishStorageDeals { + /// Storage deals to publish. Either JSON or a file path, prepended with an @. + #[arg(value_parser = DealProposals::parse)] + deals: DealProposals, + }, + + /// Settle deal payments. + SettleDealPayments { + /// The IDs for the deals to settle. + deal_ids: Vec, + }, + + /// Withdraw balance from an account. + WithdrawBalance { + /// Amount to withdraw from the account. + amount: storagext::Currency, + }, +} + +impl MarketCommand { + /// Run a `market` command. + /// + /// Requires the target RPC address and a keypair able to sign transactions. + #[tracing::instrument( + level = "info", + skip_all, + fields( + node_rpc, + address = account_keypair.account_id().to_ss58check() + ) + )] + pub async fn run( + self, + node_rpc: Url, + account_keypair: Keypair, + ) -> Result<(), anyhow::Error> + where + Keypair: subxt::tx::Signer, + { + let client = MarketClient::new(node_rpc).await?; + match self { + MarketCommand::AddBalance { amount } => { + let block_hash = client.add_balance(&account_keypair, amount).await?; + tracing::info!( + "[{}] Successfully added {} to Market Balance", + block_hash, + amount + ); + } + MarketCommand::PublishStorageDeals { deals } => { + let block_hash = client + .publish_storage_deals( + &account_keypair, + deals.0.into_iter().map(Into::into).collect(), + ) + .await?; + tracing::info!("[{}] Successfully published storage deals", block_hash); + } + MarketCommand::SettleDealPayments { deal_ids } => { + let block_hash = client + .settle_deal_payments(&account_keypair, deal_ids) + .await?; + tracing::info!("[{}] Successfully settled deal payments", block_hash); + } + MarketCommand::WithdrawBalance { amount } => { + let block_hash = client.withdraw_balance(&account_keypair, amount).await?; + tracing::info!( + "[{}] Successfully withdrew {} from Market Balance", + block_hash, + amount + ); + } + } + Ok(()) + } +} diff --git a/cli/polka-storage/storagext-cli/src/cmd/mod.rs b/cli/polka-storage/storagext-cli/src/cmd/mod.rs new file mode 100644 index 000000000..60e5a3fee --- /dev/null +++ b/cli/polka-storage/storagext-cli/src/cmd/mod.rs @@ -0,0 +1 @@ +pub mod market; diff --git a/cli/polka-storage/storagext-cli/src/deser.rs b/cli/polka-storage/storagext-cli/src/deser.rs new file mode 100644 index 000000000..7528d6bc3 --- /dev/null +++ b/cli/polka-storage/storagext-cli/src/deser.rs @@ -0,0 +1,210 @@ +//! Types in this module are defined to enable deserializing them from the CLI arguments or similar. + +use std::fmt::Debug; + +use cid::Cid; +use storagext::{BlockNumber, Currency, PolkaStorageConfig}; +use subxt::ext::sp_core::crypto::Ss58Codec; + +#[derive(Clone, PartialEq, Eq)] +pub(crate) struct DebugPair(pub(crate) Pair) +where + Pair: subxt::ext::sp_core::Pair; + +impl Debug for DebugPair +where + Pair: subxt::ext::sp_core::Pair, +{ + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_tuple("DebugPair") + .field(&self.0.public().to_ss58check()) + .finish() + } +} + +impl DebugPair +where + Pair: subxt::ext::sp_core::Pair, +{ + pub fn value_parser(src: &str) -> Result { + Ok(Self(Pair::from_string(&src, None).map_err(|err| { + format!("failed to parse pair from string: {}", err) + })?)) + } +} + +/// CID doesn't deserialize from a string, hence we need our work wrapper. +/// +/// +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) struct CidWrapper(Cid); + +// The CID has some issues that require a workaround for strings. +// For more details, see: +impl<'de> serde::de::Deserialize<'de> for CidWrapper { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + let s = String::deserialize(deserializer)?; + let cid = Cid::try_from(s.as_str()).map_err(|e| { + serde::de::Error::custom(format!( + "failed to parse CID, check that the input is a valid CID: {e:?}" + )) + })?; + Ok(Self(cid)) + } +} + +#[derive(Debug, Clone, serde::Deserialize, PartialEq, Eq)] +pub(crate) struct DealProposal { + pub piece_cid: CidWrapper, + pub piece_size: u64, + pub client: ::AccountId, + pub provider: ::AccountId, + pub label: String, + pub start_block: BlockNumber, + pub end_block: BlockNumber, + pub storage_price_per_block: Currency, + pub provider_collateral: Currency, + pub state: storagext::runtime::runtime_types::pallet_market::pallet::DealState, +} + +impl Into for DealProposal { + fn into(self) -> storagext::DealProposal { + storagext::DealProposal { + piece_cid: self.piece_cid.0, + piece_size: self.piece_size, + client: self.client, + provider: self.provider, + label: self.label, + start_block: self.start_block, + end_block: self.end_block, + storage_price_per_block: self.storage_price_per_block, + provider_collateral: self.provider_collateral, + state: self.state.into(), + } + } +} + +#[cfg(test)] +mod test { + //! These tests basically ensure that the underlying parsers aren't broken without warning. + + use std::str::FromStr; + + use cid::Cid; + use storagext::PolkaStorageConfig; + use subxt::ext::sp_core::{ + ecdsa::Pair as ECDSAPair, ed25519::Pair as Ed25519Pair, sr25519::Pair as Sr25519Pair, + }; + + use super::{CidWrapper, DealProposal, DebugPair}; + + #[track_caller] + fn assert_debug_pair

(s: &str) + where + P: subxt::ext::sp_core::Pair, + { + let result_pair = DebugPair::

::value_parser(s).unwrap(); + let expect_pair = P::from_string(s, None).unwrap(); + + assert_eq!(result_pair.0.to_raw_vec(), expect_pair.to_raw_vec()); + } + + #[test] + fn deserialize_debug_pair_sr25519() { + assert_debug_pair::("//Alice"); + // https://docs.substrate.io/reference/glossary/#dev-phrase + // link visited on 23/7/2024 (you never know when Substrate's docs will become stale) + assert_debug_pair::( + "bottom drive obey lake curtain smoke basket hold race lonely fit walk", + ); + // secret seed for testing purposes + assert_debug_pair::( + "0xd045270857659c84705fbb367fd9644e5ab9b0c668f37c0bf28c6e72a120dd1f", + ); + } + + #[test] + fn deserialize_debug_pair_ecdsa() { + assert_debug_pair::("//Alice"); + // https://docs.substrate.io/reference/glossary/#dev-phrase + // link visited on 23/7/2024 (you never know when Substrate's docs will become stale) + assert_debug_pair::( + "bottom drive obey lake curtain smoke basket hold race lonely fit walk", + ); + // secret seed for testing purposes + assert_debug_pair::( + "0xd045270857659c84705fbb367fd9644e5ab9b0c668f37c0bf28c6e72a120dd1f", + ); + } + + #[test] + fn deserialize_debug_pair_ed25519() { + assert_debug_pair::("//Alice"); + // https://docs.substrate.io/reference/glossary/#dev-phrase + // link visited on 23/7/2024 (you never know when Substrate's docs will become stale) + assert_debug_pair::( + "bottom drive obey lake curtain smoke basket hold race lonely fit walk", + ); + // secret seed for testing purposes + assert_debug_pair::( + "0xd045270857659c84705fbb367fd9644e5ab9b0c668f37c0bf28c6e72a120dd1f", + ); + } + + #[test] + fn deserialize_cid_json_string() { + let result_cid = serde_json::from_str::( + "\"bafybeih5zgcgqor3dv6kfdtv3lshv3yfkfewtx73lhedgihlmvpcmywmua\"", + ) + .unwrap(); + let expect_cid = + Cid::from_str("bafybeih5zgcgqor3dv6kfdtv3lshv3yfkfewtx73lhedgihlmvpcmywmua").unwrap(); + assert_eq!(result_cid.0, expect_cid); + } + + #[test] + fn deserialize_deal_proposal_json_object() { + let json = r#" + { + "piece_cid": "bafkreibme22gw2h7y2h7tg2fhqotaqjucnbc24deqo72b6mkl2egezxhvy", + "piece_size": 1, + "client": "5GvHnpY1433RytXW66r77iL4CyewAAErDU6fAouoaPKvcvLU", + "provider": "5GvHnpY1433RytXW66r77iL4CyewAAErDU6fAouoaPKvcvLU", + "label": "heyyy", + "start_block": 30, + "end_block": 55, + "storage_price_per_block": 1, + "provider_collateral": 1, + "state": "Published" + } + "#; + let result_deal_proposal = serde_json::from_str::(json).unwrap(); + + let piece_cid = CidWrapper( + Cid::from_str("bafkreibme22gw2h7y2h7tg2fhqotaqjucnbc24deqo72b6mkl2egezxhvy").unwrap(), + ); + let expect_deal_proposal = DealProposal { + piece_cid, + piece_size: 1, + client: ::AccountId::from_str( + "5GvHnpY1433RytXW66r77iL4CyewAAErDU6fAouoaPKvcvLU", + ) + .unwrap(), + provider: ::AccountId::from_str( + "5GvHnpY1433RytXW66r77iL4CyewAAErDU6fAouoaPKvcvLU", + ) + .unwrap(), + label: "heyyy".to_string(), + start_block: 30, + end_block: 55, + storage_price_per_block: 1, + provider_collateral: 1, + state: storagext::DealState::Published, + }; + + assert_eq!(result_deal_proposal, expect_deal_proposal); + } +} diff --git a/cli/polka-storage/storagext-cli/src/main.rs b/cli/polka-storage/storagext-cli/src/main.rs new file mode 100644 index 000000000..568072f73 --- /dev/null +++ b/cli/polka-storage/storagext-cli/src/main.rs @@ -0,0 +1,139 @@ +#![deny(clippy::unwrap_used)] + +mod cmd; +mod deser; + +use std::fmt::Debug; + +use clap::{ArgGroup, Parser, Subcommand}; +use cmd::market::MarketCommand; +use deser::{DealProposal, DebugPair}; +use storagext::PolkaStorageConfig; +use subxt::ext::sp_core::{ + ecdsa::Pair as ECDSAPair, ed25519::Pair as Ed25519Pair, sr25519::Pair as Sr25519Pair, +}; +use tracing::level_filters::LevelFilter; +use tracing_subscriber::{ + filter, fmt, layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Layer, +}; +use url::Url; + +pub(crate) const FULL_NODE_DEFAULT_RPC_ADDR: &str = "ws://127.0.0.1:42069"; + +#[derive(Debug, Parser)] +#[command(group(ArgGroup::new("keypair").required(true).args( + &["sr25519_key", "ecdsa_key", "ed25519_key"] +)))] +struct Cli { + #[command(subcommand)] + pub subcommand: SubCommand, + + /// RPC server's URL. + #[arg(long, default_value = FULL_NODE_DEFAULT_RPC_ADDR)] + pub node_rpc: Url, + + /// Sr25519 keypair, encoded as hex, BIP-39 or a dev phrase like `//Alice`. + /// + /// See `sp_core::crypto::Pair::from_string_with_seed` for more information. + #[arg(long, value_parser = DebugPair::::value_parser)] + pub sr25519_key: Option>, + + /// ECDSA keypair, encoded as hex, BIP-39 or a dev phrase like `//Alice`. + /// + /// See `sp_core::crypto::Pair::from_string_with_seed` for more information. + #[arg(long, value_parser = DebugPair::::value_parser)] + pub ecdsa_key: Option>, + + /// Ed25519 keypair, encoded as hex, BIP-39 or a dev phrase like `//Alice`. + /// + /// See `sp_core::crypto::Pair::from_string_with_seed` for more information. + #[arg(long, value_parser = DebugPair::::value_parser)] + pub ed25519_key: Option>, +} + +#[derive(Debug, Subcommand)] +pub enum SubCommand { + // Perform market operations. + #[command(subcommand)] + Market(MarketCommand), +} + +impl SubCommand { + async fn run_with_keypair( + self, + node_rpc: Url, + account_keypair: Keypair, + ) -> Result<(), anyhow::Error> + where + Keypair: subxt::tx::Signer, + { + match self { + SubCommand::Market(cmd) => { + cmd.run(node_rpc, account_keypair).await?; + } + } + + Ok(()) + } +} + +#[tokio::main] +async fn main() -> Result<(), anyhow::Error> { + // Logger initialization. + tracing_subscriber::registry() + .with( + fmt::layer() + .with_filter( + EnvFilter::builder() + .with_default_directive(LevelFilter::INFO.into()) + .from_env()?, + ) + .with_filter(filter::filter_fn(|metadata| { + if let Some(module_path) = metadata.module_path() { + module_path.starts_with("storagext") + } else { + true + } + })), + ) + .init(); + + let cli_arguments = Cli::parse(); + + match ( + cli_arguments.sr25519_key, + cli_arguments.ecdsa_key, + cli_arguments.ed25519_key, + ) { + (Some(account_keypair), _, _) => { + cli_arguments + .subcommand + .run_with_keypair( + cli_arguments.node_rpc, + subxt::tx::PairSigner::new(account_keypair.0), + ) + .await? + } + (_, Some(account_keypair), _) => { + cli_arguments + .subcommand + .run_with_keypair( + cli_arguments.node_rpc, + subxt::tx::PairSigner::new(account_keypair.0), + ) + .await? + } + (_, _, Some(account_keypair)) => { + cli_arguments + .subcommand + .run_with_keypair( + cli_arguments.node_rpc, + subxt::tx::PairSigner::new(account_keypair.0), + ) + .await? + } + _ => unreachable!("should be handled by clap::ArgGroup"), + } + + Ok(()) +} diff --git a/cli/polka-storage/storagext/Cargo.toml b/cli/polka-storage/storagext/Cargo.toml new file mode 100644 index 000000000..b4e65a1a4 --- /dev/null +++ b/cli/polka-storage/storagext/Cargo.toml @@ -0,0 +1,35 @@ +[package] +authors.workspace = true +edition.workspace = true +homepage.workspace = true +license-file.workspace = true +name = "storagext" +repository.workspace = true +version = "0.1.0" + +[features] +default = [] +insecure_url = [] + +[dependencies] +anyhow.workspace = true +cid = { workspace = true, features = ["scale-codec"] } +clap = { workspace = true, features = ["derive"] } +codec.workspace = true +frame-support = { workspace = true, features = ["std"] } +hex.workspace = true +primitives-proofs = { workspace = true } +serde = { workspace = true, features = ["derive"] } +subxt = { workspace = true, features = ["jsonrpsee", "substrate-compat"] } +subxt-signer = { workspace = true, features = ["subxt"] } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["rt-multi-thread"] } +tracing = { workspace = true } +tracing-subscriber = { workspace = true, features = ["env-filter"] } +url = { workspace = true } + +[dev-dependencies] +serde_json = { workspace = true } + +[lints] +workspace = true diff --git a/cli/polka-storage/storagext/README.md b/cli/polka-storage/storagext/README.md new file mode 100644 index 000000000..77ae6f769 --- /dev/null +++ b/cli/polka-storage/storagext/README.md @@ -0,0 +1,8 @@ +# storagext + +Extrinsics library for the Polka Storage Parachain. + + +## Development note: + +`subxt` and `frame_support` don't play nice with eachother! diff --git a/cli/polka-storage/storagext/build.rs b/cli/polka-storage/storagext/build.rs new file mode 100644 index 000000000..f86754509 --- /dev/null +++ b/cli/polka-storage/storagext/build.rs @@ -0,0 +1,4 @@ +fn main() { + // This ensures that the library recompiles when the SCALE file suffers changes + println!("cargo::rerun-if-changed=../../artifacts/metadata.scale") +} diff --git a/cli/polka-storage/storagext/src/lib.rs b/cli/polka-storage/storagext/src/lib.rs new file mode 100644 index 000000000..9e6f70bc0 --- /dev/null +++ b/cli/polka-storage/storagext/src/lib.rs @@ -0,0 +1,113 @@ +use cid::Cid; +use codec::Encode; +use frame_support::CloneNoBound; +use subxt::{self, ext::sp_runtime::MultiSignature, tx::Signer, utils::Static}; + +pub mod market; +pub mod runtime; + +use crate::runtime::bounded_vec::IntoBoundedByteVec; +pub use crate::runtime::runtime_types::pallet_market::{ + pallet as market_pallet_types, + pallet::{ActiveDealState, DealState}, +}; + +/// Currency as specified by the SCALE-encoded runtime. +pub type Currency = u128; + +/// BlockNumber as specified by the SCALE-encoded runtime. +pub type BlockNumber = u64; + +/// Parachain configuration for subxt. +pub enum PolkaStorageConfig {} + +// Types are fully qualified ON PURPOSE! +// It's not fun to find out where in your config a type comes from subxt or frame_support +// going up and down, in and out the files, this helps! +impl subxt::Config for PolkaStorageConfig { + type Hash = subxt::utils::H256; + type AccountId = subxt::ext::sp_core::crypto::AccountId32; + type Address = subxt::config::polkadot::MultiAddress; + type Signature = subxt::ext::sp_runtime::MultiSignature; + type Hasher = subxt::config::substrate::BlakeTwo256; + type Header = subxt::config::substrate::SubstrateHeader< + BlockNumber, + subxt::config::substrate::BlakeTwo256, + >; + type ExtrinsicParams = subxt::config::DefaultExtrinsicParams; + type AssetId = u32; +} + +// We need this type because of the CID & label ergonomics. +#[derive(CloneNoBound)] +pub struct DealProposal { + pub piece_cid: Cid, + pub piece_size: u64, + pub client: ::AccountId, + pub provider: ::AccountId, + pub label: String, + pub start_block: BlockNumber, + pub end_block: BlockNumber, + pub storage_price_per_block: Currency, + pub provider_collateral: Currency, + pub state: market_pallet_types::DealState, +} + +// The following conversions have specific account ID types because of the subxt generation, +// the type required there is `subxt::ext::subxt_core::utils::AccountId32`, however, this type +// is not very useful on its own, it doesn't allow us to print an account ID as anything else +// other than an array of bytes, hence, we use a more generic type for the config +// `subxt::ext::sp_core::crypto::AccountId32` and convert back to the one generated by subxt. + +impl From + for market_pallet_types::DealProposal< + subxt::ext::subxt_core::utils::AccountId32, + Currency, + BlockNumber, + > +{ + fn from(value: DealProposal) -> Self { + Self { + piece_cid: value.piece_cid.into_bounded_byte_vec(), + piece_size: value.piece_size, + client: value.client.into(), + provider: value.provider.into(), + label: value.label.into_bounded_byte_vec(), + start_block: value.start_block, + end_block: value.end_block, + storage_price_per_block: value.storage_price_per_block, + provider_collateral: value.provider_collateral, + state: value.state, + } + } +} + +impl DealProposal { + fn sign( + self, + keypair: &Keypair, + ) -> market_pallet_types::ClientDealProposal< + subxt::ext::subxt_core::utils::AccountId32, + Currency, + BlockNumber, + Static, + > + where + Keypair: Signer, + Self: Into< + market_pallet_types::DealProposal< + subxt::ext::subxt_core::utils::AccountId32, + Currency, + BlockNumber, + >, + >, + { + let proposal: market_pallet_types::DealProposal<_, _, _> = self.into(); + let client_signature = Static(keypair.sign(&proposal.encode())); + + market_pallet_types::ClientDealProposal { + proposal, + client_signature, + } + } +} diff --git a/cli/polka-storage/storagext/src/market.rs b/cli/polka-storage/storagext/src/market.rs new file mode 100644 index 000000000..c87235b59 --- /dev/null +++ b/cli/polka-storage/storagext/src/market.rs @@ -0,0 +1,191 @@ +use hex::ToHex; +use primitives_proofs::DealId; +use subxt::{ext::sp_core::crypto::Ss58Codec, OnlineClient}; + +use crate::{ + runtime::{self}, + Currency, DealProposal, PolkaStorageConfig, +}; + +/// The maximum number of deal IDs supported. +// NOTE(@jmg-duarte,17/07/2024): ideally, should be read from the primitives or something +const MAX_N_DEALS: usize = 32; + +/// Client to interact with the market pallet extrinsics. +pub struct MarketClient { + client: OnlineClient, +} + +impl MarketClient { + /// Create a new [`MarketClient`] from a target `rpc_address`. + /// + /// By default, this function does not support insecure URLs, + /// to enable support for them, use the `insecure_url` feature. + pub async fn new(rpc_address: impl AsRef) -> Result { + let client = if cfg!(feature = "insecure_url") { + OnlineClient::<_>::from_insecure_url(rpc_address).await? + } else { + OnlineClient::<_>::from_url(rpc_address).await? + }; + + Ok(Self { client }) + } + + /// Withdraw the given `amount` of balance. + #[tracing::instrument( + level = "trace", + skip_all, + fields( + address = account_keypair.account_id().to_ss58check(), + amount = amount + ) + )] + pub async fn withdraw_balance( + &self, + account_keypair: &Keypair, + amount: Currency, + ) -> Result<::Hash, subxt::Error> + where + Keypair: subxt::tx::Signer, + { + let payload = runtime::tx().market().withdraw_balance(amount); + self.traced_submission(&payload, account_keypair).await + } + + /// Add the given `amount` of balance. + #[tracing::instrument( + level = "trace", + skip_all, + fields( + address = account_keypair.account_id().to_ss58check(), + amount = amount + ) + )] + pub async fn add_balance( + &self, + account_keypair: &Keypair, + amount: Currency, + ) -> Result<::Hash, subxt::Error> + where + Keypair: subxt::tx::Signer, + { + let payload = runtime::tx().market().add_balance(amount); + self.traced_submission(&payload, account_keypair).await + } + + /// Settle deal payments for the provided [`DealId`]s. + /// + /// If `deal_ids` length is bigger than [`MAX_DEAL_IDS`], it will get truncated. + #[tracing::instrument( + level = "trace", + skip_all, + fields( + address = account_keypair.account_id().to_ss58check(), + deal_ids = ?deal_ids + ) + )] + pub async fn settle_deal_payments( + &self, + account_keypair: &Keypair, + mut deal_ids: Vec, + ) -> Result<::Hash, subxt::Error> + where + Keypair: subxt::tx::Signer, + { + if deal_ids.len() > MAX_N_DEALS { + tracing::warn!("more than {} deal ids, truncating", MAX_N_DEALS); + deal_ids.truncate(MAX_N_DEALS); + } + // `deal_ids` has been truncated to fit the proper bound, however, + // the `BoundedVec` defined in the `runtime::runtime_types` is actually just a newtype + // making the `BoundedVec` actually unbounded + let bounded_unbounded_deal_ids = + runtime::runtime_types::bounded_collections::bounded_vec::BoundedVec(deal_ids); + + let payload = runtime::tx() + .market() + .settle_deal_payments(bounded_unbounded_deal_ids); + + self.traced_submission(&payload, account_keypair).await + } + + /// Publish the given storage deals. + /// + /// If `deals` length is bigger than [`MAX_DEAL_IDS`], it will get truncated. + #[tracing::instrument( + level = "trace", + skip_all, + fields( + address = account_keypair.account_id().to_ss58check() + ) + )] + pub async fn publish_storage_deals( + &self, + account_keypair: &Keypair, + mut deals: Vec, + ) -> Result<::Hash, subxt::Error> + where + Keypair: subxt::tx::Signer, + { + if deals.len() > MAX_N_DEALS { + tracing::warn!("more than {} deals, truncating", MAX_N_DEALS); + deals.truncate(MAX_N_DEALS); + } + + let signed_deal_proposals = deals + .into_iter() + .map(|deal| deal.sign(account_keypair)) + .collect(); + + // `deals` has been truncated to fit the proper bound, however, + // the `BoundedVec` defined in the `runtime::runtime_types` is actually just a newtype + // making the `BoundedVec` actually unbounded + let bounded_unbounded_deals = + runtime::runtime_types::bounded_collections::bounded_vec::BoundedVec( + signed_deal_proposals, + ); + + let payload = runtime::tx() + .market() + .publish_storage_deals(bounded_unbounded_deals); + + self.traced_submission(&payload, account_keypair).await + } + + /// Submit an extrinsic and wait for finalization, returning the block hash it was included in. + /// + /// Equivalent to performing [`OnlineClient::sign_and_submit_then_watch_default`], + /// followed by [`TxInBlock::wait_for_finalized`]. + async fn traced_submission( + &self, + call: &Call, + account_keypair: &Keypair, + ) -> Result<::Hash, subxt::Error> + where + Call: subxt::tx::Payload, + Keypair: subxt::tx::Signer, + { + tracing::trace!("submitting extrinsic"); + let submission_progress = self + .client + .tx() + .sign_and_submit_then_watch_default(call, account_keypair) + .await?; + + tracing::trace!( + extrinsic_hash = submission_progress.extrinsic_hash().encode_hex::(), + "waiting for finalization" + ); + let finalized_xt = submission_progress.wait_for_finalized().await?; + + // Wait for a successful inclusion because finalization != success + finalized_xt.wait_for_success().await?; + + let block_hash = finalized_xt.block_hash(); + tracing::trace!( + block_hash = block_hash.encode_hex::(), + "successfully submitted extrinsic" + ); + Ok(block_hash) + } +} diff --git a/cli/polka-storage/storagext/src/runtime/bounded_vec.rs b/cli/polka-storage/storagext/src/runtime/bounded_vec.rs new file mode 100644 index 000000000..3ea4526ed --- /dev/null +++ b/cli/polka-storage/storagext/src/runtime/bounded_vec.rs @@ -0,0 +1,28 @@ +//! This module implements utilities for [`BoundedVec`](runtime_types::bounded_collections::bounded_vec::BoundedVec), +//! such as conversion traits and others. + +use cid::CidGeneric; + +use super::runtime_types::bounded_collections::bounded_vec; + +/// Trait to convert `T` into a bounded vector of bytes. +/// +/// Due to Rust's orphan rule, we cannot implement `Into> for T` +/// where we don't own `T`, which turns out to be most of the useful cases; +/// much like [`Cid`] or [`String`], which don't have official representations in Substrate. +pub(crate) trait IntoBoundedByteVec { + /// Convert [`Self`] into a bounded vector of bytes. + fn into_bounded_byte_vec(self) -> bounded_vec::BoundedVec; +} + +impl IntoBoundedByteVec for CidGeneric<64> { + fn into_bounded_byte_vec(self) -> bounded_vec::BoundedVec { + bounded_vec::BoundedVec(self.to_bytes()) + } +} + +impl IntoBoundedByteVec for String { + fn into_bounded_byte_vec(self) -> bounded_vec::BoundedVec { + bounded_vec::BoundedVec(self.into_bytes()) + } +} diff --git a/cli/polka-storage/storagext/src/runtime/mod.rs b/cli/polka-storage/storagext/src/runtime/mod.rs new file mode 100644 index 000000000..2354c460c --- /dev/null +++ b/cli/polka-storage/storagext/src/runtime/mod.rs @@ -0,0 +1,82 @@ +//! This module covers the Runtime API extracted from SCALE-encoded runtime and extra goodies +//! to interface with the runtime. +//! +//! This module wasn't designed to be exposed to the final user of the crate. + +pub(crate) mod bounded_vec; + +#[subxt::subxt( + runtime_metadata_path = "../../artifacts/metadata.scale", + substitute_type( + path = "sp_runtime::MultiSignature", + with = "::subxt::utils::Static<::subxt::ext::sp_runtime::MultiSignature>" + ), + derive_for_all_types = "Clone, PartialEq, Eq", + derive_for_type( + path = "pallet_market::pallet::ActiveDealState", + derive = "::serde::Deserialize" + ), + derive_for_type( + path = "pallet_market::pallet::DealState", + derive = "::serde::Deserialize" + ) +)] +mod polka_storage_runtime {} + +// Using self keeps the import separate from the others +pub use self::polka_storage_runtime::*; + +#[cfg(test)] +mod test { + use crate::{ActiveDealState, DealState}; + + #[test] + fn ensure_serde_for_active_deal_state() { + let active_deal_state = serde_json::from_str::>( + r#"{ + "sector_number": 1, + "sector_start_block": 10, + "last_updated_block": 20, + "slash_block": null + }"#, + ) + .unwrap(); + + assert_eq!(active_deal_state.sector_number, 1); + assert_eq!(active_deal_state.sector_start_block, 10); + assert_eq!(active_deal_state.last_updated_block, Some(20)); + assert_eq!(active_deal_state.slash_block, None); + } + + #[test] + fn ensure_serde_for_deal_state_published() { + let deal_state = serde_json::from_str::>(r#""Published""#).unwrap(); + + assert_eq!(deal_state, DealState::Published); + } + + #[test] + fn ensure_serde_for_deal_state_active() { + let deal_state = serde_json::from_str::>( + r#"{ + "Active": { + "sector_number": 1, + "sector_start_block": 10, + "last_updated_block": 20, + "slash_block": null + } + }"#, + ) + .unwrap(); + + assert_eq!( + deal_state, + DealState::Active(ActiveDealState { + sector_number: 1, + sector_start_block: 10, + last_updated_block: Some(20), + slash_block: None + }) + ); + } +} diff --git a/pallets/market/.gitkeep b/pallets/market/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/primitives/cli/Cargo.toml b/primitives/cli/Cargo.toml deleted file mode 100644 index 6d9288b86..000000000 --- a/primitives/cli/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -authors.workspace = true -edition.workspace = true -homepage.workspace = true -license-file.workspace = true -name = "cli-primitives" -repository.workspace = true -version = "0.1.0" - -[dependencies] - -[lints] -workspace = true diff --git a/primitives/cli/src/lib.rs b/primitives/cli/src/lib.rs deleted file mode 100644 index 4534a2c5a..000000000 --- a/primitives/cli/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -#![deny(unused_crate_dependencies)] diff --git a/zombienet/local-kube-testnet.toml b/zombienet/local-kube-testnet.toml index 3c02e8576..0a860218f 100644 --- a/zombienet/local-kube-testnet.toml +++ b/zombienet/local-kube-testnet.toml @@ -28,4 +28,5 @@ args = ["--detailed-log-output", "-lparachain=debug,xcm=trace,runtime=trace"] command = "polka-storage-node" image = "polkadotstorage.azurecr.io/parachain-node:0.1.0" name = "charlie" +rpc_port = 42069 validator = true diff --git a/zombienet/local-testnet.toml b/zombienet/local-testnet.toml index 35151f15f..2c2ea2531 100644 --- a/zombienet/local-testnet.toml +++ b/zombienet/local-testnet.toml @@ -25,3 +25,4 @@ args = ["--detailed-log-output", "-lparachain=debug,xcm=trace,runtime=trace"] command = "target/release/polka-storage-node" name = "charlie" validator = true +ws_port = 42069